I have reached a point where I am able to boot the ppc using the statelite images created using genimage. But, I was wondering how significant the following command is.

nodeset <nodename> image

I got the same error that Prem had mentioned.

power01: Error: Unable to identify plugin for this command, check relevant tables: nodetype.os
Error: Some nodes failed to set up image resources, aborting

I tried changing the 'os' field to 'image' under nodetype, that doesn't seem to help. I get the same error even after the change. 'arch' in my case is set to 'ppc64'.

Also, I think partimage plugin needs to be changed to support the ppc architecture, from what you had mentioned in the other thread.

I am not sure what the command 'nodeset <nodename> image' does, but, I am able to boot the statelite images by making changes to the yaboot configuration files. The ppc blade currently uses LVM, that needs to be replaced with ext2/ext3 from what I read from the other thread, am I right? Also, just out of curiosity I left the statelite image to boot with my current setting. I can see the xcat script throwing an error-

/opt/xcat/xcatdsklspost: line 229: /xcatpost/getpostscript.awk: No such file or directory
/tmp/mypostscript: line 16: updateflag.awk: command not found

both getpostscript.awk & updateflag.awk are not found in the rootimg created by genimage. Is there any place I could find these scripts?

Also, please correct me if there is anything wrong with the procedure I am following.

Thanks in advance.


On 6/13/11 4:13 PM, Josh Thompson wrote:

 From what I remember, I didn't have to do much to the rootimg.gz image to make
it work.  I created the files I supply before xCAT started using "statelite"
instead of "stateless".  I think statelite uses NFS to mount the image, and
stateless uses an image file downloaded to the node and run out of RAM.  Since
generating a statelite image is pretty straightforward use of xCAT, you may
want to ask on the xcat-user email list for help with it.

Unless you can have the admins of the other dhcp server on your network
exclude the MAC addresses of your blades, you'll need to create a separate
private network to control your VCL stuff, either physically or with VLANs.

If they can exclude the MACs, you can set up the dhcp server on your
management node to only answer to requests from your blades.


On Monday June 13, 2011, Sunil Venkatesh wrote:

Again, Thank you for your valuable inputs. I have got to the point where
I can get the compute node to boot using the stateless images. I had to
manually configure the netboot since we already had a DHCP server which
is not the same as our Management node. Since our setup is not in an
isolated environment, I could not let xcat handle the dhcp&  netboot
configuration (it messed up out network configuration when i let xcat
handle it,we had 2 dhcp servers running at that point). Are you aware of
any way to let xcat handle such scenarios?

Although I am able to get the compute node to boot with the kernel image
&  initrd, and NFS mount the rootimg that was generated using 'genimage',
I am getting the following error on the compute node's console -

      FATAL error: could not get the entries from litefile table...

after going thru the init-scripts, I found out 'xCATCmd' binary is not
present in the rootimg. I am currently checking the xcat packages for
its availability. If you know the procedure to get it onto the compute
node, please let me know the same.

Appreciate your support.

Thanking you,

On 6/8/11 9:02 AM, Josh Thompson wrote:

I don't recall seeing any documentation on those parts.  I had to poke
around looking at parts of xCAT to see how it worked.  It's been a few
years since I did that; so, I don't remember much about the process.  My
recommendation would be to start looking at things in the rootimg.gz
image.  Looking at it now, I see that /opt/xcat/xcatdsklspost gets run
when rootimg.gz boots.  It looks like it downloads all of the
postscripts from the management node and then run getpostscript.awk
which issues a command to xcatd to get the primary postscript for that
machine.  I've forgotten how xcatd then builds the primary postscript.
I do remember that in the module, I had it add the
partimageng postscript.

So, you'll really have to start digging through how the xcat postscript
system works.


On Tuesday June 07, 2011, Sunil Venkatesh wrote:

Is there any place I could find some details on

"... /Once the compute node is booted with the stateless
image, it uses NFS to mount some things from the management node, and
then runs some xcat postscripts,/.... "

