From 112050d9d5c16b7adfbeb18dd17e18934bb054b3 Mon Sep 17 00:00:00 2001 From: Iustin Pop <iustin@google.com> Date: Thu, 27 Nov 2008 03:12:07 +0000 Subject: [PATCH] Fix instance creation This patch fixes the diskless and drbd/file based instances. Sorry :( Reviewed-by: ultrotter --- lib/cmdlib.py | 3 ++- scripts/gnt-instance | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/cmdlib.py b/lib/cmdlib.py index c09a7b7e6..52c08f4a3 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 4d1dffa1f..d50265382 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: -- GitLab