def test_config_lxc(self): obj = config.LibvirtConfigGuest() obj.virt_type = "lxc" obj.memory = 1024 * 1024 * 100 obj.vcpus = 2 obj.name = "demo" obj.uuid = "b38a3f43-4be2-4046-897f-b67c2f5e0147" obj.os_type = "exe" obj.os_init_path = "/sbin/init" fs = config.LibvirtConfigGuestFilesys() fs.source_dir = "/root/lxc" fs.target_dir = "/" obj.add_device(fs) xml = obj.to_xml() self.assertXmlEqual( xml, """ <domain type="lxc"> <uuid>b38a3f43-4be2-4046-897f-b67c2f5e0147</uuid> <name>demo</name> <memory>104857600</memory> <vcpu>2</vcpu> <os> <type>exe</type> <init>/sbin/init</init> </os> <devices> <filesystem type="mount"> <source dir="/root/lxc"/> <target dir="/"/> </filesystem> </devices> </domain>""")
def libvirt_fs_info(self, target, driver_type=None): """Get `LibvirtConfigGuestFilesys` filled for this image. :target: target directory inside a container. :driver_type: filesystem driver type, can be loop nbd or ploop. """ info = vconfig.LibvirtConfigGuestFilesys() info.target_dir = target if self.is_block_dev: info.source_type = "block" info.source_dev = self.path else: info.source_type = "file" info.source_file = self.path info.driver_format = self.driver_format if driver_type: info.driver_type = driver_type else: if self.driver_format == "raw": info.driver_type = "loop" else: info.driver_type = "nbd" return info
def test_config_mount(self): obj = config.LibvirtConfigGuestFilesys() obj.source_type = "mount" obj.source_dir = "/tmp/hello" obj.target_dir = "/mnt" xml = obj.to_xml() self.assertXmlEqual(xml, """ <filesystem type="mount"> <source dir="/tmp/hello"/> <target dir="/mnt"/> </filesystem>""")