]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
OVS_LIB support API for setting fail mode 'standalone'
authorGal Sagie <gal.sagie@huawei.com>
Tue, 26 May 2015 16:16:34 +0000 (19:16 +0300)
committerGal Sagie <gal.sagie@huawei.com>
Tue, 26 May 2015 17:20:57 +0000 (20:20 +0300)
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
neutron/tests/functional/agent/test_ovs_lib.py
neutron/tests/unit/agent/common/test_ovs_lib.py

index 1b122ac099f6a805cc571b9071a89b55428d5e4c..933ab67796c5eb103d9adc807f8240d19fa6006b 100644 (file)
@@ -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)
index 69589a564863672e01465495eafad77a1f915547..f430481899baed52c352acbc300b57ced38e3b6b 100644 (file)
@@ -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'),
index 28633e8e47863e01b4721f60fc6492456c304144..d1bb0c882100f403cbf12516656806511a6f70e8 100644 (file)
@@ -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)