- utils.makedirs( SYSIMG_PATH )
-
- log.write( "mounting root file system\n" )
- utils.sysexec( "mount -t ext3 %s %s" % (PARTITIONS["root"],SYSIMG_PATH), log )
-
- log.write( "mounting vserver partition in root file system\n" )
- utils.makedirs( SYSIMG_PATH + "/vservers" )
- utils.sysexec( "mount -t ext3 %s %s/vservers" % (PARTITIONS["vservers"],
- SYSIMG_PATH), log )
-
- vars['ROOT_MOUNTED']= 1
+ utils.makedirs(SYSIMG_PATH)
+
+ log.write("mounting root file system\n")
+ utils.sysexec("mount -t ext3 {} {}".format(PARTITIONS["root"], SYSIMG_PATH), log)
+
+ fstype = 'ext3' if vars['virt']=='vs' else 'btrfs'
+
+ one_partition = vars['ONE_PARTITION']=='1'
+
+ if (not one_partition):
+ log.write("mounting vserver partition in root file system (type {})\n".format(fstype))
+ utils.makedirs(SYSIMG_PATH + "/vservers")
+ utils.sysexec("mount -t {} {} {}/vservers"\
+ .format(fstype, PARTITIONS["vservers"], SYSIMG_PATH), log)
+
+ if vars['virt']=='lxc':
+ # NOTE: btrfs quota is supported from version: >= btrfs-progs-0.20 (f18+)
+ # older versions will not recongize the 'quota' command.
+ log.write("Enabling btrfs quota on {}/vservers\n".format(SYSIMG_PATH))
+ utils.sysexec_noerr("btrfs quota enable {}/vservers".format(SYSIMG_PATH))
+
+ vars['ROOT_MOUNTED'] = 1
+
+ # this is now retrieved in GetAndUpdateNodeDetails
+ nodefamily = vars['nodefamily']
+ extensions = vars['extensions']
+ # the 'plain' option is for tests mostly
+ plain = vars['plain']
+ if plain:
+ download_suffix = ".tar"
+ uncompress_option = ""
+ log.write("Using plain bootstrapfs images\n")
+ else:
+ download_suffix = ".tar.bz2"
+ uncompress_option = "-j"
+ log.write("Using compressed bootstrapfs images\n")
+
+ log.write ("Using nodefamily={}\n".format(nodefamily))
+ if not extensions:
+ log.write("Installing only core software\n")
+ else:
+ log.write("Requested extensions {}\n".format(extensions))
+
+ bootstrapfs_names = [ nodefamily ] + extensions