An update on this -
My issue was having to manually add the external VLAN tag to the fg
interface everytime a new FIP namespace was created (FIP namespaces are
deleted when there are no more instances on a compute node with floating
ips)
I discovered that you can create a virtual bridge within a bridge with a
default VLAN tag. So when a port is dynamically created in this new
bridge it automatically get the external VLAN tag.
sudo ovs-vsctl add-br br-vlan1041 br-ex 1041
This solves the issue. I just point the neutron config to the new
external bridge and the fg ports get created on the new virtual bridge
tagged with 1041
Charles
On 02/03/2016 09:34, Charles Short wrote:
Hi,
I have a simple single nic bare metal set up much like this -
https://answers.launchpad.net/neutron/+question/228376
Tenant networks are VLANs, and the external network a VLAN provider
network.
This enables me to have one bridge which allows the VLAN overlays to
pass between nodes/physical switches, and importantly allows external
access via floating ip through the external provider network VLAN.
This was all working fine, but I wanted to install DVR. I saw that DVR
functionality had relatively recently been added for VLAN overlays
(Kilo and beyond)
https://blueprints.launchpad.net/neutron/+spec/neutron-ovs-dvr-vlan
So I enabled DVR, noting that for VLAN overlays l2population is not
required.
I created two instances, two tenant networks one with a normal router
(non DVR) and one with a DVR router.
I first tested SNAT on both. Worked fine (I could ping externally from
the instances)
I then applied a FIP to the non DVR routed instance. I could ping the
instance from the external network, so all working fine.
I then applied a FIP to the DVR routed instance. This is where the
problems began. I could not ping externally from the instance, and I
could not ping the instance from the external network.
I looked at the traffic flow schematic outlined here for North/South
FIP (allowing for the fact I am not using tunneling) -
http://docs.openstack.org/liberty/networking-guide/scenario_dvr_ovs.html
I noticed that the fg interface from the FIP namespace in my compute
node was NOT attached to br-int as in the guide, but was attached to
my VLAN bridge. This seemed odd.
I thought that maybe this would have an effect on the tagging, so
tried manually adding the tag for the external provider network VLAN
to the fg port on the VLAN bridge
ovs-vsctl set port fg-15df2853-c2 tag=1041
Suddenly it all started working. I could now ping externally from the
DVR routed instance, and I could ping the instance from the external
network.
Please can someone explain why I am seeing this behavior?
Thanks
Charles
--
Charles Short
Cloud Engineer
Virtualization and Cloud Team
European Bioinformatics Institute (EMBL-EBI)
Tel: +44 (0)1223 494205