diff --git a/lib/objects.py b/lib/objects.py index 537da31927c421f7335b2fcb1b1618aca36a9258..caa90b42ab3b9dbb475e1a8aeaac0ca9d3993ea7 100644 --- a/lib/objects.py +++ b/lib/objects.py @@ -165,6 +165,21 @@ def UpgradeDiskParams(diskparams): return result +def UpgradeNDParams(ndparams): + """Upgrade ndparams structure. + + @type ndparams: dict + @param ndparams: disk parameters to upgrade + @rtype: dict + @return: the upgraded node parameters dict + + """ + if ndparams is None: + ndparams = {} + + return FillDict(constants.NDC_DEFAULTS, ndparams) + + def MakeEmptyIPolicy(): """Create empty IPolicy dictionary. @@ -1473,8 +1488,7 @@ class Cluster(TaggableObject): if self.osparams is None: self.osparams = {} - if self.ndparams is None: - self.ndparams = constants.NDC_DEFAULTS + self.ndparams = UpgradeNDParams(self.ndparams) self.beparams = UpgradeGroupedParams(self.beparams, constants.BEC_DEFAULTS)