Thursday, October 31, 2013

Openstack Havana OpenVSwitch wont start (Ubuntu 12.04LTS)


Intro: I thought I would try to share this with others that may run into the same issues I did with openvswitch installation and where adding bridge interfaces would hang and not actually create the bridge interface on the machine.

Symptoms:
# ovs-vsctl add-br br-int
running the above command would just hang, hitting control-c would end with a warning/error and if you ran that command again it would say that the interface already existed.
# ovs-vsctl show
would show that the interface br-int was created, but running the command that openstack runs to check if the interface exists.
# ip -o link show br-int
returns:
Device "br-int" does not exist.
upon checking the openvswitch-switch service it was no started and had the below log entries in the neutron log
/var/log/neutron/openvswitch-agent.log
Stderr: 'Device "br-int" does not exist.\n'
2013-10-29 13:34:49.759 12968 CRITICAL neutron [-]
Command: ['ip', '-o', 'link', 'show', 'br-int']
Exit code: 1
Stdout: ''
Running a few other checks below help to determine that the openvswitch kernel module isn't loading (I found here on launchpad)
# depmod
# modprobe openvswitch_mod
module not found
FIX: I then was able to find another article on launchpad that solved my particular issue by installing another package link
# apt-get install openvswitch-datapath-dkms
The above will go through and compile the module in, once completed everything should start working and we can test that by running the commands below
# ovs-vsctl add-br br-int
# ovs-vsctl show
04fd431f-06dd-4686-ade5-e3cbd59f63b6
    Bridge br-int
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "tap2a0a5bb8-b4"
            tag: 1
            Interface "tap2a0a5bb8-b4"
        Port "tapdd47ef99-9b"
            tag: 1
            Interface "tapdd47ef99-9b"
                type: internal
        Port br-int
            Interface br-int
                type: internal
    Bridge br-tun
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port br-tun
            Interface br-tun
                type: internal
    ovs_version: "1.10.2"
I will look for a better/proper fix for this assuming there is one and change this post, or update it if anyone has a better suggestion.
 
© Bruce Martins
All rights reserved
Bloggerized by Free Blogger Templates
Instruction by Blog Teacher