Neutron ovs config instructions are not clear

Bug #1700323 reported by venu on 2017-06-25
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-helm
Undecided
Artur Korzeniewski

Bug Description

values.yaml indicates, we can leave tunnel if not vxlan, instead it should be mandatory.

 # External interface will be automatically added to external_bridge. Default is null.
  # Tunnel interface will be used for VXLAN tunneling. Default is null, with
  # fallback mechanism to search for interface with default routing.
    external: null
    tunnel: null

If left null the "local_ip" never gets assigned and neutron fails to deploy

{{{
#_neutron-openvswitch-agent-init.sh.tpl

tunnel_interface="{{- .Values.network.interface.tunnel -}}"
if [ -z "${tunnel_interface}" ] ; then
    # search for interface with default routing
    tunnel_interface=$(ip r | grep default | grep -oP '(?<=dev ).*')
fi

# determine local-ip dynamically based on interface provided but only if tunnel_types is not null
IP=$(ip a s $tunnel_interface | grep 'inet ' | awk '{print $2}' | awk -F "/" '{print $1}')
cat <<EOF>/tmp/pod-shared/ml2-local-ip.ini
[ovs]
local_ip = $IP
EOF
}}}

The general idea is that if tunnel_interface is null, then tunnel interface should be discovered by line:
tunnel_interface=$(ip r | grep default | grep -oP '(?<=dev ).*')

What is the tunnel_interface set to when you run it by hand in your setup, where ovs-agent is failing to start?

Can you paste logs from ovs-agent pod?

Alan Meadows (alan-meadows) wrote :

Artur, I hope this has been resolved. The original grep did not work across all platforms.

I would of said that it does get set in those problematic scenarios, but set to a bad value that. For instance:

alan@clcp-demo-1:~$ ip r | grep default | grep -oP '(?<=dev ).*'
enp3s0f0.31 onlink <--- we will use this entire string

alan@clcp-demo-1:~$ ip r s
default via 10.24.31.1 dev enp3s0f0.31 onlink
10.24.30.0/24 dev enp1s0f0 proto kernel scope link src 10.24.30.31
10.24.31.0/24 dev enp3s0f0.31 proto kernel scope link src 10.24.31.31
blackhole 10.97.23.128/26 proto bird
10.97.23.129 dev cali4a52847a5d4 scope link
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
alan@clcp-demo-1:~$

Fix proposed to branch: master
Review: https://review.openstack.org/499156

Changed in openstack-helm:
assignee: nobody → Artur Korzeniewski (artur-korzeniewski)
status: New → In Progress

Alan, for OVS it was fixed on 2017-07-13 with PS https://review.openstack.org/#/c/483160/

I have introduced new commit for fixing it with linuxbridge implementation and to unify between LB and OVS.

Reviewed: https://review.openstack.org/499156
Committed: https://git.openstack.org/cgit/openstack/openstack-helm/commit/?id=4ed7de8f715fbda77fee7fc05deebcdc78ab7e0a
Submitter: Jenkins
Branch: master

commit 4ed7de8f715fbda77fee7fc05deebcdc78ab7e0a
Author: Artur Korzeniewski <email address hidden>
Date: Fri Sep 8 09:38:05 2017 +0200

    Neutron: fix reg exp for finding default tunneling interface

    Grep the output from 'ip route' command matching first word after match.
    The OVS was fixed some time ago, but in new linuxbridge the default
    tunnel interface was following wrong grep expression.
    Making both OVS and linuxbridge to follow the same reg exp.

    Change-Id: I222d694b06285d5ec3d848ee157542796dfc1cc7
    Closes-Bug: #1700323

Changed in openstack-helm:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers