Cannot find device br-ex fix for openvswitch on openstack

Cannot find device br-ex fix for openvswitch on openstack

Cannot find device br-ex fix for openvswitch on openstack

During the installation of OpenStack on Debian Wheezy I noticed an unusual Behave. While booting up the networking task Debian complained about: Cannot find device br-ex. In this shortie i will give you an solution for that.

Since the upstart scripts are very susceptible in timing on Debian i tought myself why not start openvswitch before the networking script is loading?

So this is what we do now!

Prerequisites:

  • editor: your preferred one
  • insserv for enabling new init script
  • init script config tool: update-rc.d

Network interfaces like described in Openstack tutorial:

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255

auto eth1
iface eth1 inet manual
        up ifconfig $IFACE 0.0.0.0 up
	up ip link set $IFACE promisc on
	down ip link set $IFACE promisc off
        down ifconfig $IFACE down

auto br-ex
iface br-ex inet static
        address 1.2.3.2
        netmask 255.255.255.0
        network 1.2.3.0
        broadcast 1.2.4.254
        gateway 1.2.3.1
        dns-nameservers 8.8.8.8
        dns-search your.name

First of all we need to smash out the old LSB symlinks:

update-rc.d -f openvswitch-switch remove

make sure that the symlinks are gone by entering:

ls /etc/rc[0-9].d/*openvswitch-switch

if everything is clean do backup the original script:

cp /etc/init.d/openvswitch-switch /etc/init.d/openvswitch-switch.orig

Now here comes the magic:

The original LSB header part of openvswitch-switch looks like this:

### BEGIN INIT INFO
# Provides:          openvswitch-switch
# Required-Start:    $network $named $remote_fs $syslog
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Open vSwitch switch
### END INIT INFO

But we want to look it like this:

### BEGIN INIT INFO
# Provides:          openvswitch-switch
# Required-Start:    mountkernfs $local_fs urandom
# Required-Stop:     $local_fs
# X-Start-Before:    networking
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Open vSwitch switch
### END INIT INFO

after you have edited openvswitch-switch and saved the changes you finally have to run update-rc.d again to get the symlinks corrected.

Enable it by running command:

insserv openvswitch-switch

and check if /etc/rcS.d/*openvswitch-switch exists.

You are ready to reboot now and check the results.

Happy fixing!

Rating: 4.5/5. From 2 votes.
Please wait...
Jules

Jules

Jules is the owner and author of ISPIRE.ME. He's a Linux System Engineer, Tech fanatic and an Open Source fan.

You may also like...

1 Response

  1. Alberto Molina Alberto Molina says:

    Thank you very much Jules!

    This solve the same issue I was facing on Debian Jessie. The modification proposed to LSB header part of openvswitch-switch works fine, although jessie is using systemd

    An additional modification is needed in my case in /etc/network/interfaces:

    auto br-ex
    iface br-ex inet static
    address ...
    netmask ...
    up ifconfig eth0 up
    up ip link set eth0 promisc on
    down ip link set eth0 promisc off
    down ifconfig eth0 down

    No votes yet.
    Please wait...

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.