Why isn't ethernet bridging working with OpenStack?

8,284

First, forget virbr0 -- that's added by libvirt and is irrelevant.

For an "all-in-one" Openstack server with one NIC, there should be no need for another aliased virtual interface. As discussed in the Openstack guide, you should bridge br100 to your public IP address (eth0), and let Nova create instances and bridge them to br100.

e.g. add the below to /etc/network/interfaces, modify as appropriate for static:

auto br100
iface br100 inet dhcp
    bridge_ports        eth0
    bridge_stp           off
    bridge_maxwait   0
    bridge_fd            0

The allowable private IP subnet has to be configured via the --fixed-range option in nova.conf, and the --flat_network_bridge option set to br100.

Please paste your nova.conf in the question to help with further troubleshooting!

Share:
8,284

Related videos on Youtube

ChrisM
Author by

ChrisM

Updated on September 18, 2022

Comments

  • ChrisM
    ChrisM over 1 year

    I'm trying to setup OpenStack with the nova.network.manager.FlatManager network manager which attaches (in my setting) every virtual machine to the br100 network bridge.

    On my host, I'm using the following network setting:

    auto lo
      iface lo inet loopback
    
    auto eth0
      iface eth0 inet static
      address 192.168.0.50
      netmask 255.255.255.0
      broadcast 192.168.0.255
      gateway 192.168.0.1
    
    auto eth0:0
    iface eth0:0 inet static
      address 192.168.100.1
      netmask 255.255.255.0
      broadcast 192.168.100.255
    

    which results in the following interface configuration:

    eth0      Link encap:Ethernet  HWaddr 00:1a:92:08:15:43  
              inet addr:192.168.0.50  Bcast:192.168.0.255  Mask:255.255.255.0
              inet6 addr: fe80::21a:92ff:fe08:1543/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:5365 errors:0 dropped:0 overruns:0 frame:0
              TX packets:5177 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:572855 (572.8 KB)  TX bytes:1812681 (1.8 MB)
              Interrupt:43 Base address:0x6000 
    
    eth0:0    Link encap:Ethernet  HWaddr 00:1a:92:08:15:43  
              inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              Interrupt:43 Base address:0x6000 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:49079 errors:0 dropped:0 overruns:0 frame:0
              TX packets:49079 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:25157104 (25.1 MB)  TX bytes:25157104 (25.1 MB)
    
    virbr0    Link encap:Ethernet  HWaddr c6:b2:4f:da:cd:ff  
              inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
              UP BROADCAST MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
    vnet1     Link encap:Ethernet  HWaddr fe:16:3e:3a:77:dc  
              inet6 addr: fe80::fc16:3eff:fe3a:77dc/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:153 errors:0 dropped:0 overruns:0 frame:0
              TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:500 
              RX bytes:6642 (6.6 KB)  TX bytes:468 (468.0 B)
    

    The bridge configuration (brctl show) looks like this:

    bridge name     bridge id               STP enabled     interfaces
    br100           8000.fe163e3a77dc       no              vnet1
    virbr0          8000.000000000000       yes
    

    I've created a virtual machine (using vnet1) that has been assigned the IP address 192.168.100.2.

    For me, everything seem fines, except that eth0:0 is not attached to the bridge. When I try to change that by running brctl addif br100 eth0:0, networking breaks completely (I cannot ping other hosts on the 192.168.0.x subnet anymore), but still, I cannot ping the virtual machine attached to the bridge (using the vnet1 interface).

    How can I attach eth0:0 to the bridge without breaking my eth0 LAN connection? Or is there a superior way for networking in an OpenStack test environment on a host with only one physical network adapter?