diff --git a/lib/bootstrap.py b/lib/bootstrap.py index 726f7c4c7adfc0672e1cd4f0680be128e42877bf..440f568a312cc04051272405b32e4faf8ddc7729 100644 --- a/lib/bootstrap.py +++ b/lib/bootstrap.py @@ -463,6 +463,11 @@ def InitCluster(cluster_name, mac_prefix, # pylint: disable=R0913, R0914 " %s" % (template, utils.CommaJoin(unknown_params))) utils.ForceDictType(dt_params, constants.DISK_DT_TYPES) + try: + utils.VerifyDictOptions(diskparams, constants.DISK_DT_DEFAULTS) + except errors.OpPrereqError, err: + raise errors.OpPrereqError("While verify diskparam options: %s" % err, + errors.ECODE_INVAL) # set up ssh config and /etc/hosts sshline = utils.ReadFile(constants.SSH_HOST_RSA_PUB) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index ba6661c3830310ff9929dc25831775a95d724f0e..9716616d4b1a9795c101bd0d4d18e6447d9dfe42 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -3856,6 +3856,11 @@ class LUClusterSetParams(LogicalUnit): if self.op.diskparams: for dt_params in self.op.diskparams.values(): utils.ForceDictType(dt_params, constants.DISK_DT_TYPES) + try: + utils.VerifyDictOptions(self.op.diskparams, constants.DISK_DT_DEFAULTS) + except errors.OpPrereqError, err: + raise errors.OpPrereqError("While verify diskparams options: %s" % err, + errors.ECODE_INVAL) def ExpandNames(self): # FIXME: in the future maybe other cluster params won't require checking on @@ -13607,6 +13612,11 @@ class LUGroupAdd(LogicalUnit): utils.ForceDictType(self.op.diskparams[templ], constants.DISK_DT_TYPES) self.new_diskparams = self.op.diskparams + try: + utils.VerifyDictOptions(self.new_diskparams, constants.DISK_DT_DEFAULTS) + except errors.OpPrereqError, err: + raise errors.OpPrereqError("While verify diskparams options: %s" % err, + errors.ECODE_INVAL) else: self.new_diskparams = {} @@ -13968,6 +13978,11 @@ class LUGroupSetParams(LogicalUnit): # As we've all subdicts of diskparams ready, lets merge the actual # dict with all updated subdicts self.new_diskparams = objects.FillDict(diskparams, new_diskparams) + try: + utils.VerifyDictOptions(self.new_diskparams, constants.DISK_DT_DEFAULTS) + except errors.OpPrereqError, err: + raise errors.OpPrereqError("While verify diskparams options: %s" % err, + errors.ECODE_INVAL) if self.op.hv_state: self.new_hv_state = _MergeAndVerifyHvState(self.op.hv_state,