[libvirt-users] Problem with net-define using Open vSwitch bridge

Will Dennis wdennis at nec-labs.com
Mon Apr 8 18:44:48 UTC 2013


Update: I have upgraded from libvirt 0.9.8 on the virtualization server
to libvirt 1.0.4. Now the net-define command works with the "virtualport
type='openvswitch'" directive in it. So I did a "net-edit" on the
networks, added that line in, and saved them. So now I am assuming
libvirt knows that the underlying bridge type is Open vSwitch. However,
when I try to use virt-manager (which is 0.9.4 running on Fedora 18) to
spin up a new VM and try to attach it to one of the networks I defined
on the virtualization host (runs Ubuntu 12.04 Server with libvirt 1.0.4
as I had mentioned above), I am now getting the following different
traceback:

Unable to complete install: 'Unable to add port vnet0 to OVS bridge
vl20-ovsbr0: Operation not permitted'

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in
cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/create.py", line 1943, in
do_install
    guest.start_install(False, meter=meter)
  File "/usr/lib/python2.7/site-packages/virtinst/Guest.py", line 1249,
in start_install
    noboot)
  File "/usr/lib/python2.7/site-packages/virtinst/Guest.py", line 1317,
in _create_guest
    dom = self.conn.createLinux(start_xml or final_xml, 0)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2606, in
createLinux
    if ret is None:raise libvirtError('virDomainCreateLinux() failed',
conn=self)
libvirtError: Unable to add port vnet0 to OVS bridge vl20-ovsbr0:
Operation not permitted

So the error went from "Operation not supported" to "Operation not
permitted"... Is this some sort of a permissions error now??

If someone could please help me figure this out, that would be great, as
I'm up against a bit of a deadline with this to get it working...

Thanks,
Will

-----Original Message-----
From: Will Dennis 
Sent: Friday, April 05, 2013 12:12 PM
To: libvirt-users at redhat.com
Subject: Problem with net-define using Open vSwitch bridge

Hi all,

I used "net-define" to create a network to use to attach VMs to an Open
vSwitch bridge. The net-define worked fine, I can see the network in
"net-list" (I set it to started and to autostart) but when I try to
attach a new VM's NIC to this network (via virt-manager), I'm getting
the following traceback:

Unable to complete install: 'Unable to add bridge vl10-ovsbr0 port
vnet0: Operation not supported'

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 96, in
cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/create.py", line 1943, in
do_install
    guest.start_install(False, meter=meter)
  File "/usr/lib/python2.7/site-packages/virtinst/Guest.py", line 1249,
in start_install
    noboot)
  File "/usr/lib/python2.7/site-packages/virtinst/Guest.py", line 1317,
in _create_guest
    dom = self.conn.createLinux(start_xml or final_xml, 0)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2606, in
createLinux
    if ret is None:raise libvirtError('virDomainCreateLinux() failed',
conn=self)
libvirtError: Unable to add bridge vl10-ovsbr0 port vnet0: Operation not
supported

I'm going to assume the problem is that the bridge is not a linux
bridge, but an Open vSwitch bridge. But I did have a line in the XML
file that I used for net-define as follows:

<virtualport type='openvswitch'/>

But when I ran net-define, it failed to create the network with the
error:

XML error: unexpected virtualport type -1

Removing that line and re-running the net-define worked, as I have
stated above. How do I tell libvirt that this bridge is an Open vSwitch
bridge and not a regular Linux bridge?

Thanks,
Will




More information about the libvirt-users mailing list