X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FInstallBootstrapFS.py;h=044209725b56775cc6612c57f7f4ddd10b81fcc3;hb=81695f5ec3f62b1fb7610388bed4825640d9c770;hp=24ea4bfd96c7620783c6d91a7a16b77955fd72d3;hpb=099b149838e51d6b04bb73073738bf1e4a5e67ad;p=bootmanager.git diff --git a/source/steps/InstallBootstrapFS.py b/source/steps/InstallBootstrapFS.py index 24ea4bf..0442097 100644 --- a/source/steps/InstallBootstrapFS.py +++ b/source/steps/InstallBootstrapFS.py @@ -15,6 +15,7 @@ import time from Exceptions import * import utils +import systeminfo import BootServerRequest import BootAPI @@ -78,6 +79,19 @@ def Run(vars, upgrade, log): bs_request = BootServerRequest.BootServerRequest(vars) + # in upgrade mode, since we skip InstallPartitionDisks + # we need to run this + if upgrade: + log.write("Upgrade mode init : Scanning for devices\n") + systeminfo.get_block_devices_dict(vars, log) + utils.sysexec_noerr("vgscan --mknodes", log) + utils.sysexec_noerr("vgchange -ay", log) + + # debugging info - show in either mode + utils.display_disks_status(PARTITIONS, "In InstallBootstrapFS", log) + + utils.breakpoint("we need to make /dev/mapper/* appear") + log.write("turning on swap space\n") utils.sysexec("swapon {}".format(PARTITIONS["swap"]), log) @@ -238,10 +252,12 @@ def Run(vars, upgrade, log): def CleanupSysimgBeforeUpgrade(sysimg, target_nodefamily, log): areas_to_cleanup = [ - '/usr/lib', + '/boot', + '/usr', '/var', '/etc', - '/boot', + '/run', + '/vsys', ] target_pldistro, target_fcdistro, target_arch = target_nodefamily.split('-') @@ -267,7 +283,11 @@ def CleanupSysimgBeforeUpgrade(sysimg, target_nodefamily, log): # moving from vservers to lxc also means another filesystem # so plain reinstall is the only option if installed_virt != 'lxc': - raise BootManagerException("Can only upgrade nodes running lxc containers (vservers not supported)") + message = """Can only upgrade nodes already running lxc containers +a node running vservers has its /vservers/ partition formatted as ext3 +and we need btrfs to move to containers +your only option here is reinstall""" + raise BootManagerException(message) # changing arch is not reasonable either if target_arch != installed_arch: