Revision bc5d0215 lib/cmdlib.py
b/lib/cmdlib.py | ||
---|---|---|
3496 | 3496 |
if self.op.master_netmask is not None: |
3497 | 3497 |
_ValidateNetmask(self.cfg, self.op.master_netmask) |
3498 | 3498 |
|
3499 |
if self.op.diskparams: |
|
3500 |
for dt_params in self.op.diskparams.values(): |
|
3501 |
utils.ForceDictType(dt_params, constants.DISK_DT_TYPES) |
|
3502 |
|
|
3499 | 3503 |
def ExpandNames(self): |
3500 | 3504 |
# FIXME: in the future maybe other cluster params won't require checking on |
3501 | 3505 |
# all nodes to be modified. |
... | ... | |
3628 | 3632 |
else: |
3629 | 3633 |
self.new_hvparams[hv_name].update(hv_dict) |
3630 | 3634 |
|
3635 |
# disk template parameters |
|
3636 |
self.new_diskparams = objects.FillDict(cluster.diskparams, {}) |
|
3637 |
if self.op.diskparams: |
|
3638 |
for dt_name, dt_params in self.op.diskparams.items(): |
|
3639 |
if dt_name not in self.op.diskparams: |
|
3640 |
self.new_diskparams[dt_name] = dt_params |
|
3641 |
else: |
|
3642 |
self.new_diskparams[dt_name].update(dt_params) |
|
3643 |
|
|
3631 | 3644 |
# os hypervisor parameters |
3632 | 3645 |
self.new_os_hvp = objects.FillDict(cluster.os_hvp, {}) |
3633 | 3646 |
if self.op.os_hvp: |
... | ... | |
3746 | 3759 |
self.cluster.osparams = self.new_osp |
3747 | 3760 |
if self.op.ndparams: |
3748 | 3761 |
self.cluster.ndparams = self.new_ndparams |
3762 |
if self.op.diskparams: |
|
3763 |
self.cluster.diskparams = self.new_diskparams |
|
3749 | 3764 |
|
3750 | 3765 |
if self.op.candidate_pool_size is not None: |
3751 | 3766 |
self.cluster.candidate_pool_size = self.op.candidate_pool_size |
... | ... | |
12463 | 12478 |
if self.op.ndparams: |
12464 | 12479 |
utils.ForceDictType(self.op.ndparams, constants.NDS_PARAMETER_TYPES) |
12465 | 12480 |
|
12481 |
if self.op.diskparams: |
|
12482 |
for templ in constants.DISK_TEMPLATES: |
|
12483 |
if templ not in self.op.diskparams: |
|
12484 |
self.op.diskparams[templ] = {} |
|
12485 |
utils.ForceDictType(self.op.diskparams[templ], constants.DISK_DT_TYPES) |
|
12486 |
else: |
|
12487 |
self.op.diskparams = self.cfg.GetClusterInfo().diskparams |
|
12488 |
|
|
12466 | 12489 |
def BuildHooksEnv(self): |
12467 | 12490 |
"""Build hooks env. |
12468 | 12491 |
|
... | ... | |
12485 | 12508 |
group_obj = objects.NodeGroup(name=self.op.group_name, members=[], |
12486 | 12509 |
uuid=self.group_uuid, |
12487 | 12510 |
alloc_policy=self.op.alloc_policy, |
12488 |
ndparams=self.op.ndparams) |
|
12511 |
ndparams=self.op.ndparams, |
|
12512 |
diskparams=self.op.diskparams) |
|
12489 | 12513 |
|
12490 | 12514 |
self.cfg.AddNodeGroup(group_obj, self.proc.GetECId(), check_uuid=False) |
12491 | 12515 |
del self.remove_locks[locking.LEVEL_NODEGROUP] |
... | ... | |
12732 | 12756 |
def CheckArguments(self): |
12733 | 12757 |
all_changes = [ |
12734 | 12758 |
self.op.ndparams, |
12759 |
self.op.diskparams, |
|
12735 | 12760 |
self.op.alloc_policy, |
12736 | 12761 |
] |
12737 | 12762 |
|
... | ... | |
12762 | 12787 |
utils.ForceDictType(self.op.ndparams, constants.NDS_PARAMETER_TYPES) |
12763 | 12788 |
self.new_ndparams = new_ndparams |
12764 | 12789 |
|
12790 |
if self.op.diskparams: |
|
12791 |
self.new_diskparams = dict() |
|
12792 |
for templ in constants.DISK_TEMPLATES: |
|
12793 |
if templ not in self.op.diskparams: |
|
12794 |
self.op.diskparams[templ] = {} |
|
12795 |
new_templ_params = _GetUpdatedParams(self.group.diskparams[templ], |
|
12796 |
self.op.diskparams[templ]) |
|
12797 |
utils.ForceDictType(new_templ_params, constants.DISK_DT_TYPES) |
|
12798 |
self.new_diskparams[templ] = new_templ_params |
|
12799 |
|
|
12765 | 12800 |
def BuildHooksEnv(self): |
12766 | 12801 |
"""Build hooks env. |
12767 | 12802 |
|
... | ... | |
12788 | 12823 |
self.group.ndparams = self.new_ndparams |
12789 | 12824 |
result.append(("ndparams", str(self.group.ndparams))) |
12790 | 12825 |
|
12826 |
if self.op.diskparams: |
|
12827 |
self.group.diskparams = self.new_diskparams |
|
12828 |
result.append(("diskparams", str(self.group.diskparams))) |
|
12829 |
|
|
12791 | 12830 |
if self.op.alloc_policy: |
12792 | 12831 |
self.group.alloc_policy = self.op.alloc_policy |
12793 | 12832 |
|
Also available in: Unified diff