Revision a8282327
b/lib/client/gnt_group.py | ||
---|---|---|
135 | 135 |
@return: the desired exit code |
136 | 136 |
|
137 | 137 |
""" |
138 |
if (opts.ndparams is None and opts.alloc_policy is None |
|
139 |
and not opts.diskparams):
|
|
138 |
if (opts.ndparams is None and opts.alloc_policy is None and
|
|
139 |
not (opts.hv_state or opts.disk_state)):
|
|
140 | 140 |
ToStderr("Please give at least one of the parameters.") |
141 | 141 |
return 1 |
142 | 142 |
|
143 |
if opts.disk_state: |
|
144 |
disk_state = utils.FlatToDict(opts.disk_state) |
|
145 |
else: |
|
146 |
disk_state = {} |
|
147 |
|
|
148 |
hv_state = dict(opts.hv_state) |
|
149 |
|
|
143 | 150 |
diskparams = dict(opts.diskparams) |
144 | 151 |
op = opcodes.OpGroupSetParams(group_name=args[0], |
145 | 152 |
ndparams=opts.ndparams, |
146 | 153 |
alloc_policy=opts.alloc_policy, |
154 |
hv_state=hv_state, |
|
155 |
disk_state=disk_state, |
|
147 | 156 |
diskparams=diskparams) |
148 | 157 |
result = SubmitOrSend(op, opts) |
149 | 158 |
|
... | ... | |
237 | 246 |
"Lists all available fields for node groups"), |
238 | 247 |
"modify": ( |
239 | 248 |
SetGroupParams, ARGS_ONE_GROUP, |
240 |
[DRY_RUN_OPT, SUBMIT_OPT, ALLOC_POLICY_OPT, NODE_PARAMS_OPT, |
|
241 |
DISK_PARAMS_OPT], |
|
249 |
[DRY_RUN_OPT, SUBMIT_OPT, ALLOC_POLICY_OPT, NODE_PARAMS_OPT, HV_STATE_OPT,
|
|
250 |
DISK_STATE_OPT, DISK_PARAMS_OPT],
|
|
242 | 251 |
"<group_name>", "Alters the parameters of a node group"), |
243 | 252 |
"remove": ( |
244 | 253 |
RemoveGroup, ARGS_ONE_GROUP, [DRY_RUN_OPT], |
b/lib/cmdlib.py | ||
---|---|---|
12955 | 12955 |
self.op.ndparams, |
12956 | 12956 |
self.op.diskparams, |
12957 | 12957 |
self.op.alloc_policy, |
12958 |
self.op.hv_state, |
|
12959 |
self.op.disk_state |
|
12958 | 12960 |
] |
12959 | 12961 |
|
12960 | 12962 |
if all_changes.count(None) == len(all_changes): |
... | ... | |
12994 | 12996 |
utils.ForceDictType(new_templ_params, constants.DISK_DT_TYPES) |
12995 | 12997 |
self.new_diskparams[templ] = new_templ_params |
12996 | 12998 |
|
12999 |
if self.op.hv_state: |
|
13000 |
self.new_hv_state = _MergeAndVerifyHvState(self.op.hv_state, |
|
13001 |
self.group.hv_state_static) |
|
13002 |
|
|
13003 |
if self.op.disk_state: |
|
13004 |
self.new_disk_state = \ |
|
13005 |
_MergeAndVerifyDiskState(self.op.disk_state, |
|
13006 |
self.group.disk_state_static) |
|
13007 |
|
|
12997 | 13008 |
def BuildHooksEnv(self): |
12998 | 13009 |
"""Build hooks env. |
12999 | 13010 |
|
... | ... | |
13027 | 13038 |
if self.op.alloc_policy: |
13028 | 13039 |
self.group.alloc_policy = self.op.alloc_policy |
13029 | 13040 |
|
13041 |
if self.op.hv_state: |
|
13042 |
self.group.hv_state_static = self.new_hv_state |
|
13043 |
|
|
13044 |
if self.op.disk_state: |
|
13045 |
self.group.disk_state_static = self.new_disk_state |
|
13046 |
|
|
13030 | 13047 |
self.cfg.Update(self.group, feedback_fn) |
13031 | 13048 |
return result |
13032 | 13049 |
|
b/lib/objects.py | ||
---|---|---|
1145 | 1145 |
"ndparams", |
1146 | 1146 |
"diskparams", |
1147 | 1147 |
"serial_no", |
1148 |
"hv_state_static", |
|
1149 |
"disk_state_static", |
|
1148 | 1150 |
"alloc_policy", |
1149 | 1151 |
] + _TIMESTAMPS + _UUID |
1150 | 1152 |
|
b/lib/opcodes.py | ||
---|---|---|
1440 | 1440 |
_PNodeGroupAllocPolicy, |
1441 | 1441 |
_PGroupNodeParams, |
1442 | 1442 |
_PDiskParams, |
1443 |
_PHvState, |
|
1444 |
_PDiskState, |
|
1443 | 1445 |
] |
1444 | 1446 |
OP_RESULT = _TSetParamsResult |
1445 | 1447 |
|
b/man/gnt-group.rst | ||
---|---|---|
74 | 74 |
| **modify** |
75 | 75 |
| [--node-parameters=*NDPARAMS*] |
76 | 76 |
| [--alloc-policy=*POLICY*] |
77 |
| [--hypervisor-state *hvstate*] |
|
78 |
| [--disk-state *diskstate*] |
|
77 | 79 |
| {*group*} |
78 | 80 |
|
79 | 81 |
Modifies some parameters from the node group. |
80 | 82 |
|
81 |
The ``--node-parameters`` and ``--alloc-policy`` optiosn are documented |
|
82 |
in the **add** command above. |
|
83 |
The ``--node-parameters`` and ``--alloc-policy`` options are documented |
|
84 |
in the **add** command above. ``--hypervisor-state`` as well as |
|
85 |
``--disk-state`` are documented in detail in **ganeti**(7). |
|
83 | 86 |
|
84 | 87 |
REMOVE |
85 | 88 |
~~~~~~ |
Also available in: Unified diff