Revision 78521495
b/lib/utils/version.py | ||
---|---|---|
119 | 119 |
return "can only downgrade one minor version at a time" |
120 | 120 |
|
121 | 121 |
return None |
122 |
|
|
123 |
|
|
124 |
def ShouldCfgdowngrade(version, current=CURRENT_VERSION): |
|
125 |
"""Decide whether cfgupgrade --downgrade should be called. |
|
126 |
|
|
127 |
Given the current version and the version to change to, decide |
|
128 |
if in the transition process cfgupgrade --downgrade should |
|
129 |
be called |
|
130 |
|
|
131 |
@param version: The version to upgrade to as (major, minor, revision) |
|
132 |
@type version: tuple |
|
133 |
@param current: The versino to upgrade from as (major, minor, revision) |
|
134 |
@type current: tuple |
|
135 |
@rtype: bool |
|
136 |
@return: True, if cfgupgrade --downgrade should be called. |
|
137 |
|
|
138 |
""" |
|
139 |
return version[0] == current[0] and version[1] == current[1] - 1 |
b/test/py/ganeti.utils.version_unittest.py | ||
---|---|---|
56 | 56 |
self.assertEquals(version.UpgradeRange((2,10,0), current=(2,9,0)), |
57 | 57 |
"automatic upgrades only supported from 2.10 onwards") |
58 | 58 |
|
59 |
class ShouldCfgdowngradeTest(unittest.TestCase): |
|
60 |
def testShouldCfgDowngrade(self): |
|
61 |
self.assertTrue(version.ShouldCfgdowngrade((2,9,3), current=(2,10,0))) |
|
62 |
self.assertTrue(version.ShouldCfgdowngrade((2,9,0), current=(2,10,4))) |
|
63 |
self.assertFalse(version.ShouldCfgdowngrade((2,9,0), current=(2,11,0))) |
|
64 |
self.assertFalse(version.ShouldCfgdowngrade((2,9,0), current=(3,10,0))) |
|
65 |
self.assertFalse(version.ShouldCfgdowngrade((2,10,0), current=(3,10,0))) |
|
66 |
|
|
59 | 67 |
|
60 | 68 |
if __name__ == "__main__": |
61 | 69 |
testutils.GanetiTestProgram() |
Also available in: Unified diff