From bae1d89cc767949fc61cef63dcacec200a2c236a Mon Sep 17 00:00:00 2001 From: Erno Kuvaja Date: Mon, 13 Jul 2020 22:35:15 +0100 Subject: Pass Global Request ID on with session client Closes-bug: #1886650 Change-Id: I3a08c1beb398ba9f2556b6779c925f679bdc2c49 --- glanceclient/common/http.py | 1 - glanceclient/tests/unit/test_http.py | 14 ++++++++++++++ releasenotes/notes/sess_client_grid-3c2101609110f413.yaml | 6 ++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/sess_client_grid-3c2101609110f413.yaml diff --git a/glanceclient/common/http.py b/glanceclient/common/http.py index 6973f60..247b92d 100644 --- a/glanceclient/common/http.py +++ b/glanceclient/common/http.py @@ -352,7 +352,6 @@ class SessionClient(adapter.Adapter, _BaseHTTPClient): def __init__(self, session, **kwargs): kwargs.setdefault('user_agent', USER_AGENT) kwargs.setdefault('service_type', 'image') - self.global_request_id = kwargs.pop('global_request_id', None) super(SessionClient, self).__init__(session, **kwargs) def request(self, url, method, **kwargs): diff --git a/glanceclient/tests/unit/test_http.py b/glanceclient/tests/unit/test_http.py index 0cf8f5b..0c93a84 100644 --- a/glanceclient/tests/unit/test_http.py +++ b/glanceclient/tests/unit/test_http.py @@ -267,6 +267,20 @@ class TestClient(testtools.TestCase): self.assertEqual(b"application/openstack-images-v2.1-json-patch", ksarqh[b"Content-Type"]) + def test_request_id_header_session_client(self): + global_id = "req-%s" % uuid.uuid4() + kwargs = {'global_request_id': global_id} + auth = token_endpoint.Token(self.endpoint, self.token) + sess = session.Session(auth=auth) + http_client = http.SessionClient(sess, **kwargs) + + path = '/v2/images/my-image' + self.mock.get(self.endpoint + path) + http_client.get(path) + + headers = self.mock.last_request.headers + self.assertEqual(global_id, headers['X-OpenStack-Request-ID']) + def test_raw_request(self): """Verify the path being used for HTTP requests reflects accurately.""" headers = {"Content-Type": "text/plain"} diff --git a/releasenotes/notes/sess_client_grid-3c2101609110f413.yaml b/releasenotes/notes/sess_client_grid-3c2101609110f413.yaml new file mode 100644 index 0000000..4552c43 --- /dev/null +++ b/releasenotes/notes/sess_client_grid-3c2101609110f413.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + * Bug 1886650_: Glance client does not correctly forward global request IDs + + .. _1886650: https://code.launchpad.net/bugs/1886650 -- cgit v1.2.1