diff --git a/lib/cli.py b/lib/cli.py index e18ebb25286f45009b588269139c67e3f6a2e485..5e811b5f15df929a76e7b0def24062d9a51e96c2 100644 --- a/lib/cli.py +++ b/lib/cli.py @@ -1396,7 +1396,7 @@ def GenericInstanceCreate(mode, opts, args): if opts.nics: try: - nic_max = max(int(nidx[0])+1 for nidx in opts.nics) + nic_max = max(int(nidx[0]) + 1 for nidx in opts.nics) except ValueError, err: raise errors.OpPrereqError("Invalid NIC index passed: %s" % str(err)) nics = [{}] * nic_max @@ -1427,7 +1427,7 @@ def GenericInstanceCreate(mode, opts, args): if opts.sd_size is not None: opts.disks = [(0, {"size": opts.sd_size})] try: - disk_max = max(int(didx[0])+1 for didx in opts.disks) + disk_max = max(int(didx[0]) + 1 for didx in opts.disks) except ValueError, err: raise errors.OpPrereqError("Invalid disk index passed: %s" % str(err)) disks = [{}] * disk_max diff --git a/lib/cmdlib.py b/lib/cmdlib.py index 7ed082ed83fdd69e98756e4c5a0d119a7acebb35..d5bc1ace32fc13ead15cb11918484ee4f40b6164 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -7671,10 +7671,14 @@ class LUSetInstanceParams(LogicalUnit): continue if nic_op != constants.DDM_ADD: # an existing nic + if not instance.nics: + raise errors.OpPrereqError("Invalid NIC index %s, instance has" + " no NICs" % nic_op, + errors.ECODE_INVAL) if nic_op < 0 or nic_op >= len(instance.nics): raise errors.OpPrereqError("Invalid NIC index %s, valid values" " are 0 to %d" % - (nic_op, len(instance.nics)), + (nic_op, len(instance.nics) - 1), errors.ECODE_INVAL) old_nic_params = instance.nics[nic_op].nicparams old_nic_ip = instance.nics[nic_op].ip