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

Reply via email to