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