diff --git a/neutron/agent/common/ovs_lib.py b/neutron/agent/common/ovs_lib.py index 1b122ac099f..933ab67796c 100644 --- a/neutron/agent/common/ovs_lib.py +++ b/neutron/agent/common/ovs_lib.py @@ -40,6 +40,7 @@ UNASSIGNED_OFPORT = [] # OVS bridge fail modes FAILMODE_SECURE = 'secure' +FAILMODE_STANDALONE = 'standalone' OPTS = [ cfg.IntOpt('ovs_vsctl_timeout', @@ -160,6 +161,10 @@ class OVSBridge(BaseOVS): self.ovsdb.set_fail_mode(self.br_name, FAILMODE_SECURE).execute( check_error=True) + def set_standalone_mode(self): + self.ovsdb.set_fail_mode(self.br_name, FAILMODE_STANDALONE).execute( + check_error=True) + def set_protocols(self, protocols): self.set_db_attribute('Bridge', self.br_name, 'protocols', protocols, check_error=True) diff --git a/neutron/tests/functional/agent/test_ovs_lib.py b/neutron/tests/functional/agent/test_ovs_lib.py index 69589a56486..f430481899b 100644 --- a/neutron/tests/functional/agent/test_ovs_lib.py +++ b/neutron/tests/functional/agent/test_ovs_lib.py @@ -118,10 +118,14 @@ class OVSBridgeTestCase(OVSBridgeTestBase): self.br.db_get_val('Controller', self.br.br_name, 'connection_mode')) - def test_set_fail_mode(self): + def test_set_fail_mode_secure(self): self.br.set_secure_mode() self._assert_br_fail_mode(ovs_lib.FAILMODE_SECURE) + def test_set_fail_mode_standalone(self): + self.br.set_standalone_mode() + self._assert_br_fail_mode(ovs_lib.FAILMODE_STANDALONE) + def _assert_br_fail_mode(self, fail_mode): self.assertEqual( self.br.db_get_val('Bridge', self.br.br_name, 'fail_mode'), diff --git a/neutron/tests/unit/agent/common/test_ovs_lib.py b/neutron/tests/unit/agent/common/test_ovs_lib.py index 28633e8e478..d1bb0c88210 100644 --- a/neutron/tests/unit/agent/common/test_ovs_lib.py +++ b/neutron/tests/unit/agent/common/test_ovs_lib.py @@ -130,6 +130,10 @@ class OVS_Lib_Test(base.BaseTestCase): self.br.set_secure_mode() self._verify_vsctl_mock('set-fail-mode', self.BR_NAME, 'secure') + def test_set_standalone_mode(self): + self.br.set_standalone_mode() + self._verify_vsctl_mock('set-fail-mode', self.BR_NAME, 'standalone') + def test_set_protocols(self): protocols = 'OpenFlow13' self.br.set_protocols(protocols)