port status update does not work w/ High Availability
Description
Environment
Operating System: All
Platform: All
Activity
Show:

Sam Hague April 6, 2018 at 11:48 AM
I think this works now, so please update accordingly.

Tim Rozet September 20, 2017 at 12:52 PM
Why do we not open websocket connections on every ODL to neutron IP/VIP. HAProxy can loadbalance the websocket connections to neutron.

Josh Hershberg September 12, 2017 at 12:32 PMEdited
Note that the reason the websocket event fires only on the leader is because it is triggered (in netconf) by a data change notification which occurs only as a result of a write and not a write triggered by replication.

Josh Hershberg September 12, 2017 at 12:09 PMEdited
NOTE: THE ASCII ART IS MESSED UP BUT IF YOU CUT-PASTE IT ELSEWHERE YOU'LL BE ABLE TO SEE IT
Our current deployment has three controllers, each with an odl instance and a neutron/n-odl instance. The neutron/n-odl instances connect to odl via a VIP. In the deployment we have all webwsocket connections are established against odl0 but the neutron port events that trigger the flow creation and set the operational port status to ACTIVE occur on odl2 which is the "leader". This means that the websocket event is generated on odl2 only...but no one is listening for websocket events on odl2...so the port never gets set to ACTIVE in neutron and the VM remains in BUILD state forever and ever.
----------------------------- ----------------------------- -----------------------------
---------------------
---------------------
---------------------
odl0
odl1
odl2
port created here
--------------------+
---------------------
---------------------
^
websocket---------------------------+------------------------------------+
--------------------+
--------------------+
--------------------+
neutron/n-odl
neutron/n-odl
neutron/n-odl
---------------------
---------------------
---------------------
----------------------------- ----------------------------- -----------------------------