set_mem_backing : add memory_bocking tag (hugepages , nosharepages , locked)

Signed-off-by: Weiqing Wang <[email protected]>
---
 virttest/libvirt_xml/vm_xml.py | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/virttest/libvirt_xml/vm_xml.py b/virttest/libvirt_xml/vm_xml.py
index 6f21541..d7b90ef 100644
--- a/virttest/libvirt_xml/vm_xml.py
+++ b/virttest/libvirt_xml/vm_xml.py
@@ -217,6 +217,13 @@ class VMXMLBase(base.LibvirtXMLBase):
                                  forbidden=None,
                                  parent_xpath='/',
                                  tag_name='on_crash')
+        accessors.XMLElementNest(property_name='memory_backing',
+                                 libvirtxml=self,
+                                 parent_xpath='/',
+                                 tag_name='memoryBacking',
+                                 subclass=VMMBXML,
+                                 subclass_dargs={
+                                     'virsh_instance': virsh_instance})
         super(VMXMLBase, self).__init__(virsh_instance=virsh_instance)
 
     def get_devices(self, device_type=None):
@@ -972,6 +979,19 @@ class VMXML(VMXMLBase):
             return
         self.set_devices(devices)
 
+    def set_mem_backing(self, hugepages=False, nosharepages=False, 
locked=False):
+        """
+        Add memoryBacking Tag.
+        :param hugepages: add hugepages tag
+        :param nosharepages: add nosharepages tag
+        :param locked: add locked tag
+        """
+        mem_backing = VMMBXML()
+        mem_backing.hugepages = hugepages
+        mem_backing.nosharepages = nosharepages
+        mem_backing.locked = locked
+        self.memory_backing = mem_backing
+
     @staticmethod
     def add_security_info(vmxml, passwd):
         """
@@ -1452,3 +1472,25 @@ class VMPMXML(base.LibvirtXMLBase):
                                tag_name='suspend-to-mem', attribute='enabled')
         super(self.__class__, self).__init__(virsh_instance=virsh_instance)
         self.xml = '<pm/>'
+
+
+class VMMBXML(base.LibvirtXMLBase):
+    
+    
+    """
+    memoryBacking tag XML class
+
+    Elements:
+        hugepages
+        nosharepages
+        locked
+    """
+
+    __slots__ = ('hugepages', 'nosharepages', 'locked')
+
+    def __init__(self, virsh_instance=base.virsh):
+        for slot in self.__slots__:
+            accessors.XMLElementBool(slot, self, parent_xpath='/',
+                               tag_name=slot)
+        super(self.__class__, self).__init__(virsh_instance=virsh_instance)
+        self.xml = '<memoryBacking/>'
-- 
1.8.4.2

_______________________________________________
Virt-test-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/virt-test-devel

Reply via email to