I have the stateless images ready with partimage compiled for PPC. For
the compute node (power 7) to boot using the stateless images, i need to
configure the yaboot instead of pxeboot (which is specific to x86). I
wanted to know where in the startup files the execution of partimage and
NFS mount is configured. Is it configured by the "genimage" command
itself? Considering the way in which the nodes are configured in the
network, it would not be a good idea to let xcat take care of
configuring the details like DHCPD for netboot. So, I need to make
changes to the configuration files manually, which is why this query
came up.

Thanks in advance.


On 6/1/11 1:39 PM, Josh Thompson wrote:

The "stateless" image I refer to is what is actually booted on the
compute node containing the image to be captured.  It's called
stateless because it is loaded completely in RAM and does not maintain
any state when a reboot occurs.

The partimage binary is part of this stateless image and actually runs
on the compute node.  It does not run on the management node.  The
management node does not have block level access to the disk on the
compute node to be able to capture the image from the disk.

I'll try to describe the process a little better.  The management node
issues a reboot command to the compute node.  The compute node uses PXE
to load and boot a kernel (vmlinuz), initial RAM disk (initrd.img), and
a root filesystem (rootimg.gz) from the management node.  All three of
these together make up the stateless image.  Once the compute node is
booted with the stateless image, it uses NFS to mount some things from
the management node, and then runs some xcat postscripts, one of which
is the partimageng postscript.  This postscript determines what
partitions are on the compute node and, depending on how the postscript
is configured, uses partimage or partimageng to capture an image of the
compute node disk that is then saved to the management node. When it is
finished capturing the image, it notifies xcat on the management node
and then reboots.  xcat reconfigures itself to tell the compute node to
boot off of disk at next boot.  When the compute node comes up, it uses
PXE to ask the management node how to boot.  The management node tells
it to boot off of disk.

I hope that clarifies how the system works.  If any of it is unclear,
please ask for further clarification.


On Wednesday June 01, 2011, Sunil Venkatesh wrote:

I had one more clarification.

partimage binaries run in the management node to capture an
(stateless) image from the compute node right? In that case, is there
a need for these binaries to go into the rootimg.gz??

My assumption is, partimage runs on the management node (an intel
blade in our case) to capture a stateless image from a compute node
(a power 7 blade) and stores these images under " /install " of the
management node. Please correct me if I am wrong here.


On 6/1/11 9:58 AM, Josh Thompson wrote:
Hash: SHA1

On Tuesday May 31, 2011, Sunil Venkatesh wrote:

I used the steps that were mentioned under
ar ti mag e+and+partimage- ng+to+xCAT+2.x+%28unofficial%29

to enable partimage support for xcat. I wasn't sure if I need to
change references to x86&     x86_64 (as directories) to reflect the
ppc architecture, as the web page says "The architecture for the
node must always be set to x86 for this..". I have with me the
vmlinuz (kernel image) and initrd for the capture process. The 2
nodeset commands
By this, do you mean you have vmlinuz and initrd for your power
blades, not the ones linked to off of the page you listed above?  If
you do, that's a good start.  However, you'll also need rootimg.gz.
rootimg.gz is the root filesystem for the stateless image.  It also
contains the partimage and partimageng binaries.  Assuming partimage
or partimageng can actually capture partitions from power systems,
you'll need to compile at least one of them to run on power.  For
the rootimg.gz image I provided, I compiled them statically so that
I didn't have to worry about including any library dependencies in

It would be a good idea to research how to use xcat's genimage
command to generate stateless images to learn how to do this.

If there's any part of the above that you don't fully understand,
please ask me to clarify it.  Until you have a stateless image that
you can deploy to your power blades, there's no point in trying to
debug any VCL specific items.

- --
- -------------------------------
Josh Thompson
VCL Developer
North Carolina State University

my GPG/PGP key can be found at
Version: GnuPG v2.0.17 (GNU/Linux)


Reply via email to