port status update does not work w/ High Availability

Description

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

---------------------

 

---------------------

 

---------------------

 

 

 

 

 

 

 

 

 

 

----------------------------- ----------------------------- -----------------------------

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 PM
Edited

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 PM
Edited

NOTE: THE ASCII ART IS MESSED UP BUT IF YOU CUT-PASTE IT ELSEWHERE YOU'LL BE ABLE TO SEE IT

Done

Details

Assignee

Reporter

External issue ID

Priority (migrated 2)

Highest

Components

Affects versions

Priority

Created September 12, 2017 at 12:07 PM
Updated May 29, 2018 at 2:58 PM
Resolved May 22, 2018 at 9:35 AM
Loading...