<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div>I appreciate that even libvirt 2.0.0 will be ancient history by now, to its developers, but I am seeing further issues that look associated with the recent CentOS 7 transition from libvirt 1.2.7 to libvirt 2.0.0, and would appreciate any comments on them that people may have.  I believe these issues are independent of those that have already been discussed on other threads.<br><br></div>First, this traceback in nova-compute.log:<br><br>Traceback (most recent call last):<br>  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2156, in _build_resources<br>    yield resources<br>  File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2009, in _build_and_run_instance<br>    block_device_info=block_device_info)<br>  File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 2534, in spawn<br>    block_device_info=block_device_info)<br>  File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4620, in _create_domain_and_network<br>    xml, pause=pause, power_on=power_on)<br>  File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4550, in _create_domain<br>    guest.launch(pause=pause)<br>  File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 142, in launch<br>    self._encoded_xml, errors='ignore')<br>  File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 195, in __exit__<br>    six.reraise(self.type_, self.value, self.tb)<br>  File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/guest.py", line 137, in launch<br>    return self._domain.createWithFlags(flags)<br>  File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 186, in doit<br>    result = proxy_call(self._autowrap, f, *args, **kwargs)<br>  File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 144, in proxy_call<br>    rv = execute(f, *args, **kwargs)<br>  File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 125, in execute<br>    six.reraise(c, e, tb)<br>  File "/usr/lib/python2.7/site-packages/eventlet/tpool.py", line 83, in tworker<br>    rv = meth(*args, **kwargs)<br>  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1065, in createWithFlags<br>    if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)<br>libvirtError: Cannot find '' in path: No such file or directory<br><br></div>which I believe is caused by the empty path attribute in this part of the XML:<br><br>    <interface type='ethernet'><br>      <mac address='fa:16:3e:3c:96:33'/><br>      <script path=''/><br>      <target dev='tap06992dfb-5d'/><br>      <model type='virtio'/><br>      <driver name='qemu'/><br>      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/><br>    </interface><br><br></div>which is in turn caused, I think, by <a href="https://github.com/openstack/nova/blob/master/nova/virt/libvirt/designer.py#L61">https://github.com/openstack/nova/blob/master/nova/virt/libvirt/designer.py#L61</a><br><br></div>Is it plausible that libvirt 1.2.7 would have avoided trying to invoke a script with an empty path, whereas libvirt 2.0.0 does not?<br><br></div>Secondly - if I move past the problem above by changing <a href="https://github.com/openstack/nova/blob/master/nova/virt/libvirt/designer.py#L61">https://github.com/openstack/nova/blob/master/nova/virt/libvirt/designer.py#L61</a> to say 'conf.script = None' - I then find:<br></div>- no apparent error in nova-compute.log<br></div>- but my instances don't boot<br></div>- the following messages in the libvirt log:<br><br>Domain id=4 is tainted: high-privileges<br>char device redirected to /dev/pts/1 (label charserial1)<br>CPU feature tsc_adjust not found<br><br></div>I guess it's the last message that is the critical one here - can anyone tell me more about it?<br><br></div>Thanks,<br></div>      Neil<br><br></div>