[Planetlab-devel] problem with layering bootstrapfs images one on top of another

Stephen Soltesz soltesz at CS.Princeton.EDU
Wed Mar 19 14:29:04 EST 2008


My understanding of the current bootstrafs image and installation scheme:

  - a default image exists for all nodes in the system.
  - secondary images, identified by nodegroup names, may also exist.

The BM iterates over all the files that might apply to a node based on its 
nodegroup and the default fs image, downloads each one and incrementally applies 
each on top of the other.  Let me know if I have misunderstood the intention.

I have observed the following problem on PLC when applying the bootstrapfs-alpha 
on top of the current bootstrapfs-planetlab-i386.tar.bz2.

When I prevent the default image from being installed, first the installation 
succeeds.  Something is occurring when overwriting the first filesystem with the 
alpha filesystem that causes some corruption.  I'm writing this here in case 
others have any ideas.

In general, this seems to me like a bad idea to just layer one fs on top of 
another.  I think it might be valuable to have two different types of downloads: 
  1) filesystems and 2) addons to a specific filesystem.  I find it very easy to 
imagine cases where layering filesystems will break the resulting one.

My proposal would be that only one filesystem would be downloaded per node. 
This could be identified by a specially names nodegroup, 'alpha-image', and any 
addons identified by 'alpha-addon-xyz'.  I'm open to other mechanisms; my main 
point is just that only one filesystem should be downloaded for a node.

Is there a better way to avoid installing the 'default' image on nodes that have 
nodegroup images?  That might be the simplest thing.

Thank you,
Stephen.


    Step: Install: bootstrapfs tarball.
    turning on swap space
    mounting root file system
    mounting vserver partition in root file system
    downloading bootstrapfs-planetlab-i386.tar.bz2
    Using SSL without pycurl will by default check at least standard certs.
    extracting /tmp/mnt/sysimg/bootstrapfs-planetlab-i386.tar.bz2 in 
/tmp/mnt/sysimg
    Done
    downloading bootstrapfs-alpha-i386.tar.bz2
    Using SSL without pycurl will by default check at least standard certs.
    extracting /tmp/mnt/sysimg/bootstrapfs-alpha-i386.tar.bz2 in /tmp/mnt/sysimg
    Done
    Copying resolv.conf to temp dir
    Copying boot server certificates and public key


    Step: Install: Writing configuration files.
    Setting local time to UTC
    Enabling ntp at boot
    failed to glob pattern /etc/rc0.d/[SK][0-9][0-9]messagebus: Unknown error 530


    Exception while running: Running chroot /tmp/mnt/sysimg chkconfig ntpd on 
failed (rc=256)

    Step: Updating node boot state at PLC.
    Successfully updated boot state for this node at PLC



More information about the Devel mailing list