Name of Disk/NIC were not exported during backup until now. Use the exported info during gnt-backup import.
Signed-off-by: Dimitris Aragiorgis <[email protected]> --- lib/backend.py | 4 ++++ lib/cmdlib/instance.py | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/backend.py b/lib/backend.py index 9e12639..98a29be 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -2743,6 +2743,8 @@ def FinalizeExport(instance, snap_disks): config.set(constants.INISECT_INS, "nic%d_ip" % nic_count, "%s" % nic.ip) config.set(constants.INISECT_INS, "nic%d_network" % nic_count, "%s" % nic.network) + config.set(constants.INISECT_INS, "nic%d_name" % nic_count, + "%s" % nic.name) for param in constants.NICS_PARAMETER_TYPES: config.set(constants.INISECT_INS, "nic%d_%s" % (nic_count, param), "%s" % nic.nicparams.get(param, None)) @@ -2759,6 +2761,8 @@ def FinalizeExport(instance, snap_disks): ("%s" % disk.physical_id[1])) config.set(constants.INISECT_INS, "disk%d_size" % disk_count, ("%d" % disk.size)) + config.set(constants.INISECT_INS, "disk%d_name" % disk_count, + "%s" % disk.name) config.set(constants.INISECT_INS, "disk_count", "%d" % disk_total) diff --git a/lib/cmdlib/instance.py b/lib/cmdlib/instance.py index 6064088..4869a6a 100644 --- a/lib/cmdlib/instance.py +++ b/lib/cmdlib/instance.py @@ -745,7 +745,12 @@ class LUInstanceCreate(LogicalUnit): for idx in range(constants.MAX_DISKS): if einfo.has_option(constants.INISECT_INS, "disk%d_size" % idx): disk_sz = einfo.getint(constants.INISECT_INS, "disk%d_size" % idx) - disks.append({constants.IDISK_SIZE: disk_sz}) + disk_name = einfo.get(constants.INISECT_INS, "disk%d_name" % idx) + disk = { + constants.IDISK_SIZE: disk_sz, + constants.IDISK_NAME: disk_name + } + disks.append(disk) self.op.disks = disks if not disks and self.op.disk_template != constants.DT_DISKLESS: raise errors.OpPrereqError("No disk info specified and the export" @@ -757,7 +762,8 @@ class LUInstanceCreate(LogicalUnit): for idx in range(constants.MAX_NICS): if einfo.has_option(constants.INISECT_INS, "nic%d_mac" % idx): ndict = {} - for name in [constants.INIC_IP, constants.INIC_MAC]: + for name in [constants.INIC_IP, + constants.INIC_MAC, constants.INIC_NAME]: v = einfo.get(constants.INISECT_INS, "nic%d_%s" % (idx, name)) ndict[name] = v network = einfo.get(constants.INISECT_INS, -- 1.7.10.4
