On Thu, Feb 13, 2014 at 3:47 PM, Dimitris Aragiorgis <[email protected]> wrote: > 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 >
LGTM, thanks. Michele -- Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores
