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