Ejemplo n.º 1
0
    def test_no_leases(self):
        """
        without leases, do nothing
        """
        # any VM without leases is fine
        xml_str = read_data('vm_compat41.xml')
        self.assertXMLEqual(
            extract_device_snippet('lease', xml_str=xml_str),
            u'''<?xml version='1.0' encoding='utf-8'?><devices />'''
        )

        dom = xmlutils.fromstring(xml_str)
        disk_devs = domxml_preprocess._make_disk_devices(
            xml_str, self.log)
        disk_devs = self._inject_volume_chain(
            disk_devs, self.driveVolInfo,
            domainID='unknwonDomainID',
            volumeID='unknownVolumeID')

        domxml_preprocess.update_leases_xml_from_disk_objs(
            self.vm, dom, disk_devs)

        self.assertXMLEqual(
            extract_device_snippet('lease', dom=dom),
            u'''<?xml version='1.0' encoding='utf-8'?><devices />'''
        )
Ejemplo n.º 2
0
    def test_no_leases(self):
        """
        without leases, do nothing
        """
        # any VM without leases is fine
        xml_str = read_data('vm_compat41.xml')
        self.assertXMLEqual(
            extract_device_snippet('lease', xml_str=xml_str),
            u'''<?xml version='1.0' encoding='utf-8'?><devices />'''
        )

        dom = xmlutils.fromstring(xml_str)
        disk_devs = domxml_preprocess._make_disk_devices(
            xml_str, self.log)
        disk_devs = self._inject_volume_chain(
            disk_devs, self.driveVolInfo,
            domainID='unknwonDomainID',
            volumeID='unknownVolumeID')

        domxml_preprocess.update_leases_xml_from_disk_objs(
            self.vm, dom, disk_devs)

        self.assertXMLEqual(
            extract_device_snippet('lease', dom=dom),
            u'''<?xml version='1.0' encoding='utf-8'?><devices />'''
        )
Ejemplo n.º 3
0
    def test_drive_lease_without_volume_chain(self):
        """
        Lacking volumeChain attribute (like cdroms), don't raise.
        We treat leases like VM lease, because we cannot distinguish
        this case.
        """

        domxml_preprocess.update_leases_xml_from_disk_objs(
            self.vm, self.dom, self.disk_devs)

        xml_str = xmlutils.tostring(self.dom)
        self._check_leases(xml_str, [self.vmVolInfo])
Ejemplo n.º 4
0
    def test_drive_lease(self):
        """
        we fill the drive lease. Happy path.
        """
        disk_devs = self._inject_volume_chain(self.disk_devs,
                                              self.driveVolInfo)

        domxml_preprocess.update_leases_xml_from_disk_objs(
            self.vm, self.dom, disk_devs)

        xml_str = xmlutils.tostring(self.dom)
        self._check_leases(xml_str, [self.driveVolInfo])
Ejemplo n.º 5
0
    def test_drive_lease_without_volume_chain(self):
        """
        Lacking volumeChain attribute (like cdroms), don't raise.
        We treat leases like VM lease, because we cannot distinguish
        this case.
        """

        domxml_preprocess.update_leases_xml_from_disk_objs(
            self.vm, self.dom, self.disk_devs)

        xml_str = xmlutils.tostring(self.dom)
        self._check_leases(xml_str, [self.vmVolInfo])
Ejemplo n.º 6
0
    def test_drive_lease(self):
        """
        we fill the drive lease. Happy path.
        """
        disk_devs = self._inject_volume_chain(
            self.disk_devs, self.driveVolInfo)

        domxml_preprocess.update_leases_xml_from_disk_objs(
            self.vm, self.dom, disk_devs)

        xml_str = xmlutils.tostring(self.dom)
        self._check_leases(xml_str, [self.driveVolInfo])
Ejemplo n.º 7
0
    def test_drive_lease_chain_not_matches(self):
        """
        We have no choice but consider this a VM lease.
        """

        disk_devs = self._inject_volume_chain(self.disk_devs,
                                              self.driveVolInfo,
                                              domainID='unknwonDomainID',
                                              volumeID='unknownVolumeID')

        domxml_preprocess.update_leases_xml_from_disk_objs(
            self.vm, self.dom, disk_devs)

        xml_str = xmlutils.tostring(self.dom)
        self._check_leases(xml_str, [self.vmVolInfo])
Ejemplo n.º 8
0
    def test_drive_lease_chain_not_matches(self):
        """
        We have no choice but consider this a VM lease.
        """

        disk_devs = self._inject_volume_chain(
            self.disk_devs, self.driveVolInfo,
            domainID='unknwonDomainID',
            volumeID='unknownVolumeID')

        domxml_preprocess.update_leases_xml_from_disk_objs(
            self.vm, self.dom, disk_devs)

        xml_str = xmlutils.tostring(self.dom)
        self._check_leases(xml_str, [self.vmVolInfo])