openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #20804
Re: brctl meltdown on RHEL 6.3
Solution:
[root@kvm-cs-sn-10i nova]# modprobe -r brcompat
[root@kvm-cs-sn-10i nova]# modprobe bridge
[root@kvm-cs-sn-10i nova]# brctl show
bridge name bridge id STP enabled interfaces
Still can't boot a VM... looking into the reasons now.
On Mon, Feb 11, 2013 at 11:33 AM, Greg Chavez <greg.chavez@xxxxxxxxx> wrote:
>
> Running latest EPEL Folsom packages on RHEL 6.3. Three nodes right now,
> one controller, one network node, one compute node. The network node has
> three NICs, one for external net, one for management net, one for VM
> network traffic. It has been a miserable journey so far.
>
> The lastest calamity began with a failed spawn of the Cirros test image.
> I booted it like this:
>
> # nova --os-username demo --os-password demo --os-tenant-name demoProject
> boot --image aefa581f-47b0-4d46-8dbc-1a1f7f02dfa0 --flavor 2 --nic
> net-id=3de1e780-07d1-42af-89cc-0feaf1ece6e9 server-01
>
> This succeeded but went directly into an ERROR state. The compute node's
> /var/log/nova/compute.log showed this:
>
> ProcessExecutionError: Unexpected error while running command.
> Command: sudo nova-rootwrap /etc/nova/rootwrap.conf brctl addbr
> qbr2218b8c4-7d
> Exit code: 1
> Stdout: ''
> Stderr: 'add bridge failed: Package not installed\n'
>
> Hrm. So then I ran this:
>
> # brctl show
> bridge name bridge id STP enabled interfaces
> br-eth1 /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> /sys/class/net/br-eth1/bridge: No such file or directory
> 0000.bc305befedd1 no
> br-int /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> /sys/class/net/br-int/bridge: No such file or directory
> 0000.7e1636f42c4b no
>
> GAH! What!!! First of all, bridge capability is set by default in the
> RHEL 6.3 kernel. Secondly, nova knows that it's supposed to be using
> openvswitch. The ProcessExecutionError's trace showed that the offending
> code came from /usr/lib/python2.6/site-packages/nova/virt/libvirt/vif.py
> line 216 which has this comment:
>
> def plug(self, instance, vif):
> """Plug using hybrid strategy
>
> Create a per-VIF linux bridge, then link that bridge to the OVS
> integration bridge via a veth device, setting up the other end
> of the veth device just like a normal OVS port. Then boot the
> VIF on the linux bridge using standard libvirt mechanisms
> """
>
> Thirdly, ovs-vsctrl is happy:
>
> # ovs-vsctl show
> 44435595-8cc8-469c-ace4-ded76a7b864d
> Bridge "br-eth1"
> Port "br-eth1"
> Interface "br-eth1"
> type: internal
> Port "phy-br-eth1"
> Interface "phy-br-eth1"
> Port "eth1"
> Interface "eth1"
> Bridge br-int
> Port "int-br-eth1"
> Interface "int-br-eth1"
> Port br-int
> Interface br-int
> type: internal
> ovs_version: "1.7.3"
>
> Final note, my network node fails the same way, but the controller does
> not.
>
> I hope so much that somebody knows what is going on here. This is very
> terrible for me as I am struggling to achieve minimal functionality.
> Thanks.
>
> --
> \*..+.-
> --Greg Chavez
> +//..;};
>
--
\*..+.-
--Greg Chavez
+//..;};
Follow ups
References