Commit a1f7535f authored by Antoine Millet's avatar Antoine Millet
Browse files

Implemented static tags on VMs

parent 3418dd89
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -118,7 +118,8 @@ class VirtualMachine(object):

    @property
    def description(self):
        descriptions = et.ElementTree().parse(StringIO(self.lv_dom.XMLDesc(0))).findall('description')
        xml = self.lv_dom.XMLDesc(libvirt.VIR_DOMAIN_XML_INACTIVE)
        descriptions = et.ElementTree().parse(StringIO(xml)).findall('description')
        if descriptions:
            return descriptions[0].text
        else:
@@ -127,15 +128,17 @@ class VirtualMachine(object):
    @description.setter
    def description(self, value):
        try:
            xml = self.lv_dom.XMLDesc(0)
            xml = self.lv_dom.XMLDesc(libvirt.VIR_DOMAIN_XML_INACTIVE)
        except libvirt.libvirtError:
            logger.exception('Error while getting domain XML from libvirt, %s',
                             self.name)
            raise

        xml_tree = et.ElementTree()
        xml_tree.parse(StringIO(xml))
        root = xml_tree.parse(StringIO(xml))
        desc = xml_tree.find('description')
        if desc is None:
            desc = et.SubElement(root, 'description')
        desc.text = value

        # write back the XML tree