[Bug 1620407] Re: vm startup broken when interface definition has script tag
Matthias Ferdinand
mf+ubuntu1 at 14v.de
Thu Jan 12 15:55:39 UTC 2017
On Thu, Jan 12, 2017 at 01:25:28PM -0000, ChristianEhrhardt wrote:
> On libvirt 1.3 I got:
> error: Failed to start domain testguest-X-on-X
> error: Unable to get index for interface mf_testet: No such device
on xenial, that is the exact error message we get, while on "precise"
kvm hosts (libvirt 0.9.8) the same setup works.
> As well as (other distro but same applies) https://fedoraproject.org/wiki/How_to_debug_Virtualization_problems?rd=Tools/Virtualization/BugReporting#Errors_using_.3Cinterface_type.3D.27ethernet.27.2F.3E
Yes, "ethernet" type networking is made difficult by standard security
settings, and we do have our own infrastructure installed to overcome
these restrictions. One such measure is having a daemon running as root
that does the actual interface creation, triggered by the interface
setup script.
This error message "Unable to get index..." is generated by libvirt,
before qemu is even invoked. While it is perfectly ok for interfaces
with setup scripts to not yet exist before qemu can invoke the script,
libvirt 1.3 nonetheless pre-checks for its existence.
This is what the bug report and the patch is about. With the patch
applied (removal of existence check for scripted interfaces), libvirt
1.3 again does the right thing.
Regards
Matthias
--
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1620407
Title:
vm startup broken when interface definition has script tag
Status in libvirt package in Ubuntu:
Incomplete
Bug description:
Ubuntu 16.04.1 LTS (amd64)
libvirt-bin 1.3.1-1ubuntu10.1
We use external scripts to setup tap interfaces, e.g.
<interface type='ethernet'>
<mac address='52:54:00:18:0d:a3'/>
<script path='/etc/libvirt/14v/mf_testet.sh'/>
<target dev='mf_testet'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
Starting the VM throws an error message ("interface not found" or
something like that).
IIUC, the script invocation is done by qemu, so the interface
may not yet exist when libvirt is constructing the qemu cmd args.
Checking for that interface in advance therefore is a bug.
Attached patch skips the check if a <script> parameter is provided.
Regards
Matthias Ferdinand
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1620407/+subscriptions
More information about the Ubuntu-sponsors
mailing list