[libvirt-users] Libvirt 1.0.5 with Openvswitch 1.11.90: unable to add bridge br0 port vnet0 operation not supported

Christopher Paggen (cpaggen) cpaggen at cisco.com
Mon May 13 15:25:33 UTC 2013


Thanks Laine, I now have it working. After applying the changes you recommended, I had to change apparmor settings as libvirt was in enforce mode:

root at qemu-kvm:~/openvswitch# aa-complain /etc/apparmor.d/*
Setting /etc/apparmor.d/sbin.dhclient to complain mode.
Setting /etc/apparmor.d/usr.bin.evince to complain mode.
Setting /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper to complain mode.
Setting /etc/apparmor.d/usr.lib.telepathy to complain mode.
Setting /etc/apparmor.d/usr.sbin.cupsd to complain mode.
Setting /etc/apparmor.d/usr.sbin.libvirtd to complain mode.
Setting /etc/apparmor.d/usr.sbin.rsyslogd to complain mode.
Setting /etc/apparmor.d/usr.sbin.tcpdump to complain mode.
root at qemu-kvm:~/openvswitch# virsh start DSL1
Domain DSL1 started

root at qemu-kvm:~/openvswitch# ovs-vsctl show
8f5670fc-da00-4b7d-9865-63f2abe6267a
    Bridge "br0"
        Port "vnet0"
            Interface "vnet0"
        Port "eth1"
            Interface "eth1"
        Port "br0"
            Interface "br0"
                type: internal
root at qemu-kvm:~/openvswitch#
root at qemu-kvm:~/openvswitch# virsh net-dumpxml ovs-br0
<network>
  <name>ovs-br0</name>
  <uuid>9165a827-15f7-de75-2909-26f909559850</uuid>
  <forward mode='bridge'/>
  <bridge name='br0' />
  <virtualport type='openvswitch'/>
</network>

root at qemu-kvm:~/openvswitch#


From: sendmail [mailto:justsendmailnothingelse at gmail.com] On Behalf Of Laine Stump
Sent: Wednesday, May 08, 2013 4:55 PM
To: libvirt-users at redhat.com
Cc: Christopher Paggen (cpaggen)
Subject: Re: [libvirt-users] Libvirt 1.0.5 with Openvswitch 1.11.90: unable to add bridge br0 port vnet0 operation not supported

On 05/07/2013 02:10 AM, Christopher Paggen (cpaggen) wrote:
Howdy,

Running the most recent OVS and libvirt I'm running into the following error message with virt-install:

root at qemu-kvm:~/libvirt-1.0.5#<mailto:root at qemu-kvm:%7E/libvirt-1.0.5> ovs-vsctl -V
ovs-vsctl (Open vSwitch) 1.11.90
Compiled May  6 2013 22:37:22
root at qemu-kvm:~/libvirt-1.0.5#<mailto:root at qemu-kvm:%7E/libvirt-1.0.5>
root at qemu-kvm:~/libvirt-1.0.5#<mailto:root at qemu-kvm:%7E/libvirt-1.0.5> virt-install --connect qemu:///system --name DSL2 --ram 1024 --vcpus 1 --disk path=/tmp/dsl2,size=1,bus=virtio,cache=none --network=bridge:br0  --vnc --os-type=linux --cdrom /dev/sr0

Starting install...
ERROR    Unable to add bridge br0 port vnet0: Operation not supported
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///system start DSL2
otherwise, please restart your installation.
root at qemu-kvm:~/libvirt-1.0.5#<mailto:root at qemu-kvm:%7E/libvirt-1.0.5> ovs-vsctl del-port br0 vnet0
root at qemu-kvm:~/libvirt-1.0.5#<mailto:root at qemu-kvm:%7E/libvirt-1.0.5> libvirtd --version
libvirtd (libvirt) 1.0.5
root at qemu-kvm:~/libvirt-1.0.5#<mailto:root at qemu-kvm:%7E/libvirt-1.0.5> virsh --version
1.0.5
root at qemu-kvm:~/libvirt-1.0.5#<mailto:root at qemu-kvm:%7E/libvirt-1.0.5> virt-install --connect qemu:///system --name DSL2 --ram 1024 --vcpus 1 --disk path=/tmp/dsl2,size=1,bus=virtio,cache=none --network=bridge:br0  --vnc --os-type=linux --cdrom /dev/sr0

There is nothing in this command line to say that the bridge is an openvswitch bridge, so libvirt is attempting to treat it as the default Linux host bridge type.

As a matter of fact, as far as I know virt-install hasn't been enhanced to support direct description of an openvswitch bridge on its commandline.


The best way to solve this problem is to create a libvirt network to encapsulate the openvswitch bridge, then tell virt-install to use that network.

1) Put the following xml into a file (e.g. /tmp/ovsnet.xml):


    <network>
      <name>ovs-br0</name>
      <forward mode='bridge'/>
      <bridge name='br0'/>
      <virtualport type='openvswitch'/>
    </network>

2) define and start the network:

    # virsh net-define /tmp/ovsnet.xml
    # virsh net-start ovs-br0
    # virsh net-autostart ovs-br0

3) run virt-install telling it to use the network "ovs-net":

    # virt-install --connect qemu:///system --name DSL2 --ram 1024 --vcpus 1 \
      --disk path=/tmp/dsl2,size=1,bus=virtio,cache=none \
      --network=ovs-br0 \    <======= THIS LINE IS CHANGED.
      --vnc --os-type=linux --cdrom /dev/sr0

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20130513/44ec9194/attachment.htm>


More information about the libvirt-users mailing list