Neutron ovs config instructions are not clear

Bug #1700323 reported by venu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
openstack-helm
Fix Released
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
}}}

Revision history for this message
Artur Korzeniewski (artur-korzeniewski) wrote :

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?

Revision history for this message
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:~$

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to openstack-helm (master)

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
Revision history for this message
Artur Korzeniewski (artur-korzeniewski) wrote :

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.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to openstack-helm (master)

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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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