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