Octavia strange br-lbaas bridge network issue

Bug #1835157 reported by Satish Patel
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack-Ansible
Invalid
Undecided
Unassigned

Bug Description

I am deploying openstack (stein) and trying to setup this network setup https://github.com/rcbops/rpc-octavia/blob/master/INSTALLATION.md

I am running CentOS and in example they used ubuntu, On CentOS i have created bond0.27 interface and map it with br-lbaas bridge interface like following.

ifcfg-bond0.27

# VLAN 27 br-lbaas octivia lb-mgmt
NAME=bond0.27
DEVICE=bond0.27
ONBOOT=yes
BOOTPROTO=static
VLAN=yes
NM_CONTROLLED=no
BRIDGE=br-lbaas
MTU="1500"
ifcfg-br-lbaas

# Openstack Octivia Managment Interface
DEVICE=br-lbaas
NAME=br-lbaas
BOOTPROTO=none
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
DELAY=0
STP=no
IPADDR=172.27.8.22
NETMASK=255.255.248.0
ETHTOOL_OPTS="-K ${DEVICE} gso off sg off tso off tx off"
And as soon as i configured following as per documentation, it stopped pinging.

# This sets up the link
ip link add v-br-vlan type veth peer name v-br-lbaas
ip link add link v-br-lbaas name v-br-lbaas.27 type vlan id 27
ip link set v-br-vlan up
ip link set v-br-lbaas up
ip link set v-br-lbaas.27 up
brctl addif br-lbaas v-br-lbaas.27
brctl addif br-vlan v-br-vlan
when i checked dmesg logs i found this.

[90396.729543] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
[90397.732518] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
[90398.734533] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
[90399.806250] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
[90400.808594] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
[90401.599377] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
[90401.810632] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
[90402.600634] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
[90403.602670] br-vlan: received packet on v-br-vlan with own address as source address (addr:38:ea:a7:33:b9:a8, vlan:0)
Look like its creating some kind of loops, my OS is centos 7.6 and kernel 3.10.0-957.21.3.el7.x86_64

Revision history for this message
Shannon Mitchell (shannon-mitchell) wrote :

I would avoid using rpc-octavia and especially that network configuration as it is prone to network loops. Octavia is in built into the main product now as far as I'm aware.

https://github.com/openstack/openstack-ansible-os_octavia

https://docs.openstack.org/openstack-ansible-os_octavia/latest/configure-octavia.html#setup-a-neutron-network-for-use-by-octavia

Revision history for this message
Shannon Mitchell (shannon-mitchell) wrote :

# You original setup
bond0 => bond0.27 => br-lbaas

# With the network script additions(you can see the loop)
bond0 => bond0.27 => br-lbaas => v-br-lbaas.27 => v-br-lbaas <=> v-br-vlan => br-vlan => bond0

# Better opption(avoids multiple vlan interfaces for 27(arp issues) and gets rid of the loop).
bond0 => bond0.27 => br-lbaas => lb-veth-int <=> lb-veth-ovrd

    # veth pair creation
    ip link add lb-veth-int type veth peer name lb-veth-ovrd
    ip link set lb-veth-int up
    ip link set lb-veth-ovrd up
    brctl addif br-lbaas lb-veth-int

    # You can then use lb-veth-ovrd as your host bind override.
    - network:
        container_bridge: "br-lbaas"
        container_type: "veth"
        container_interface: "eth14"
        host_bind_override: "lb-veth-ovrd"
        type: "flat"
        net_name: "lbaas"
        ip_from_q: "lbaas"
        group_binds:
            - neutron_linuxbridge_agent
            - octavia-worker
            - octavia-housekeeping
            - octavia-health-manager

Changed in openstack-ansible:
status: New → Invalid
Revision history for this message
Michael Johnson (johnsom) wrote :

Yeah, rpc-octavia is not an OpenStack role (really should not be used). It is not how OpenStack Ansible is setup. This is invalid here.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.