summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Kekane <abhishek.kekane@nttdata.com>2017-01-18 13:36:01 +0530
committerDinesh Bhor <dinesh.bhor@nttdata.com>2017-01-23 11:53:13 +0530
commit6962056c67dca1fee2e832ff8bfbc317ed4b5ec0 (patch)
treeb5621d014a03d46d6c703cff06367bc904615f06
parente04a4149f296a367d82b9aa01df8a90855999784 (diff)
downloadpython-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.py4
-rw-r--r--cinderclient/tests/unit/test_client.py15
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(