diff --git a/lib/cmdlib.py b/lib/cmdlib.py index c09a7b7e69dd1dad6ade41977e253ad9774c106c..52c08f4a3e587149a179171fac83982025265a2c 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -3171,6 +3171,7 @@ def _GenerateDiskTemplate(lu, template_name, for s in ("data", "meta") ]) for idx, disk in enumerate(disk_info): + disk_index = idx + base_index disk_dev = _GenerateDRBD8Branch(lu, primary_node, remote_node, disk["size"], names[idx*2:idx*2+2], "disk/%d" % disk_index, @@ -3181,7 +3182,7 @@ def _GenerateDiskTemplate(lu, template_name, raise errors.ProgrammerError("Wrong template configuration") for idx, disk in enumerate(disk_info): - + disk_index = idx + base_index disk_dev = objects.Disk(dev_type=constants.LD_FILE, size=disk["size"], iv_name="disk/%d" % disk_index, logical_id=(file_driver, diff --git a/scripts/gnt-instance b/scripts/gnt-instance index 4d1dffa1f09fec8f8566bae9d6527523bb287fb9..d502653824bc55dfe0674479b61d3051b7bc3af2 100755 --- a/scripts/gnt-instance +++ b/scripts/gnt-instance @@ -306,11 +306,14 @@ def AddInstance(opts, args): # default of one nic, all auto nics = [{}] - if not opts.disks and opts.disk_template != constants.DT_DISKLESS: - raise errors.OpPrereqError("No disk information specified") - elif opts.disks and opts.disk_template == constants.DT_DISKLESS: - raise errors.OpPrereqError("Diskless instance but disk information passeD") + if opts.disk_template == constants.DT_DISKLESS: + if opts.disks: + raise errors.OpPrereqError("Diskless instance but disk" + " information passed") + disks = [] else: + if not opts.disks: + raise errors.OpPrereqError("No disk information specified") try: disk_max = max(int(didx[0])+1 for didx in opts.disks) except ValueError, err: