We set conf.database.connection into empty in agent,
and tell wsgi does not to connect db in this case.
Change-Id: Icb83157ef6f1157068f3d4238b946fdbb890083f
Closes-bug: #
1425844
config.init(sys.argv[1:])
config.setup_logging()
utils.log_opt_values(LOG)
+ # metadata agent need not connect DB
+ cfg.CONF.set_override("connection", "", "database")
proxy = agent.UnixDomainMetadataProxy(cfg.CONF)
proxy.run()
mock.call(cfg.CONF),
mock.call().run()]
)
+ cfg.CONF.set_override.assert_called_once_with(
+ "connection", "", "database")
def test_init_state_reporting(self):
with mock.patch('os.makedirs'):
return opener.open(*args, **kwargs)
+class TestWorkerService(base.BaseTestCase):
+ """WorkerService tests."""
+
+ @mock.patch('neutron.db.api')
+ def test_start_withoutdb_call(self, apimock):
+ _service = mock.Mock()
+ _service.pool = mock.Mock()
+ _service.pool.spawn = mock.Mock()
+ _service.pool.spawn.return_value = None
+
+ _app = mock.Mock()
+ cfg.CONF.set_override("connection", "", "database")
+ workerservice = wsgi.WorkerService(_service, _app)
+ workerservice.start()
+ self.assertFalse(apimock.get_engine.called)
+
+
class TestWSGIServer(base.BaseTestCase):
"""WSGI server tests."""
def start(self):
# We may have just forked from parent process. A quick disposal of the
- # existing sql connections avoids producting 500 errors later when they
+ # existing sql connections avoids producing 500 errors later when they
# are discovered to be broken.
- api.get_engine().pool.dispose()
+ if CONF.database.connection:
+ api.get_engine().pool.dispose()
self._server = self._service.pool.spawn(self._service._run,
self._application,
self._service._socket)