From 6164c1f99381d8426ef99f9fe71bbd4b2f950396 Mon Sep 17 00:00:00 2001 From: Dimitris Aragiorgis Date: Fri, 22 Nov 2013 21:59:43 +0200 Subject: [PATCH] (2.10) Export tags via GetTags() to network scripts Use GetTags() instance method in order to export instance tags to NIC configuration scripts and files of kvm and xen hypervisors. Signed-off-by: Dimitris Aragiorgis Signed-off-by: Thomas Thrainer Reviewed-by: Thomas Thrainer --- lib/hypervisor/hv_kvm.py | 7 +------ lib/hypervisor/hv_xen.py | 8 +++++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py index 676c083..ea633a6 100644 --- a/lib/hypervisor/hv_kvm.py +++ b/lib/hypervisor/hv_kvm.py @@ -991,11 +991,6 @@ class KVMHypervisor(hv_base.BaseHypervisor): @type tap: str """ - if instance.tags: - tags = " ".join(instance.tags) - else: - tags = "" - env = { "PATH": "%s:/sbin:/usr/sbin" % os.environ["PATH"], "INSTANCE": instance.name, @@ -1003,7 +998,7 @@ class KVMHypervisor(hv_base.BaseHypervisor): "MODE": nic.nicparams[constants.NIC_MODE], "INTERFACE": tap, "INTERFACE_INDEX": str(seq), - "TAGS": tags, + "TAGS": " ".join(instance.GetTags()), } if nic.ip: diff --git a/lib/hypervisor/hv_xen.py b/lib/hypervisor/hv_xen.py index 3ff0c0f..ee230bb 100644 --- a/lib/hypervisor/hv_xen.py +++ b/lib/hypervisor/hv_xen.py @@ -396,12 +396,13 @@ class XenHypervisor(hv_base.BaseHypervisor): return utils.PathJoin(self._cfgdir, instance_name) @classmethod - def _WriteNICInfoFile(cls, instance_name, idx, nic): + def _WriteNICInfoFile(cls, instance, idx, nic): """Write the Xen config file for the instance. This version of the function just writes the config file from static data. """ + instance_name = instance.name dirs = [(dname, constants.RUN_DIRS_MODE) for dname in cls._DIRS + [cls._InstanceNICDir(instance_name)]] utils.EnsureDirs(dirs) @@ -409,6 +410,7 @@ class XenHypervisor(hv_base.BaseHypervisor): cfg_file = cls._InstanceNICFile(instance_name, idx) data = StringIO() + data.write("TAGS=%s\n" % "\ ".join(instance.GetTags())) if nic.netinfo: netinfo = objects.Network.FromDict(nic.netinfo) data.write("NETWORK_NAME=%s\n" % netinfo.name) @@ -1002,7 +1004,7 @@ class XenPvmHypervisor(XenHypervisor): if hvp[constants.HV_VIF_SCRIPT]: nic_str += ", script=%s" % hvp[constants.HV_VIF_SCRIPT] vif_data.append("'%s'" % nic_str) - self._WriteNICInfoFile(instance.name, idx, nic) + self._WriteNICInfoFile(instance, idx, nic) disk_data = \ _GetConfigFileDiskData(block_devices, hvp[constants.HV_BLOCKDEV_PREFIX]) @@ -1171,7 +1173,7 @@ class XenHvmHypervisor(XenHypervisor): if hvp[constants.HV_VIF_SCRIPT]: nic_str += ", script=%s" % hvp[constants.HV_VIF_SCRIPT] vif_data.append("'%s'" % nic_str) - self._WriteNICInfoFile(instance.name, idx, nic) + self._WriteNICInfoFile(instance, idx, nic) config.write("vif = [%s]\n" % ",".join(vif_data)) -- 1.7.10.4