diff options
author | Abhishek Kekane <abhishek.kekane@nttdata.com> | 2017-01-18 13:36:01 +0530 |
---|---|---|
committer | Dinesh Bhor <dinesh.bhor@nttdata.com> | 2017-01-23 11:53:13 +0530 |
commit | 6962056c67dca1fee2e832ff8bfbc317ed4b5ec0 (patch) | |
tree | b5621d014a03d46d6c703cff06367bc904615f06 | |
parent | e04a4149f296a367d82b9aa01df8a90855999784 (diff) | |
download | python-cinderclient-6962056c67dca1fee2e832ff8bfbc317ed4b5ec0.tar.gz |
x-openstack-request-id logged twice in logs
In the recent release of keystoneauth1 2.18.0 provision is made to log
x-openstack-request-id for session client. Once this new library is synced
in openstack projects, the x-openstack-request-id will be logged twice
on the console if session client is used.
For example,
$ cinder --debug list
DEBUG:keystoneauth:GET call to volumev2 for
http://10.232.48.204:8776/v2/61da9e4b59cf4920acc5e78438f93223/volumes/detail
used request id req-dcc22730-021e-468a-8b12-da7d58b573a7
DEBUG:cinderclient.client:GET call to volumev2 for
http://10.232.48.204:8776/v2/61da9e4b59cf4920acc5e78438f93223/volumes/detail
used request id req-dcc22730-021e-468a-8b12-da7d58b573a7
Above log will be logged twice on the console.
Removed logging of x-openstack-request-id in case of SessionClient as it
is already logged in keystoneauth1. x-openstack-request-id will only be
logged once on console if HTTPClient is used.
Depends-On: Id0693a9958d26162b7a2a40173ca28de2d3e4f62
Closes-Bug: #1657351
Change-Id: I0861212a38466d0e65cf3389c7d2757cff86ea0d
-rw-r--r-- | cinderclient/client.py | 4 | ||||
-rw-r--r-- | cinderclient/tests/unit/test_client.py | 15 |
2 files changed, 3 insertions, 16 deletions
diff --git a/cinderclient/client.py b/cinderclient/client.py index f503e83..43157e6 100644 --- a/cinderclient/client.py +++ b/cinderclient/client.py @@ -115,10 +115,6 @@ class SessionClient(adapter.LegacyJsonAdapter): raise_exc=False, **kwargs) - # if service name is None then use service_type for logging - service = self.service_name or self.service_type - _log_request_id(self._logger, resp, service) - if raise_exc and resp.status_code >= 400: raise exceptions.from_response(resp, body) diff --git a/cinderclient/tests/unit/test_client.py b/cinderclient/tests/unit/test_client.py index e13a772..bc7d914 100644 --- a/cinderclient/tests/unit/test_client.py +++ b/cinderclient/tests/unit/test_client.py @@ -101,11 +101,10 @@ class ClientTest(utils.TestCase): cs = cinderclient.client.SessionClient(self, api_version='3.0') self.assertEqual('http://192.168.122.104:8776/', cs._get_base_url()) - @mock.patch.object(cinderclient.client, '_log_request_id') @mock.patch.object(adapter.Adapter, 'request') @mock.patch.object(exceptions, 'from_response') def test_sessionclient_request_method( - self, mock_from_resp, mock_request, mock_log): + self, mock_from_resp, mock_request): kwargs = { "body": { "volume": { @@ -139,18 +138,15 @@ class ClientTest(utils.TestCase): response, body = session_client.request(mock.sentinel.url, 'POST', **kwargs) self.assertIsNotNone(session_client._logger) - mock_log.assert_called_once_with(session_client._logger, mock_response, - mock.ANY) # In this case, from_response method will not get called # because response status_code is < 400 self.assertEqual(202, response.status_code) self.assertFalse(mock_from_resp.called) - @mock.patch.object(cinderclient.client, '_log_request_id') @mock.patch.object(adapter.Adapter, 'request') def test_sessionclient_request_method_raises_badrequest( - self, mock_request, mock_log): + self, mock_request): kwargs = { "body": { "volume": { @@ -185,13 +181,10 @@ class ClientTest(utils.TestCase): self.assertRaises(exceptions.BadRequest, session_client.request, mock.sentinel.url, 'POST', **kwargs) self.assertIsNotNone(session_client._logger) - mock_log.assert_called_once_with(session_client._logger, mock_response, - mock.ANY) - @mock.patch.object(cinderclient.client, '_log_request_id') @mock.patch.object(adapter.Adapter, 'request') def test_sessionclient_request_method_raises_overlimit( - self, mock_request, mock_log): + self, mock_request): resp = { "overLimitFault": { "message": "This request was rate-limited.", @@ -212,8 +205,6 @@ class ClientTest(utils.TestCase): self.assertRaises(exceptions.OverLimit, session_client.request, mock.sentinel.url, 'GET') self.assertIsNotNone(session_client._logger) - mock_log.assert_called_once_with(session_client._logger, mock_response, - mock.ANY) @mock.patch.object(exceptions, 'from_response') def test_keystone_request_raises_auth_failure_exception( |