Revision a5728081 scripts/gnt-cluster

b/scripts/gnt-cluster
88 88
  for parameter in constants.BES_PARAMETERS:
89 89
    if parameter not in beparams:
90 90
      beparams[parameter] = constants.BEC_DEFAULTS[parameter]
91

  
92
  # type wrangling
93
  try:
94
    beparams[constants.BE_VCPUS] = int(beparams[constants.BE_VCPUS])
95
  except ValueError:
96
    ToStderr("%s must be an integer", constants.BE_VCPUS)
97
    return 1
98

  
99
  if not isinstance(beparams[constants.BE_MEMORY], int):
100
    beparams[constants.BE_MEMORY] = utils.ParseUnit(
101
        beparams[constants.BE_MEMORY])
91
  utils.ForceDictType(beparams, constants.BES_PARAMETER_TYPES)
102 92

  
103 93
  # prepare hvparams dict
104 94
  for hv in constants.HYPER_TYPES:
......
107 97
    for parameter in constants.HVC_DEFAULTS[hv]:
108 98
      if parameter not in hvparams[hv]:
109 99
        hvparams[hv][parameter] = constants.HVC_DEFAULTS[hv][parameter]
100
    utils.ForceDictType(hvparams[hv], constants.HVS_PARAMETER_TYPES)
110 101

  
111 102
  for hv in hvlist:
112 103
    if hv not in constants.HYPER_TYPES:
......
486 477
  if hvparams:
487 478
    # a list of (name, dict) we can pass directly to dict()
488 479
    hvparams = dict(opts.hvparams)
480
  for hv, hv_params in hvparams.iteritems():
481
    utils.ForceDictType(hv_params, constants.HVS_PARAMETER_TYPES)
489 482

  
490 483
  beparams = opts.beparams
484
  utils.ForceDictType(beparams, constants.BES_PARAMETER_TYPES)
491 485

  
492 486
  op = opcodes.OpSetClusterParams(vg_name=opts.vg_name,
493 487
                                  enabled_hypervisors=hvlist,

Also available in: Unified diff