"""
if value in [None, constants.VALUE_AUTO]:
return None
- max_v = ipolicy[constants.MAX_ISPECS].get(name, value)
- min_v = ipolicy[constants.MIN_ISPECS].get(name, value)
+ max_v = ipolicy[constants.ISPECS_MAX].get(name, value)
+ min_v = ipolicy[constants.ISPECS_MIN].get(name, value)
if value > max_v or min_v > value:
return ("%s value %s is not in range [%s, %s]" %
(name, value, min_v, max_v))
nic_count = len(instance.nics)
test_settings = [
- (constants.MEM_SIZE_SPEC, mem_size),
- (constants.CPU_COUNT_SPEC, cpu_count),
- (constants.DISK_COUNT_SPEC, disk_count),
- (constants.NIC_COUNT_SPEC, nic_count),
- ] + map((lambda d: (constants.DISK_SIZE_SPEC, d)), disk_sizes)
+ (constants.ISPEC_MEM_SIZE, mem_size),
+ (constants.ISPEC_CPU_COUNT, cpu_count),
+ (constants.ISPEC_DISK_COUNT, disk_count),
+ (constants.ISPEC_NIC_COUNT, nic_count),
+ ] + map((lambda d: (constants.ISPEC_DISK_SIZE, d)), disk_sizes)
for (name, value) in test_settings:
test_result = _CheckMinMaxSpecs(name, ipolicy, value)
constants.LDP_DEFAULT_METAVG: dt_params[constants.DRBD_DEFAULT_METAVG],
constants.LDP_DISK_CUSTOM: dt_params[constants.DRBD_DISK_CUSTOM],
constants.LDP_NET_CUSTOM: dt_params[constants.DRBD_NET_CUSTOM],
+ constants.LDP_DYNAMIC_RESYNC: dt_params[constants.DRBD_DYNAMIC_RESYNC],
+ constants.LDP_PLAN_AHEAD: dt_params[constants.DRBD_PLAN_AHEAD],
+ constants.LDP_FILL_TARGET: dt_params[constants.DRBD_FILL_TARGET],
+ constants.LDP_DELAY_TARGET: dt_params[constants.DRBD_DELAY_TARGET],
+ constants.LDP_MAX_RATE: dt_params[constants.DRBD_MAX_RATE],
+ constants.LDP_MIN_RATE: dt_params[constants.DRBD_MIN_RATE],
}
drbd_params = \
else:
self.op.diskparams = self.cfg.GetClusterInfo().diskparams
- cluster = self.cfg.GetClusterInfo()
- full_ipolicy = cluster.SimpleFillIpolicy(self.op.ipolicy)
- objects.InstancePolicy.CheckParameterSyntax(full_ipolicy)
+ if self.op.ipolicy:
+ cluster = self.cfg.GetClusterInfo()
+ full_ipolicy = cluster.SimpleFillIPolicy(self.op.ipolicy)
+ objects.InstancePolicy.CheckParameterSyntax(full_ipolicy)
def BuildHooksEnv(self):
"""Build hooks env.
self.op.diskparams,
self.op.alloc_policy,
self.op.hv_state,
- self.op.disk_state
+ self.op.disk_state,
+ self.op.ipolicy,
]
if all_changes.count(None) == len(all_changes):
_MergeAndVerifyDiskState(self.op.disk_state,
self.group.disk_state_static)
+ if self.op.ipolicy:
+ g_ipolicy = {}
+ for key, value in self.op.ipolicy.iteritems():
+ g_ipolicy[key] = _GetUpdatedParams(self.group.ipolicy.get(key, {}),
+ value,
+ use_none=True)
+ utils.ForceDictType(g_ipolicy[key], constants.ISPECS_PARAMETER_TYPES)
+ self.new_ipolicy = g_ipolicy
+ objects.InstancePolicy.CheckParameterSyntax(self.new_ipolicy)
+
def BuildHooksEnv(self):
"""Build hooks env.
if self.op.disk_state:
self.group.disk_state_static = self.new_disk_state
+ if self.op.ipolicy:
+ self.group.ipolicy = self.new_ipolicy
+
self.cfg.Update(self.group, feedback_fn)
return result