action="store_true", dest="groups",
help="Arguments are node groups instead of nodes")
+SHOW_MACHINE_OPT = cli_option("-M", "--show-machine-names", default=False,
+ action="store_true",
+ help="Show machine name for every line in output")
+
_EPO_PING_INTERVAL = 30 # 30 seconds between pings
_EPO_PING_TIMEOUT = 1 # 1 second
_EPO_REACHABLE_TIMEOUT = 15 * 60 # 15 minutes
utils.ForceDictType(diskparams[templ], constants.DISK_DT_TYPES)
# prepare ipolicy dict
+ ispecs_dts = opts.ipolicy_disk_templates # hate long var names
ipolicy_raw = \
objects.CreateIPolicyFromOpts(ispecs_mem_size=opts.ispecs_mem_size,
ispecs_cpu_count=opts.ispecs_cpu_count,
ispecs_disk_count=opts.ispecs_disk_count,
ispecs_disk_size=opts.ispecs_disk_size,
- ispecs_nic_count=opts.ispecs_nic_count)
- ipolicy = objects.FillDictOfDicts(constants.IPOLICY_DEFAULTS, ipolicy_raw)
- for value in ipolicy.values():
- utils.ForceDictType(value, constants.ISPECS_PARAMETER_TYPES)
+ ispecs_nic_count=opts.ispecs_nic_count,
+ ipolicy_disk_templates=ispecs_dts,
+ fill_all=True)
+ ipolicy = objects.FillIPolicy(constants.IPOLICY_DEFAULTS, ipolicy_raw)
if opts.candidate_pool_size is None:
opts.candidate_pool_size = constants.MASTER_POOL_SIZE_DEFAULT
for key in constants.IPOLICY_PARAMETERS:
ToStdout(" - %s", key)
_PrintGroupedParams(result["ipolicy"][key], roman=opts.roman_integers)
+ ToStdout(" - enabled disk templates: %s",
+ utils.CommaJoin(result["ipolicy"][constants.IPOLICY_DTS]))
return 0
for name in nodes:
result = srun.Run(name, "root", command)
ToStdout("------------------------------------------------")
- ToStdout("node: %s", name)
- ToStdout("%s", result.output)
+ if opts.show_machine_names:
+ for line in result.output.splitlines():
+ ToStdout("%s: %s", name, line)
+ else:
+ ToStdout("node: %s", name)
+ ToStdout("%s", result.output)
ToStdout("return code = %s", result.exit_code)
return 0
if ndparams is not None:
utils.ForceDictType(ndparams, constants.NDS_PARAMETER_TYPES)
+ ispecs_dts = opts.ipolicy_disk_templates
ipolicy = \
objects.CreateIPolicyFromOpts(ispecs_mem_size=opts.ispecs_mem_size,
ispecs_cpu_count=opts.ispecs_cpu_count,
ispecs_disk_count=opts.ispecs_disk_count,
ispecs_disk_size=opts.ispecs_disk_size,
- ispecs_nic_count=opts.ispecs_nic_count)
+ ispecs_nic_count=opts.ispecs_nic_count,
+ ipolicy_disk_templates=ispecs_dts)
mnh = opts.maintain_node_health
"[-n node...] <filename>", "Copies a file to all (or only some) nodes"),
"command": (
RunClusterCommand, [ArgCommand(min=1)],
- [NODE_LIST_OPT, NODEGROUP_OPT],
+ [NODE_LIST_OPT, NODEGROUP_OPT, SHOW_MACHINE_OPT],
"[-n node...] <command>", "Runs a command on all (or only some) nodes"),
"info": (
ShowClusterConfig, ARGS_NONE, [ROMAN_OPT],