[openstack-dev] [Nova] Metadata Tag support for libvirt XML in nova/virt/libvirt

Ronak Shah ronak at nuagenetworks.net
Mon Mar 4 18:00:19 UTC 2013


Hi,

Libvirt supports inserting <metadata> tag while generating XML to be pushed
down.

In nova's libvirt driver code we dont have this today. Should we add it?

For ex in nova/nova/virt/libvirt/config.py:

class LibvirtConfigGuest(LibvirtConfigObject):

    def __init__(self, **kwargs):
        super(LibvirtConfigGuest, self).__init__(root_name="domain",
                                                 **kwargs)

        self.virt_type = None
        self.uuid = None
        self.name = None
        self.memory = 1024 * 1024 * 500
        self.vcpus = 1
        self.cpu = None
        self.acpi = False
        self.apic = False
        self.clock = None
        self.sysinfo = None
        self.os_type = None
        self.os_loader = None
        self.os_kernel = None
        self.os_initrd = None
        self.os_cmdline = None
        self.os_root = None
        self.os_init_path = None
        self.os_boot_dev = None
        self.os_smbios = None
*+        self.meta = None*
        self.devices = []
....


*+    def _format_meta(self, root):*
*+        metadata = etree.Element("metadata")*
*+        metadata.append(self.meta)*
*+        root.append(metadata)*

    def format_dom(self):
        root = super(LibvirtConfigGuest, self).format_dom()

        root.set("type", self.virt_type)

        self._format_basic_props(root)

        if self.sysinfo is not None:
            root.append(self.sysinfo.format_dom())

        self._format_os(root)
        self._format_features(root)

        if self.clock is not None:
            root.append(self.clock.format_dom())

        if self.cpu is not None:
            root.append(self.cpu.format_dom())

*+        if self.meta is not None:*
*+            self._format_meta(root)*

        self._format_devices(root)

        return root


One can set meta in nova/nova/virt/libvirt/driver.py if they want to.


Please let me know your thoughts. I can make the necessary change if
require.

Thanks,
Ronak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130304/c2290edc/attachment.html>


More information about the OpenStack-dev mailing list