diff options
author | Jakub Libosvar <libosvar@redhat.com> | 2017-08-21 16:21:12 +0000 |
---|---|---|
committer | Jakub Libosvar <jlibosva-redhat@email.cz> | 2017-08-23 13:46:29 +0000 |
commit | 77fe5922bd7ca5c2a199d383b03537c08edfcc1c (patch) | |
tree | 91679e9e34216177e9f6cfdb183b6d93673d50f1 /os_net_config/tests/test_impl_eni.py | |
parent | 0aeb39cb9254919173fd04705193b3be317bf33a (diff) |
Delete controller for standalone OVS bridges
The patch adds an OVS extra parameter to delete controller for bridges
configured with standalone fail mode. By default, bridges are created
without having an openflow controllers. If node is restarted, the bridge
is set to standalone mode but if a service managing the bridge sets a
controller, it will remain in the ovsdb.
As ovs-vswitchd sets the bridge behavior to normal MAC learning switch
only if bridge in standalone mode can't communicate with its controller,
leaving controller defined can cause node outage when bridge is used as
management network. In such case controller service, like
neutron-openvswitch-agent, would need to communicate over management
network but given that bridge is in standalone mode but communicates
with controller, management network won't be reachable. This creates a
chicken-egg problem.
By removing controller by default, ovs-vswitchd implements a normal
action rule to the standalone bridge and service can use the bridge as
management network and eventually set the brdige to secure and set the
flows manually.
See opened Bugzilla for more information:
https://bugzilla.redhat.com/show_bug.cgi?id=1473763
Closes-bug: #1712517
Change-Id: Iad48312667834ea8f5c7145595ae89cb5159b36d
(cherry picked from commit f8d76d2cdebfa0d06233a59a8f6539207c5b5a4e)
Diffstat (limited to 'os_net_config/tests/test_impl_eni.py')
-rw-r--r-- | os_net_config/tests/test_impl_eni.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/os_net_config/tests/test_impl_eni.py b/os_net_config/tests/test_impl_eni.py index 51354f8..902cc02 100644 --- a/os_net_config/tests/test_impl_eni.py +++ b/os_net_config/tests/test_impl_eni.py @@ -73,8 +73,9 @@ iface br0 inet dhcp pre-up ip addr flush dev eth0 """ -_OVS_BRIDGE_DHCP_STANDALONE = _OVS_BRIDGE_DHCP + \ - " ovs_extra set bridge br0 fail_mode=standalone\n" +_OVS_BRIDGE_DHCP_STANDALONE = _OVS_BRIDGE_DHCP + ( + " ovs_extra set bridge br0 fail_mode=standalone " + "-- del-controller br0\n") _OVS_BRIDGE_DHCP_SECURE = _OVS_BRIDGE_DHCP + \ " ovs_extra set bridge br0 fail_mode=secure\n" |