Comment 33 for bug 1673467

Revision history for this message
Andrew McLeod (admcleod) wrote :

A general description of the workaround for 'logfile not supported in this QEMU binary' on arm64 with ocata is:

in nova/virt/libvirt/guest.py:115, in the create function, added:

        xml = etree.fromstring(xml)
        for bad in xml.xpath("//log"):
                bad.getparent().remove(bad)
        #for item in xml.findall('console'):
        # xml.remove(item)
        #for item in xml.findall('serial'):
        # xml.remove(item)
        xml = etree.tostring(xml)

        # for debugging...
        txt_file = open("/tmp/xml_out.xml", "w")
        txt_file.write(xml)
        txt_file.close()

It appears removing just the 'log' element should be sufficient as this was the specific error, but i tested more thoroughly with removing console and serial elements entirely.

The workaround for the error 'libvirtError: Requested operation is not valid: domain is already running' was to modify dist-packages/libvirt.py:1097, and completely pass the resume function- seems like the check of whether the domain is already running or not is faulty?

Once these changes were made I could launch an instance with host-passthrough, give it a floating IP and ssh into it.