yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #60428
[Bug 1646526] Re: bgpvpn functionality lost on openvswitch restart
Indeed we don't call ext_manager.initialize() on OVS restart detection,
hence flows not set. I believe it's to be fixed on neutron side, so
changing the component accordingly.
A logical fix could be moving .initialize() call under rpc_loop, but
since .initialize() usually registers consumers, and this should happen
before we call to consume_in_threads() [and this happens on agent
__init__], it probably won't work.
An alternative to that could be making note of all flow operations made
by each extension on OVSCookieBridge and replay those on OVS restart.
There is a problem with it though: it may be very wasteful (most entries
in the journal could be irrelevant), and even unsafe (we may expose the
node to a state from the journal past).
To avoid that problem, we could try to keep the latest flow state in-
memory and dumb just that. I am not sure if mere interception of
[add|mod|delete]_flow gives enough information to maintain that state
though. (That's another case where we suffer from lack of proper flow
manager in neutron.)
If nothing works, we can add an 'OVS restarted' event that extensions
could intercept (or entry point to be called by agent in such scenario).
Of course, the extension would need to implement it, which will require
from it to maintain the in-memory map of its flows.
** Project changed: bgpvpn => neutron
** Changed in: neutron
Milestone: 6.0.0 => None
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1646526
Title:
bgpvpn functionality lost on openvswitch restart
Status in neutron:
Confirmed
Bug description:
On an openvswitch restart (desired restart or after a crash), neutron
openvswitch agent detects the restart, and sets up br-int and br-tun
again. However, the base setup for br-tun/br-mpls/br-int integration
is done only at startup, via the initialize callback of the agent
extension API. As a result on openvswitch restart the br-tun flows to
forward traffic to and from br-mpls are lost, and the BGPVPN
connectivity is interrupted on the compute node.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1646526/+subscriptions