From 7ea278087c32235efa793c8c815aff3861410f13 Mon Sep 17 00:00:00 2001 From: Gal Sagie Date: Tue, 26 May 2015 19:16:34 +0300 Subject: [PATCH] OVS_LIB support API for setting fail mode 'standalone' The current API only support setting a bridge fail mode to secure, this patch allow the user to set it to 'standalone' as well Change-Id: If7e6532dc7f8527c35834a37144ea4386fe1b861 Closes-Bug: #1458924 --- neutron/agent/common/ovs_lib.py | 5 +++++ neutron/tests/functional/agent/test_ovs_lib.py | 6 +++++- neutron/tests/unit/agent/common/test_ovs_lib.py | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/neutron/agent/common/ovs_lib.py b/neutron/agent/common/ovs_lib.py index 1b122ac09..933ab6779 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 69589a564..f43048189 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 28633e8e4..d1bb0c882 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) -- 2.45.2