Revision 24991749 scripts/gnt-instance

b/scripts/gnt-instance
1035 1035
  @return: the desired exit code
1036 1036

  
1037 1037
  """
1038
  if not (opts.ip or opts.bridge or opts.mac or
1038
  if not (opts.nics or opts.disks or
1039 1039
          opts.hypervisor or opts.beparams):
1040 1040
    ToStderr("Please give at least one of the parameters.")
1041 1041
    return 1
......
1044 1044
    opts.beparams[constants.BE_MEMORY] = utils.ParseUnit(
1045 1045
      opts.beparams[constants.BE_MEMORY])
1046 1046

  
1047
  for idx, (nic_op, nic_dict) in enumerate(opts.nics):
1048
    try:
1049
      nic_op = int(nic_op)
1050
      opts.nics[idx] = (nic_op, nic_dict)
1051
    except ValueError:
1052
      pass
1053

  
1054
  for idx, (disk_op, disk_dict) in enumerate(opts.disks):
1055
    try:
1056
      disk_op = int(disk_op)
1057
      opts.disks[idx] = (disk_op, disk_dict)
1058
    except ValueError:
1059
      pass
1060
    if disk_op == constants.DDM_ADD:
1061
      if 'size' not in disk_dict:
1062
        raise errors.OpPrereqError("Missing required parameter 'size'")
1063
      disk_dict['size'] = utils.ParseUnit(disk_dict['size'])
1064

  
1047 1065
  op = opcodes.OpSetInstanceParams(instance_name=args[0],
1048
                                   ip=opts.ip,
1049
                                   bridge=opts.bridge, mac=opts.mac,
1066
                                   nics=opts.nics,
1067
                                   disks=opts.disks,
1050 1068
                                   hvparams=opts.hypervisor,
1051 1069
                                   beparams=opts.beparams,
1052 1070
                                   force=opts.force)
......
1248 1266
                    "Replaces all disks for the instance"),
1249 1267
  'modify': (SetInstanceParams, ARGS_ONE,
1250 1268
             [DEBUG_OPT, FORCE_OPT,
1251
              make_option("-i", "--ip", dest="ip",
1252
                          help="IP address ('none' or numeric IP)",
1253
                          default=None, type="string", metavar="<ADDRESS>"),
1254
              make_option("-b", "--bridge", dest="bridge",
1255
                          help="Bridge to connect this instance to",
1256
                          default=None, type="string", metavar="<bridge>"),
1257
              make_option("--mac", dest="mac",
1258
                          help="MAC address", default=None,
1259
                          type="string", metavar="<MACADDRESS>"),
1260 1269
              keyval_option("-H", "--hypervisor", type="keyval",
1261 1270
                            default={}, dest="hypervisor",
1262 1271
                            help="Change hypervisor parameters"),
1263 1272
              keyval_option("-B", "--backend", type="keyval",
1264 1273
                            default={}, dest="beparams",
1265 1274
                            help="Change backend parameters"),
1275
              ikv_option("--disk", help="Disk changes",
1276
                         default=[], dest="disks",
1277
                         action="append",
1278
                         type="identkeyval"),
1279
              ikv_option("--net", help="NIC changes",
1280
                         default=[], dest="nics",
1281
                         action="append",
1282
                         type="identkeyval"),
1266 1283
              SUBMIT_OPT,
1267 1284
              ],
1268 1285
             "<instance>", "Alters the parameters of an instance"),

Also available in: Unified diff