On Wed, Apr 20, 2011 at 10:58 PM, Xianqing Yu <yu267155...@hotmail.com> wrote:
> Hi Aaron:
>
> Thank you for taking time to look at that code. I will update the code very 
> soon according to you suggestion.
>
>> I see your powering off the nodes in certain cases, after each reclaim and 
>> at the end of block allocations. Can you explain more about that?
> Because IBM Cloud will charge the IBM Cloud Account for any running machines, 
> no matter if there is user using or not. So in order to minimize the cost, we 
> want to make sure there is no running machines in IBM Cloud when users don't 
> make a reservation. So there are several ways we achieve that.
>

Makes sense.

> First, when the user end one reservation, VCL daemon would call the load 
> function in CCMP module, load function at this time would check the userid, 
> node's status and block allocation computer table. When load function finds 
> out userid is "vclreload", the node is running, and the node is not inside 
> block allocation computer pool, it would power off the node and return.  So 
> the node would not be reload after the reservation.
>
> Second, the code would power off the node if it detects any errors during 
> provisioning process. For instance, when provisioning request failed, or 
> provisioned instance doesn't get the IP address, or reservation is canceled 
> before the whole load function finishing, the code would initiate power off 
> process to power off the instance and delete it inside IBM Cloud.
>
> Third, we make block allocation works with CCMP module. However, (correct me 
> if I am wrong) currently VCL code would not power off nodes which belong to 
> the block allocation node's pool when block allocation time expired. So we 
> add some codes inside blockrequest.pm to power off those nodes when time 
> expired. In order to avoid interfere other parts of VCL, the code we added 
> would only check the nodes which are using ccmp module as provisioning module.
>

Cool. I suggest to make a general power_off routine in the ccmp.pm
module, then it can be called from anywhere once the module is loaded,
resulting in a call similar to:

Within ccmp.pm
$self->power_off();

In blockrequest.pm, since this module is not pulling in the full
datastructure we have a couple of options.
short-term - load in the ccmp.pm provisioning module.
eval "use $provisioning_perl_package";
my $power_off_status = eval "&$provisioning_perl_package" .
'::power_off($info->{computertable}->{$cid});';

Long-term solution would be to call the vcl api.



>>
>> In the OS modules, what are main changes there? What version were you 
>> working against? I see a lot of little changes, but many may be related to 
>> the differences in the version your were working on. Ideally we would want 
>> to extend the OS modules to handle what would be needed to work with all the 
>> provisioning modules.
>
> The main reason we create a separate OS module is that the instance in IBM 
> Cloud only has one network connection which is public network. And 
> traditional OS module, like Linux module and Windows Module, would fetch both 
> configurations for public ethernet network card and private ethernet network 
> card. So the way we get around this is that our code would always return the 
> public network's configuration when VCL daemon request configuration 
> information for public NIC or private NIC. The OS modules is based on VCL 2.2 
> OS modules, linux.pm and windows.pm, I may make a lot of changes when I 
> develop and test these modules. So if extend original OS modules is the best 
> way, I can extend both modules, and then send you guys the code to check, 
> sounds good?

Yes I think it would be best to extend the OS modules to handle only 1
nic. This is something we've had in the road map or maybe in a jira
issue.

Aaron


