diff options
author | Erik Skultety <eskultet@redhat.com> | 2023-05-18 15:31:06 +0200 |
---|---|---|
committer | Erik Skultety <eskultet@redhat.com> | 2023-06-22 12:05:04 +0000 |
commit | 84229eb3610b3819890d0bcb806d8c0bd362bd14 (patch) | |
tree | 3befe2209a810f7765d19771e29dc3ed49b449f7 | |
parent | 6f18fe2b54df0a6cd5d4b6f4e2ad83c695d367f2 (diff) | |
download | libvirt-ci-84229eb3610b3819890d0bcb806d8c0bd362bd14.zip libvirt-ci-84229eb3610b3819890d0bcb806d8c0bd362bd14.tar.gz libvirt-ci-84229eb3610b3819890d0bcb806d8c0bd362bd14.tar.bz2 |
libvirt_wrapper: Add a helper to create volumes from XML
Future patches will make it so that we create the resulting disk
storage volume ourselves using customized UNIX
permissions/ownership/mode which means we'll have to create the volume
with libvirt using an XML.
Signed-off-by: Erik Skultety <eskultet@redhat.com>
-rw-r--r-- | lcitool/libvirt_wrapper.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lcitool/libvirt_wrapper.py b/lcitool/libvirt_wrapper.py index 7db954e..87154c6 100644 --- a/lcitool/libvirt_wrapper.py +++ b/lcitool/libvirt_wrapper.py @@ -176,6 +176,11 @@ class LibvirtStoragePoolObject(LibvirtAbstractObject): conn.storagePoolCreateXML(pool_xml) return conn.storagePoolLookupByName(name) + def _create_from_xml(self, name, xmlstr): + self.raw.createXML(xmlstr) + return LibvirtStorageVolObject(self, + self.raw.storageVolLookupByName(name)) + def create_volume(self, name, capacity, allocation=None, _format="qcow2", units='bytes', owner=None, group=None, mode=None,): @@ -217,7 +222,7 @@ class LibvirtStoragePoolObject(LibvirtAbstractObject): node_el.text = perm_var volume_xml = ET.tostring(root_el, encoding="UTF-8", method="xml") - self.raw.createXML(volume_xml.decode("UTF-8")) + return self._create_from_xml(name, volume_xml.decode("UTF-8")) class LibvirtStorageVolObject(LibvirtAbstractObject): |