diff --git a/lib/cli.py b/lib/cli.py index a4c0de3946a19dd875032bec167d1a3b85015e8a..32e1a0fb4690a681f6a200afa012e028c836aa3a 100644 --- a/lib/cli.py +++ b/lib/cli.py @@ -54,6 +54,7 @@ __all__ = [ "BACKEND_OPT", "BLK_OS_OPT", "CAPAB_MASTER_OPT", + "CAPAB_VM_OPT", "CLEANUP_OPT", "CLUSTER_DOMAIN_SECRET_OPT", "CONFIRM_OPT", @@ -875,6 +876,10 @@ CAPAB_MASTER_OPT = cli_option("--master-capable", dest="master_capable", type="bool", default=None, metavar=_YORNO, help="Set the master_capable flag on the node") +CAPAB_VM_OPT = cli_option("--vm-capable", dest="vm_capable", + type="bool", default=None, metavar=_YORNO, + help="Set the vm_capable flag on the node") + ALLOCATABLE_OPT = cli_option("--allocatable", dest="allocatable", type="bool", default=None, metavar=_YORNO, help="Set the allocatable flag on a volume") diff --git a/lib/client/gnt_node.py b/lib/client/gnt_node.py index 26e5ca8d192dfcb310612d0effbe23057ade0e97..28586d502604db2af4cd6229d83d12bf7a4e34e8 100644 --- a/lib/client/gnt_node.py +++ b/lib/client/gnt_node.py @@ -649,7 +649,9 @@ def SetNodeParams(opts, args): @return: the desired exit code """ - if [opts.master_candidate, opts.drained, opts.offline].count(None) == 3: + all_changes = [opts.master_candidate, opts.drained, opts.offline, + opts.master_capable, opts.vm_capable] + if all_changes.count(None) == len(all_changes): ToStderr("Please give at least one of the parameters.") return 1 @@ -658,6 +660,7 @@ def SetNodeParams(opts, args): offline=opts.offline, drained=opts.drained, master_capable=opts.master_capable, + vm_capable=opts.vm_capable, force=opts.force, auto_promote=opts.auto_promote) @@ -709,7 +712,8 @@ commands = { (utils.CommaJoin(_LIST_HEADERS), utils.CommaJoin(_LIST_DEF_FIELDS))), 'modify': ( SetNodeParams, ARGS_ONE_NODE, - [FORCE_OPT, SUBMIT_OPT, MC_OPT, DRAINED_OPT, OFFLINE_OPT, CAPAB_MASTER_OPT, + [FORCE_OPT, SUBMIT_OPT, MC_OPT, DRAINED_OPT, OFFLINE_OPT, + CAPAB_MASTER_OPT, CAPAB_VM_OPT, AUTO_PROMOTE_OPT, DRY_RUN_OPT, PRIORITY_OPT], "<node_name>", "Alters the parameters of a node"), 'powercycle': ( diff --git a/man/gnt-node.sgml b/man/gnt-node.sgml index 39e169f7323cd77a3a4d3d36ee61b4c69f7dd9f7..e876b0cbaa0b2f29f406a9e5be0950e022aeb715 100644 --- a/man/gnt-node.sgml +++ b/man/gnt-node.sgml @@ -627,6 +627,7 @@ <arg>--drained=<option>yes|no</option></arg> <arg>--offline=<option>yes|no</option></arg> <arg>--master-capable=<option>yes|no</option></arg> + <arg>--vm-capable=<option>yes|no</option></arg> <arg>--auto-promote</arg> <arg choice="req"><replaceable>node</replaceable></arg> </cmdsynopsis>