From 2173649d483d1b8e7c734c841aa0b9daf970be2a Mon Sep 17 00:00:00 2001 From: Devananda van der Veen Date: Thu, 21 Jan 2016 15:27:07 -0800 Subject: [PATCH] API service logs access requests again The API service used to log access requests, as is customary for API services. However, commit c4bd20ebd4b42201bf40e00d4f0a1b2c69d2e931 unintentionally changed this behavior when changing over to use oslo_service. This commit causes ironic-api to resume logging access requests, now with all the additional information that oslo_service provides, by changing the logger_name to the service name (instead of the default, which was being filtered out). Change-Id: I5855d4d2bd9eb70bf5f77fb2dc8c712f74304a07 Closes-bug: #1536828 --- ironic/common/service.py | 3 ++- ironic/tests/unit/common/test_service.py | 15 ++++++++++++--- .../fix-api-access-logs-68b9ca4f411f339c.yaml | 4 ++++ 3 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml diff --git a/ironic/common/service.py b/ironic/common/service.py index 7da3f426f0..01333c9642 100644 --- a/ironic/common/service.py +++ b/ironic/common/service.py @@ -170,7 +170,8 @@ class WSGIService(service.ServiceBase): self.server = wsgi.Server(CONF, name, self.app, host=CONF.api.host_ip, port=CONF.api.port, - use_ssl=use_ssl) + use_ssl=use_ssl, + logger_name=name) def start(self): """Start serving this service using loaded configuration. diff --git a/ironic/tests/unit/common/test_service.py b/ironic/tests/unit/common/test_service.py index d08db92bbd..3f2707a47d 100644 --- a/ironic/tests/unit/common/test_service.py +++ b/ironic/tests/unit/common/test_service.py @@ -24,9 +24,16 @@ CONF = cfg.CONF class TestWSGIService(base.TestCase): @mock.patch.object(service.wsgi, 'Server') def test_workers_set_default(self, wsgi_server): - test_service = service.WSGIService("ironic_api") + service_name = "ironic_api" + test_service = service.WSGIService(service_name) self.assertEqual(processutils.get_worker_count(), test_service.workers) + wsgi_server.assert_called_once_with(CONF, service_name, + test_service.app, + host='0.0.0.0', + port=6385, + use_ssl=False, + logger_name=service_name) @mock.patch.object(service.wsgi, 'Server') def test_workers_set_correct_setting(self, wsgi_server): @@ -51,9 +58,11 @@ class TestWSGIService(base.TestCase): @mock.patch.object(service.wsgi, 'Server') def test_wsgi_service_with_ssl_enabled(self, wsgi_server): self.config(enable_ssl_api=True, group='api') + service_name = 'ironic_api' srv = service.WSGIService('ironic_api', CONF.api.enable_ssl_api) - wsgi_server.assert_called_once_with(CONF, 'ironic_api', + wsgi_server.assert_called_once_with(CONF, service_name, srv.app, host='0.0.0.0', port=6385, - use_ssl=True) + use_ssl=True, + logger_name=service_name) diff --git a/releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml b/releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml new file mode 100644 index 0000000000..29ff7ac8b4 --- /dev/null +++ b/releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - API service once again records HTTP access logs. See + https://bugs.launchpad.net/ironic/+bug/1536828 for details.