On Fri, Sep 20, 2013 at 07:41:06PM +0200, Thomas Thrainer wrote: > The physical_id field is no longer supported in disk objects, so remove > it during upgrades. > > Signed-off-by: Thomas Thrainer <[email protected]> > --- > test/py/cfgupgrade_unittest.py | 6 ++++++ > tools/cfgupgrade | 3 +++ > 2 files changed, 9 insertions(+) > > diff --git a/test/py/cfgupgrade_unittest.py b/test/py/cfgupgrade_unittest.py > index 47ebd9d..09b16c4 100755 > --- a/test/py/cfgupgrade_unittest.py > +++ b/test/py/cfgupgrade_unittest.py > @@ -392,6 +392,12 @@ class TestCfgupgrade(unittest.TestCase): > _RunUpgrade(self.tmpdir, False, True, downgrade=True) > oldconf = self._LoadTestDataConfig(oldconfname) > newconf = self._LoadConfig() > + > + # downgrade from 2.10 to 2.9 does not add physical_id to disks, which is > ok > + for inst in oldconf["instances"].values(): > + for disk in inst["disks"]: > + del disk["physical_id"] > + > self.assertEqual(oldconf, newconf) > > def testDowngradeFullConfigBackwardFrom_2_7(self): > diff --git a/tools/cfgupgrade b/tools/cfgupgrade > index 0054d20..b280185 100755 > --- a/tools/cfgupgrade > +++ b/tools/cfgupgrade > @@ -194,6 +194,9 @@ def UpgradeInstances(config_data): > raise Error("Instance '%s' doesn't have a disks entry?!" % instance) > disks = iobj["disks"] > for idx, dobj in enumerate(disks): > + if "physical_id" in dobj: > + del dobj["physical_id"] > + > expected = "disk/%s" % idx > current = dobj.get("iv_name", "") > if current != expected: > -- > 1.8.4 >
LGTM. Thanks, Jose -- Jose Antonio Lopes Ganeti Engineering Google Germany GmbH Dienerstr. 12, 80331, München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores Steuernummer: 48/725/00206 Umsatzsteueridentifikationsnummer: DE813741370
