You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vcl.apache.org by Matt Hogstrom <ma...@hogstrom.org> on 2009/06/07 03:04:39 UTC

Question about OS activation

Can someone provide me a pointer in the tree that outlines the various  
ways OS instances are intiialized?  I'm thinking of the low-level OS  
things like initial user IDs, network information, startup scripting,  
etc.  Specifically, I'm looking for how this is handled for multiple  
OSes.

I'll poke in the tree but if someone has a quick pointer that would be  
appreciated.

Thanks

Re: Question about OS activation

Posted by Matt Hogstrom <ma...@hogstrom.org>.
Thanks for the pointer .. I'll follow this up.

The reason I'm asking is that we're (me and some guys at IBM) are  
working on something that will initialize multiple OS types on various  
hypervisor platforms.  Of course, working for IBM this includes AIX  
and pSeries as well as Linux on System z :)

We're also looking into how to provide support for multiple  
hypervisors on Intel.  For what we're doing we need to cover lots of  
ground and are looking at a common framework based on OVF that can:

Will initialize the network
Create needed user credentials
Provide call back mechanisms to the manager that started the VM (so  
the manager can track the startup progress, in this case VCL)
Include an SSHD engine so we can contact the OS from the remote  
manager (regardless of OS)
Execute some arbitrary scripts to customize the image.

The above is a list of some of the functions.  For us this is to help  
orchestrate a startup for multiple virtual machines in a "system".

We're also looking at using Python as the scripting framework (so we  
can get some cross-platform functionality using Java if needed).

If this is interesting let me know.

Cheers


On Jun 9, 2009, at 10:25 AM, Andy Kurth wrote:

> Hi Matt,
> The OS tasks are handles by different OS modules.  An OS object is  
> created for each reservation being processed.  The module which gets  
> instantiated as the OS object depends on the OS of the image  
> assigned to the reservation.  I have begun some crude documentation  
> on the steps involved in processing a reservation here:
>
> http://cwiki.apache.org/confluence/display/VCL/Image+Load+Flow
>
> I would start by looking at the following subroutines in  
> Windows_mod.pm:
>
> -pre_capture() - gets called before an image is captured
> -post_load() - gets called after an image is loaded and SSH is  
> responding
> -reserve() - gets called when the computer has to be configured for  
> a particular user/reservation
> -sanitize() - gets called if a computer was reserved but the user  
> never logged in
>
> These methods are defined in the interface API for OS modules but  
> there is still some work to do to get all of the OS modules  
> aligned.  The specification is here:
> http://cwiki.apache.org/confluence/display/VCL/Operating+System+Module+Interface+Specification
>
> This page may also help (though my Gliffy diagrams somehow got  
> messed up):
> http://cwiki.apache.org/confluence/display/VCL/Operating+System+Module+Inheritance
>
> Please clarify if this isn't what you're looking for or have  
> additional questions.
>
> Hope this helps,
> Andy
>
>
> Matt Hogstrom wrote:
>> Can someone provide me a pointer in the tree that outlines the  
>> various ways OS instances are intiialized?  I'm thinking of the low- 
>> level OS things like initial user IDs, network information, startup  
>> scripting, etc.  Specifically, I'm looking for how this is handled  
>> for multiple OSes.
>> I'll poke in the tree but if someone has a quick pointer that would  
>> be appreciated.
>> Thanks
>


Re: Question about OS activation

Posted by Andy Kurth <an...@ncsu.edu>.
Hi Matt,
The OS tasks are handles by different OS modules.  An OS object is created for 
each reservation being processed.  The module which gets instantiated as the OS 
object depends on the OS of the image assigned to the reservation.  I have begun 
some crude documentation on the steps involved in processing a reservation here:

http://cwiki.apache.org/confluence/display/VCL/Image+Load+Flow

I would start by looking at the following subroutines in Windows_mod.pm:

-pre_capture() - gets called before an image is captured
-post_load() - gets called after an image is loaded and SSH is responding
-reserve() - gets called when the computer has to be configured for a particular 
user/reservation
-sanitize() - gets called if a computer was reserved but the user never logged in

These methods are defined in the interface API for OS modules but there is still 
some work to do to get all of the OS modules aligned.  The specification is here:
http://cwiki.apache.org/confluence/display/VCL/Operating+System+Module+Interface+Specification

This page may also help (though my Gliffy diagrams somehow got messed up):
http://cwiki.apache.org/confluence/display/VCL/Operating+System+Module+Inheritance

Please clarify if this isn't what you're looking for or have additional questions.

Hope this helps,
Andy


Matt Hogstrom wrote:
> Can someone provide me a pointer in the tree that outlines the various 
> ways OS instances are intiialized?  I'm thinking of the low-level OS 
> things like initial user IDs, network information, startup scripting, 
> etc.  Specifically, I'm looking for how this is handled for multiple OSes.
> 
> I'll poke in the tree but if someone has a quick pointer that would be 
> appreciated.
> 
> Thanks