]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fix database reconnection
authorGary Kotton <gkotton@redhat.com>
Thu, 24 Jan 2013 09:15:32 +0000 (09:15 +0000)
committerGary Kotton <gkotton@redhat.com>
Thu, 24 Jan 2013 09:17:19 +0000 (09:17 +0000)
Fixes bug 1103904

Change-Id: I2f3bc450d5d7ea04c20b3be2afed3c0c5a00435a

quantum/db/api.py
quantum/tests/unit/test_db.py [new file with mode: 0644]

index 1c43231bc9b28a770a4fcbafa93747622cbb821c..a1e0abf450d66e87e613ff43d5fe99722dfb90c9 100644 (file)
@@ -146,7 +146,7 @@ def configure_db():
         sql.event.listen(_ENGINE, 'checkin', greenthread_yield)
 
         if not register_models():
-            if 'reconnect_interval' in options:
+            if cfg.CONF.DATABASE.reconnect_interval:
                 remaining = cfg.CONF.DATABASE.sql_max_retries
                 reconnect_interval = cfg.CONF.DATABASE.reconnect_interval
                 retry_registration(remaining, reconnect_interval)
diff --git a/quantum/tests/unit/test_db.py b/quantum/tests/unit/test_db.py
new file mode 100644 (file)
index 0000000..5fa660f
--- /dev/null
@@ -0,0 +1,31 @@
+# Copyright (c) 2013 OpenStack, LLC.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Test of DB API"""
+
+import unittest2 as unittest
+
+import mock
+
+import quantum.db.api as db
+from quantum.openstack.common import cfg
+
+
+class DBTestCase(unittest.TestCase):
+    def test_db_reconnect(self):
+        cfg.CONF.set_override('sql_max_retries', 3, 'DATABASE')
+        with mock.patch.object(db, 'register_models') as mock_register:
+            mock_register.return_value = False
+            db.configure_db()