Andy:
Question about:
my $management_node_keys = $self->data->get_vmhost_profile_datastore_path();
Sorry I forget to mention that. I define the key which management node
should use in datastore path in vmhost profile table. So in that way, users
can define different keys to login to the different IBM accounts. For
instances, there 3 IBM Cloud accounts on the same management node. Different
Cloud accounts have different keys they try to use. So in the vmhost profile
table, we define the IBM Cloud account username, password and the key should
be used.
I think how to design this is still a open quesiton. Generally, different
IBM Cloud account may belong to different organizations, for instance,
different departments own different IBM Cloud accounts for university
scenario, so they would pay billing seperately. They may not want to share
the key to each other and may want to update the keys for different reasons.
So our current method can simplify the user's usage. However, this method
also make the code more complex and make IBM OS modules are more different
from any other OS modules which also only own one NIC.
Thanks,
Xianqing Yu
------
Graduate Research Assistant, Cyber Defense Lab
Department of Computer Science
North Carolina State University, Raleigh, NC
E-mail: x...@ncsu.edu
-----Original Message-----
From: Andy Kurth
Sent: Monday, April 25, 2011 12:56 PM
To: vcl-dev@incubator.apache.org
Subject: Re: The CCMP module for IBM Cloud
I have taken a look at your modules. It would be good to update the
existing OS modules to handle both a single NIC and dual NICs. This
would be pretty easy for the Windows OS code. Linux would take more work.
I think the best way to accomplish this will be to first update the
Windows code to support a single NIC and then move as much code as
possible up to OS.pm. I'll look into doing this for VCL 2.3.
I have a question about the following:
my $management_node_keys = $self->data->get_vmhost_profile_datastore_path();
Why was this variable assignment was changed throughout the code from
the original?:
my $management_node_keys = $self->data->get_management_node_keys();
-Andy
On 4/20/2011 10:58 PM, Xianqing Yu 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.
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.
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?
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