Revision d00884a2

b/lib/cli.py
236 236
  "FormatQueryResult",
237 237
  "FormatParameterDict",
238 238
  "FormatParamsDictInfo",
239
  "FormatPolicyInfo",
239 240
  "PrintGenericInfo",
240 241
  "GenerateTable",
241 242
  "AskUser",
......
3639 3640
  return ret
3640 3641

  
3641 3642

  
3643
def _FormatListInfoDefault(data, def_data):
3644
  if data is not None:
3645
    ret = utils.CommaJoin(data)
3646
  else:
3647
    ret = "default (%s)" % utils.CommaJoin(def_data)
3648
  return ret
3649

  
3650

  
3651
def FormatPolicyInfo(custom_ipolicy, eff_ipolicy, iscluster):
3652
  """Formats an instance policy.
3653

  
3654
  @type custom_ipolicy: dict
3655
  @param custom_ipolicy: own policy
3656
  @type eff_ipolicy: dict
3657
  @param eff_ipolicy: effective policy (including defaults); ignored for
3658
      cluster
3659
  @type iscluster: bool
3660
  @param iscluster: the policy is at cluster level
3661
  @rtype: list of pairs
3662
  @return: formatted data, suitable for L{PrintGenericInfo}
3663

  
3664
  """
3665
  if iscluster:
3666
    eff_ipolicy = custom_ipolicy
3667

  
3668
  custom_minmax = custom_ipolicy.get(constants.ISPECS_MINMAX)
3669
  ret = [
3670
    (key,
3671
     FormatParamsDictInfo(custom_minmax.get(key, {}),
3672
                          eff_ipolicy[constants.ISPECS_MINMAX][key]))
3673
    for key in constants.ISPECS_MINMAX_KEYS
3674
    ]
3675
  if iscluster:
3676
    stdspecs = custom_ipolicy[constants.ISPECS_STD]
3677
    ret.append(
3678
      (constants.ISPECS_STD,
3679
       FormatParamsDictInfo(stdspecs, stdspecs))
3680
      )
3681

  
3682
  ret.append(
3683
    ("enabled disk templates",
3684
     _FormatListInfoDefault(custom_ipolicy.get(constants.IPOLICY_DTS),
3685
                            eff_ipolicy[constants.IPOLICY_DTS]))
3686
    )
3687
  ret.extend([
3688
    (key, str(custom_ipolicy.get(key, "default (%s)" % eff_ipolicy[key])))
3689
    for key in constants.IPOLICY_PARAMETERS
3690
    ])
3691
  return ret
3692

  
3693

  
3642 3694
def ConfirmOperation(names, list_type, text, extra=""):
3643 3695
  """Ask the user to confirm an operation on a list of list_type.
3644 3696

  
b/lib/client/gnt_cluster.py
474 474
     _FormatGroupedParams(result["diskparams"], roman=opts.roman_integers)),
475 475

  
476 476
    ("Instance policy - limits for instances",
477
     [
478
       (key,
479
        _FormatGroupedParams(result["ipolicy"][constants.ISPECS_MINMAX][key],
480
                             roman=opts.roman_integers))
481
       for key in constants.ISPECS_MINMAX_KEYS
482
       ] +
483
     [
484
       (constants.ISPECS_STD,
485
        _FormatGroupedParams(result["ipolicy"][constants.ISPECS_STD],
486
                             roman=opts.roman_integers)),
487
       ("enabled disk templates",
488
        utils.CommaJoin(result["ipolicy"][constants.IPOLICY_DTS])),
489
       ] +
490
     [
491
       (key, result["ipolicy"][key])
492
       for key in constants.IPOLICY_PARAMETERS
493
       ]),
477
     FormatPolicyInfo(result["ipolicy"], None, True)),
494 478
    ]
495 479

  
496 480
  PrintGenericInfo(info)

Also available in: Unified diff