Revision cd315ad9 test/py/cfgupgrade_unittest.py
b/test/py/cfgupgrade_unittest.py | ||
---|---|---|
78 | 78 |
def _LoadConfig(self): |
79 | 79 |
return serializer.LoadJson(utils.ReadFile(self.config_path)) |
80 | 80 |
|
81 |
def _LoadTestDataConfig(self, filename): |
|
82 |
return serializer.LoadJson(testutils.ReadTestData(filename)) |
|
83 |
|
|
81 | 84 |
def _CreateValidConfigDir(self): |
82 | 85 |
utils.WriteFile(self.noded_cert_path, data="") |
83 | 86 |
utils.WriteFile(self.known_hosts_path, data="") |
... | ... | |
140 | 143 |
utils.WriteFile(self.config_path, data=serializer.DumpJson({})) |
141 | 144 |
self.assertRaises(Exception, _RunUpgrade, self.tmpdir, False, True) |
142 | 145 |
|
146 |
def _TestUpgradeFromFile(self, filename, dry_run): |
|
147 |
cfg = self._LoadTestDataConfig(filename) |
|
148 |
self._TestUpgradeFromData(cfg, dry_run) |
|
149 |
|
|
143 | 150 |
def _TestSimpleUpgrade(self, from_version, dry_run, |
144 | 151 |
file_storage_dir=None, |
145 | 152 |
shared_file_storage_dir=None): |
... | ... | |
352 | 359 |
def testUpgradeFrom_2_6(self): |
353 | 360 |
self._TestSimpleUpgrade(constants.BuildVersion(2, 6, 0), False) |
354 | 361 |
|
362 |
def testUpgradeFrom_2_7(self): |
|
363 |
self._TestSimpleUpgrade(constants.BuildVersion(2, 7, 0), False) |
|
364 |
|
|
365 |
def testUpgradeFullConfigFrom_2_7(self): |
|
366 |
self._TestUpgradeFromFile("cluster_config_2.7.json", False) |
|
367 |
|
|
355 | 368 |
def testUpgradeCurrent(self): |
356 | 369 |
self._TestSimpleUpgrade(constants.CONFIG_VERSION, False) |
357 | 370 |
|
... | ... | |
366 | 379 |
self._TestSimpleUpgrade(constants.CONFIG_VERSION, False) |
367 | 380 |
self._RunDowngradeUpgrade() |
368 | 381 |
|
382 |
def testDowngradeFullConfig(self): |
|
383 |
"""Test for upgrade + downgrade combination.""" |
|
384 |
# This test can work only with the previous version of a configuration! |
|
385 |
# For 2.7, downgrading returns the original file only if group policies |
|
386 |
# don't override instance specs, so we need to use an ad-hoc configuration. |
|
387 |
oldconfname = "cluster_config_downgraded_2.7.json" |
|
388 |
self._TestUpgradeFromFile(oldconfname, False) |
|
389 |
_RunUpgrade(self.tmpdir, False, True, downgrade=True) |
|
390 |
oldconf = self._LoadTestDataConfig(oldconfname) |
|
391 |
newconf = self._LoadConfig() |
|
392 |
self.assertEqual(oldconf, newconf) |
|
393 |
|
|
394 |
def testDowngradeFullConfigBackwardFrom_2_7(self): |
|
395 |
"""Test for upgrade + downgrade + upgrade combination.""" |
|
396 |
self._TestUpgradeFromFile("cluster_config_2.7.json", False) |
|
397 |
self._RunDowngradeUpgrade() |
|
398 |
|
|
369 | 399 |
def _RunDowngradeTwice(self): |
370 | 400 |
"""Make sure that downgrade is idempotent.""" |
371 | 401 |
_RunUpgrade(self.tmpdir, False, True, downgrade=True) |
... | ... | |
378 | 408 |
self._TestSimpleUpgrade(constants.CONFIG_VERSION, False) |
379 | 409 |
self._RunDowngradeTwice() |
380 | 410 |
|
411 |
def testDowngradeTwiceFullConfigFrom_2_7(self): |
|
412 |
self._TestUpgradeFromFile("cluster_config_2.7.json", False) |
|
413 |
self._RunDowngradeTwice() |
|
414 |
|
|
381 | 415 |
def testUpgradeDryRunFrom_2_0(self): |
382 | 416 |
self._TestSimpleUpgrade(constants.BuildVersion(2, 0, 0), True) |
383 | 417 |
|
Also available in: Unified diff