>
> Again, thank you for your time,
>
> Xianqing Yu
>
> ------
> Graduate Research Assistant, Cyber Defense Lab
> Department of Computer Science
> North Carolina State University, Raleigh, NC
> E-mail: x...@ncsu.edu
>
>
> On Apr 20, 2011, at 4:29 PM, Aaron Peeler wrote:
>
>> Hi Milen, Xianqing,
>>
>> Thanks for the update.
>>
>> Overall the code looks really good.
>>
>> Some suggestions, which would help clean up the code a little bit.
>>
>> I see your making sql calls directly in the ccmp module.
>> Something to help simplify is to use these routines.
>>
>> database_select()
>> database_execute()
>>
>> These database_* routines will check for and create a db handle if needed. 
>> Also if we every need to move away from mysql to another
>>
>> Some other ones related to sql statements:
>> for the blockComputers check you can use
>> is_inblockrequest($computer_id)
>> to see if a user deleted a request you can use this routine
>> is_request_deleted($request_id)
>>
>> In your does_image_exist routine. You can do away with the Check in the 
>> local database and only confirm the image is available in the IBM cloud.
>> If the image wasn't in the local VCL database, then the user request would 
>> not be able to get that far anyway.
>>
>>
>> Also you might be able to make use of the variable table.
>> An example starts on line 250 in the xCAT2.pm provisioning module
>> if($self->data->is_variable_set($variable_name)){
>>  notify($ERRORS{'DEBUG'}, 0, "throttle is  set for $variable_name");
>>  #fetch variable
>>  $xcat_throttle = $self->data->get_variable($variable_name);
>> }
>>
>> The variable table can used to handle variables that do not have a home or 
>> that need to be flexible.
>>
>> I see your powering off the nodes in certain cases, after each reclaim and 
>> at the end of block allocations. Can you explain more about that?
>>
>> In the OS modules, what are main changes there? What version were you 
>> working against? I see a lot of little changes, but many may be related to 
>> the differences in the version your were working on. Ideally we would want 
>> to extend the OS modules to handle what would be needed to work with all the 
>> provisioning modules.
>>
>> Thanks again for your work,
>> Aaron
>>
>>
>>
>> On 4/20/11 11:47 AM, Milen P Paskov wrote:
>>> Hello community,
>>>
>>> There is now a JIRA issue with the code attached to it
>>> (https://issues.apache.org/jira/browse/VCL-457). We are currently
>>> working on getting some more documentation and will upload once we have it.
>>>
>>> Here is a link about IBM Cloud where you can find some more information
>>> about it:
>>> http://www-935.ibm.com/services/us/igs/cloud-development/#tab:overview/#leadspace:default
>>>
>>>
>>> Best Regards,
>>> Milen Paskov
>>> WSTI Intern
>>> mppas...@us.ibm.com
>>>
>>> Inactive hide details for Aaron Peeler ---04/19/2011 09:37:57 AM---Hi
>>> Milen, Please discuss the module details on this list so Aaron Peeler
>>> ---04/19/2011 09:37:57 AM---Hi Milen, Please discuss the module details
>>> on this list so others are aware of
>>>
>>> From: Aaron Peeler <aaron_pee...@ncsu.edu>
>>> To: vcl-dev@incubator.apache.org
>>> Date: 04/19/2011 09:37 AM
>>> Subject: Re: The CCMP module for IBM Cloud
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>>
>>> Hi Milen,
>>>
>>> Please discuss the module details on this list so others are aware of
>>> it. All development discussions should be done on this list for
>>> community public record.
>>>
>>> For instance, Talk about what the module is doing. What sort of changes
>>> need to take place on the management node? What changes in the db?
>>>
>>> Have you created a Jira issue for it yet?
>>>
>>> Thanks,
>>> Aaron
>>>
>>> On 4/18/11 5:39 PM, Milen P Paskov wrote:
>>> > Hi Aaron,
>>> >
>>> > As we are very close to NCSU campus me and Xianqing will be able to drop
>>> > by on Wednesday, how does 9am sound. Then we can discuss the module in
>>> > detail as well as what needs to be done to test it in a production VCL.
>>> >
>>> > Once again we would like to thank you and NCSU for the opportunity to
>>> > test our module
>>> >
>>> > Best Regards,
>>> > Milen Paskov
>>> > WSTI Intern
>>> > mppas...@us.ibm.com
>>> >
>>> > Inactive hide details for Aaron Peeler ---04/15/2011 12:58:53 PM---Hi
>>> > Milen, This is great. We'd like to test it here at NCSU.Aaron Peeler
>>> > ---04/15/2011 12:58:53 PM---Hi Milen, This is great. We'd like to test
>>> > it here at NCSU.
>>> >
>>> > From: Aaron Peeler <aaron_pee...@ncsu.edu>
>>> > To: vcl-dev@incubator.apache.org
>>> > Date: 04/15/2011 12:58 PM
>>> > Subject: Re: The CCMP module for IBM Cloud
>>> >
>>> > ------------------------------------------------------------------------
>>> >
>>> >
>>> >
>>> > Hi Milen,
>>> >
>>> > This is great. We'd like to test it here at NCSU.
>>> >
>>> > If you haven't already do so, please create a JIRA issue for this and
>>> > add any info you can to it. Normally you can attached the code for the
>>> > module to the jira issue for review, but I can only assume you have to
>>> > some kind of clearance from IBM legal.
>>> >
>>> > Just let us know the next steps to be able to review and test it out.
>>> >
>>> > Thanks,
>>> > Aaron
>>> >
>>> > On 4/15/11 10:14 AM, Milen P Paskov wrote:
>>> > > Hello community,
>>> > >
>>> > > I would like to bring some more attention to this topic as the module
>>> > > has taken shape.
>>> > >
>>> > > The idea behind this module is that university as well as anyone else
>>> > > interested in VCL will be able to have access to additional resources.
>>> > > Hardware can be expensive and not everyone can afford to buy some just
>>> > > to test VCL. Using this module one can set up VCL on a local machine or
>>> > > one on IBM Cloud and provision images on the IBM Cloud. Images on IBM
>>> > > Cloud can be modified and saved just like a regular VCL. In
>>> addition the
>>> > > module can be used to increase the capacity of of currently
>>> > operational VCL.
>>> > >
>>> > > Currently the module is fully functional with Linux images and can
>>> > > provision Windows images, but it can not save the Windows images. The
>>> > > module has been tested within IBM, but we are looking for ways to try
>>> > > and test on a production VCL.
>>> > >
>>> > > Best Regards,
>>> > > Milen Paskov
>>> > > WSTI Intern
>>> > > mppas...@us.ibm.com
>>> > >
>>> > > Inactive hide details for Aaron Peeler ---12/10/2010 02:54:51 PM---Hi
>>> > > Xianqing, Sounds great, look forward to seeing it (hopefuAaron Peeler
>>> > > ---12/10/2010 02:54:51 PM---Hi Xianqing, Sounds great, look forward to
>>> > > seeing it (hopefully it will get IBM
>>> > >
>>> > > From: Aaron Peeler <aaron_pee...@ncsu.edu>
>>> > > To: vcl-dev@incubator.apache.org
>>> > > Date: 12/10/2010 02:54 PM
>>> > > Subject: Re: The CCMP module for IBM Cloud
>>> > >
>>> > >
>>> ------------------------------------------------------------------------
>>> > >
>>> > >
>>> > >
>>> > > Hi Xianqing,
>>> > >
>>> > > Sounds great, look forward to seeing it (hopefully it will get IBM
>>> > > approval for donation).
>>> > >
>>> > > Aaron
>>> > >
>>> > > On 12/10/10 10:49 AM, Xianqing Yu wrote:
>>> > > > Hello VCL community,
>>> > > >
>>> > > > I have been working on a new provisioning module (ccmp module) for
>>> > > VCL. With this module the VCL will be able to provision instances
>>> on the
>>> > > IBM Developer Could. Milen Paskov was working on the project, and now I
>>> > > take over it. I updated the module and now the module is under the
>>> > > testing. I think we can contribute ccmp module and documentation
>>> > > relative to the module to VCL community in January next year.
>>> > > >
>>> > > >
>>> > > > Best Regards,
>>> > > >
>>> > > > Xianqing Yu
>>> > > > WSTI Intern
>>> > > > y...@us.ibm.com
>>> > >
>>> > >
>>> > > --
>>> > >
>>> > > Aaron Peeler
>>> > > Program Manager
>>> > > Virtual Computing Lab
>>> > > NC State University
>>> > > aaron_pee...@ncsu.edu
>>> > > 919-513-4571
>>> > >
>>> > >
>>> >
>>> > --
>>> > Aaron Peeler
>>> > Program Manager
>>> > Virtual Computing Lab
>>> > NC State University
>>> >
>>>
>>> --
>>> Aaron Peeler
>>> Program Manager
>>> Virtual Computing Lab
>>> NC State University
>>>
>>
>> --
>> Aaron Peeler
>> Program Manager
>> Virtual Computing Lab
>> NC State University
>>
>
>



-- 
Aaron Peeler
Program Manager
Virtual Computing Lab
NC State University

Reply via email to