Revision 0e79564a lib/client/gnt_cluster.py
b/lib/client/gnt_cluster.py | ||
---|---|---|
367 | 367 |
return 0 |
368 | 368 |
|
369 | 369 |
|
370 |
def _PrintGroupedParams(paramsdict, level=1, roman=False):
|
|
371 |
"""Print Grouped parameters (be, nic, disk) by group.
|
|
370 |
def _FormatGroupedParams(paramsdict, roman=False):
|
|
371 |
"""Format Grouped parameters (be, nic, disk) by group.
|
|
372 | 372 |
|
373 | 373 |
@type paramsdict: dict of dicts |
374 | 374 |
@param paramsdict: {group: {param: value, ...}, ...} |
375 |
@type level: int
|
|
376 |
@param level: Level of indention
|
|
375 |
@rtype: dict of dicts
|
|
376 |
@return: copy of the input dictionaries with strings as values
|
|
377 | 377 |
|
378 | 378 |
""" |
379 |
indent = " " * level
|
|
380 |
for item, val in sorted(paramsdict.items()):
|
|
379 |
ret = {}
|
|
380 |
for (item, val) in paramsdict.items():
|
|
381 | 381 |
if isinstance(val, dict): |
382 |
ToStdout("%s- %s:", indent, item) |
|
383 |
_PrintGroupedParams(val, level=level + 1, roman=roman) |
|
382 |
ret[item] = _FormatGroupedParams(val, roman=roman) |
|
384 | 383 |
elif roman and isinstance(val, int): |
385 |
ToStdout("%s %s: %s", indent, item, compat.TryToRoman(val))
|
|
384 |
ret[item] = compat.TryToRoman(val)
|
|
386 | 385 |
else: |
387 |
ToStdout("%s %s: %s", indent, item, val) |
|
386 |
ret[item] = str(val) |
|
387 |
return ret |
|
388 | 388 |
|
389 | 389 |
|
390 | 390 |
def ShowClusterConfig(opts, args): |
... | ... | |
400 | 400 |
cl = GetClient(query=True) |
401 | 401 |
result = cl.QueryClusterInfo() |
402 | 402 |
|
403 |
ToStdout("Cluster name: %s", result["name"]) |
|
404 |
ToStdout("Cluster UUID: %s", result["uuid"]) |
|
405 |
|
|
406 |
ToStdout("Creation time: %s", utils.FormatTime(result["ctime"])) |
|
407 |
ToStdout("Modification time: %s", utils.FormatTime(result["mtime"])) |
|
408 |
|
|
409 |
ToStdout("Master node: %s", result["master"]) |
|
410 |
|
|
411 |
ToStdout("Architecture (this node): %s (%s)", |
|
412 |
result["architecture"][0], result["architecture"][1]) |
|
413 |
|
|
414 | 403 |
if result["tags"]: |
415 | 404 |
tags = utils.CommaJoin(utils.NiceSort(result["tags"])) |
416 | 405 |
else: |
417 | 406 |
tags = "(none)" |
418 |
|
|
419 |
ToStdout("Tags: %s", tags) |
|
420 |
|
|
421 |
ToStdout("Default hypervisor: %s", result["default_hypervisor"]) |
|
422 |
ToStdout("Enabled hypervisors: %s", |
|
423 |
utils.CommaJoin(result["enabled_hypervisors"])) |
|
424 |
|
|
425 |
ToStdout("Hypervisor parameters:") |
|
426 |
_PrintGroupedParams(result["hvparams"]) |
|
427 |
|
|
428 |
ToStdout("OS-specific hypervisor parameters:") |
|
429 |
_PrintGroupedParams(result["os_hvp"]) |
|
430 |
|
|
431 |
ToStdout("OS parameters:") |
|
432 |
_PrintGroupedParams(result["osparams"]) |
|
433 |
|
|
434 |
ToStdout("Hidden OSes: %s", utils.CommaJoin(result["hidden_os"])) |
|
435 |
ToStdout("Blacklisted OSes: %s", utils.CommaJoin(result["blacklisted_os"])) |
|
436 |
|
|
437 |
ToStdout("Cluster parameters:") |
|
438 |
ToStdout(" - candidate pool size: %s", |
|
439 |
compat.TryToRoman(result["candidate_pool_size"], |
|
440 |
convert=opts.roman_integers)) |
|
441 |
ToStdout(" - master netdev: %s", result["master_netdev"]) |
|
442 |
ToStdout(" - master netmask: %s", result["master_netmask"]) |
|
443 |
ToStdout(" - use external master IP address setup script: %s", |
|
444 |
result["use_external_mip_script"]) |
|
445 |
ToStdout(" - lvm volume group: %s", result["volume_group_name"]) |
|
446 | 407 |
if result["reserved_lvs"]: |
447 | 408 |
reserved_lvs = utils.CommaJoin(result["reserved_lvs"]) |
448 | 409 |
else: |
449 | 410 |
reserved_lvs = "(none)" |
450 |
ToStdout(" - lvm reserved volumes: %s", reserved_lvs) |
|
451 |
ToStdout(" - drbd usermode helper: %s", result["drbd_usermode_helper"]) |
|
452 |
ToStdout(" - file storage path: %s", result["file_storage_dir"]) |
|
453 |
ToStdout(" - shared file storage path: %s", |
|
454 |
result["shared_file_storage_dir"]) |
|
455 |
ToStdout(" - maintenance of node health: %s", |
|
456 |
result["maintain_node_health"]) |
|
457 |
ToStdout(" - uid pool: %s", uidpool.FormatUidPool(result["uid_pool"])) |
|
458 |
ToStdout(" - default instance allocator: %s", result["default_iallocator"]) |
|
459 |
ToStdout(" - primary ip version: %d", result["primary_ip_version"]) |
|
460 |
ToStdout(" - preallocation wipe disks: %s", result["prealloc_wipe_disks"]) |
|
461 |
ToStdout(" - OS search path: %s", utils.CommaJoin(pathutils.OS_SEARCH_PATH)) |
|
462 |
ToStdout(" - ExtStorage Providers search path: %s", |
|
463 |
utils.CommaJoin(pathutils.ES_SEARCH_PATH)) |
|
464 |
ToStdout(" - enabled storage types: %s", |
|
465 |
utils.CommaJoin(result["enabled_storage_types"])) |
|
466 |
|
|
467 |
ToStdout("Default node parameters:") |
|
468 |
_PrintGroupedParams(result["ndparams"], roman=opts.roman_integers) |
|
469 |
|
|
470 |
ToStdout("Default instance parameters:") |
|
471 |
_PrintGroupedParams(result["beparams"], roman=opts.roman_integers) |
|
472 |
|
|
473 |
ToStdout("Default nic parameters:") |
|
474 |
_PrintGroupedParams(result["nicparams"], roman=opts.roman_integers) |
|
475 |
|
|
476 |
ToStdout("Default disk parameters:") |
|
477 |
_PrintGroupedParams(result["diskparams"], roman=opts.roman_integers) |
|
478 |
|
|
479 |
ToStdout("Instance policy - limits for instances:") |
|
480 |
for key in constants.IPOLICY_ISPECS: |
|
481 |
ToStdout(" - %s", key) |
|
482 |
_PrintGroupedParams(result["ipolicy"][key], roman=opts.roman_integers) |
|
483 |
ToStdout(" - enabled disk templates: %s", |
|
484 |
utils.CommaJoin(result["ipolicy"][constants.IPOLICY_DTS])) |
|
485 |
for key in constants.IPOLICY_PARAMETERS: |
|
486 |
ToStdout(" - %s: %s", key, result["ipolicy"][key]) |
|
487 | 411 |
|
412 |
info = [ |
|
413 |
("Cluster name", result["name"]), |
|
414 |
("Cluster UUID", result["uuid"]), |
|
415 |
|
|
416 |
("Creation time", utils.FormatTime(result["ctime"])), |
|
417 |
("Modification time", utils.FormatTime(result["mtime"])), |
|
418 |
|
|
419 |
("Master node", result["master"]), |
|
420 |
|
|
421 |
("Architecture (this node)", |
|
422 |
"%s (%s)" % (result["architecture"][0], result["architecture"][1])), |
|
423 |
|
|
424 |
("Tags", tags), |
|
425 |
|
|
426 |
("Default hypervisor", result["default_hypervisor"]), |
|
427 |
("Enabled hypervisors", |
|
428 |
utils.CommaJoin(result["enabled_hypervisors"])), |
|
429 |
|
|
430 |
("Hypervisor parameters", _FormatGroupedParams(result["hvparams"])), |
|
431 |
|
|
432 |
("OS-specific hypervisor parameters", |
|
433 |
_FormatGroupedParams(result["os_hvp"])), |
|
434 |
|
|
435 |
("OS parameters", _FormatGroupedParams(result["osparams"])), |
|
436 |
|
|
437 |
("Hidden OSes", utils.CommaJoin(result["hidden_os"])), |
|
438 |
("Blacklisted OSes", utils.CommaJoin(result["blacklisted_os"])), |
|
439 |
|
|
440 |
("Cluster parameters", [ |
|
441 |
("candidate pool size", |
|
442 |
compat.TryToRoman(result["candidate_pool_size"], |
|
443 |
convert=opts.roman_integers)), |
|
444 |
("master netdev", result["master_netdev"]), |
|
445 |
("master netmask", result["master_netmask"]), |
|
446 |
("use external master IP address setup script", |
|
447 |
result["use_external_mip_script"]), |
|
448 |
("lvm volume group", result["volume_group_name"]), |
|
449 |
("lvm reserved volumes", reserved_lvs), |
|
450 |
("drbd usermode helper", result["drbd_usermode_helper"]), |
|
451 |
("file storage path", result["file_storage_dir"]), |
|
452 |
("shared file storage path", result["shared_file_storage_dir"]), |
|
453 |
("maintenance of node health", result["maintain_node_health"]), |
|
454 |
("uid pool", uidpool.FormatUidPool(result["uid_pool"])), |
|
455 |
("default instance allocator", result["default_iallocator"]), |
|
456 |
("primary ip version", result["primary_ip_version"]), |
|
457 |
("preallocation wipe disks", result["prealloc_wipe_disks"]), |
|
458 |
("OS search path", utils.CommaJoin(pathutils.OS_SEARCH_PATH)), |
|
459 |
("ExtStorage Providers search path", |
|
460 |
utils.CommaJoin(pathutils.ES_SEARCH_PATH)), |
|
461 |
("enabled storage types", |
|
462 |
utils.CommaJoin(result["enabled_storage_types"])), |
|
463 |
]), |
|
464 |
|
|
465 |
("Default node parameters", |
|
466 |
_FormatGroupedParams(result["ndparams"], roman=opts.roman_integers)), |
|
467 |
|
|
468 |
("Default instance parameters", |
|
469 |
_FormatGroupedParams(result["beparams"], roman=opts.roman_integers)), |
|
470 |
|
|
471 |
("Default nic parameters", |
|
472 |
_FormatGroupedParams(result["nicparams"], roman=opts.roman_integers)), |
|
473 |
|
|
474 |
("Default disk parameters", |
|
475 |
_FormatGroupedParams(result["diskparams"], roman=opts.roman_integers)), |
|
476 |
|
|
477 |
("Instance policy - limits for instances", |
|
478 |
[ |
|
479 |
(key, |
|
480 |
_FormatGroupedParams(result["ipolicy"][key], roman=opts.roman_integers)) |
|
481 |
for key in constants.IPOLICY_ISPECS |
|
482 |
] + |
|
483 |
[ |
|
484 |
("enabled disk templates", |
|
485 |
utils.CommaJoin(result["ipolicy"][constants.IPOLICY_DTS])), |
|
486 |
] + |
|
487 |
[ |
|
488 |
(key, result["ipolicy"][key]) |
|
489 |
for key in constants.IPOLICY_PARAMETERS |
|
490 |
]), |
|
491 |
] |
|
492 |
|
|
493 |
PrintGenericInfo(info) |
|
488 | 494 |
return 0 |
489 | 495 |
|
490 | 496 |
|
Also available in: Unified diff