)]}'
{"openstack/cloud/openstackcloud.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"bda18aaed0f3c41684eca29600f2b36f30d3fd12","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    def global_request(self, global_request_id):"},{"line_number":282,"context_line":"        \"\"\"Make a new Connection object with a global request id set."},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        Take the existing settings from the current Connection and construct a new"},{"line_number":285,"context_line":"        Connection object with the global_request_id overridden."},{"line_number":286,"context_line":"        .. code-block:: python"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_79b221e7","line":284,"range":{"start_line":284,"start_character":79,"end_line":284,"end_character":82},"updated":"2019-08-06 16:51:16.000000000","message":"wrap","commit_id":"fd6a150c44da75e8b3ce0006dfc1b1da9b49c3a6"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"abff3b12ed0d78cb8d8d5d6ae348650699d1cfb6","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    def global_request(self, global_request_id):"},{"line_number":282,"context_line":"        \"\"\"Make a new Connection object with a global request id set."},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"        Take the existing settings from the current Connection and construct a new"},{"line_number":285,"context_line":"        Connection object with the global_request_id overridden."},{"line_number":286,"context_line":"        .. code-block:: python"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_e5265ecb","line":284,"range":{"start_line":284,"start_character":79,"end_line":284,"end_character":82},"in_reply_to":"7faddb67_79b221e7","updated":"2019-08-06 18:54:06.000000000","message":"Done","commit_id":"fd6a150c44da75e8b3ce0006dfc1b1da9b49c3a6"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4c9b022008820396671b2327aebf2db5eb603404","unresolved":false,"context_lines":[{"line_number":289,"context_line":"          cloud \u003d openstack.connect(cloud\u003d\u0027example\u0027)"},{"line_number":290,"context_line":"          # Work normally"},{"line_number":291,"context_line":"          servers \u003d cloud.list_servers()"},{"line_number":292,"context_line":"          cloud2 \u003d cloud.global_request(\u00270ff04a18-f0ef-425f-9ee2-b1d58774eed5\u0027)"},{"line_number":293,"context_line":"          # cloud2 sends all requests with global_request_id set"},{"line_number":294,"context_line":"          servers \u003d cloud2.list_servers()"},{"line_number":295,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_1a3d18ba","line":292,"range":{"start_line":292,"start_character":40,"end_line":292,"end_character":78},"updated":"2019-08-06 20:02:35.000000000","message":"Technically this is bogus - needs to start with \u0027req-\u0027 [1] or it\u0027ll be dropped by middleware [2].\n\nSuggest using oslo.context\u0027s generate_request_id() [3] in the example.\n\n[1] https://opendev.org/openstack/oslo.middleware/src/branch/master/oslo_middleware/request_id.py#L28-L29\n[2] https://opendev.org/openstack/oslo.middleware/src/branch/master/oslo_middleware/request_id.py#L46-L47\n[3] https://opendev.org/openstack/oslo.context/src/branch/master/oslo_context/context.py#L77","commit_id":"d28e1e4902616e2433e99b208937610cbb0cb29d"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6b0de964b91783ac2ae1674bf8d2cfac6b44c26a","unresolved":false,"context_lines":[{"line_number":289,"context_line":"          cloud \u003d openstack.connect(cloud\u003d\u0027example\u0027)"},{"line_number":290,"context_line":"          # Work normally"},{"line_number":291,"context_line":"          servers \u003d cloud.list_servers()"},{"line_number":292,"context_line":"          cloud2 \u003d cloud.global_request(\u00270ff04a18-f0ef-425f-9ee2-b1d58774eed5\u0027)"},{"line_number":293,"context_line":"          # cloud2 sends all requests with global_request_id set"},{"line_number":294,"context_line":"          servers \u003d cloud2.list_servers()"},{"line_number":295,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_c98575b0","line":292,"range":{"start_line":292,"start_character":40,"end_line":292,"end_character":78},"in_reply_to":"7faddb67_1a3d18ba","updated":"2019-08-07 13:38:23.000000000","message":"Done","commit_id":"d28e1e4902616e2433e99b208937610cbb0cb29d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4c9b022008820396671b2327aebf2db5eb603404","unresolved":false,"context_lines":[{"line_number":300,"context_line":"          c \u003d openstack.connect(cloud\u003d\u0027example\u0027)"},{"line_number":301,"context_line":"          # Work normally"},{"line_number":302,"context_line":"          servers \u003d c.list_servers()"},{"line_number":303,"context_line":"          with c.global_request(\u00270ff04a18-f0ef-425f-9ee2-b1d58774eed5\u0027) as c2:"},{"line_number":304,"context_line":"              # c2 sends all requests with global_request_id set"},{"line_number":305,"context_line":"              servers \u003d c2.list_servers()"},{"line_number":306,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_3a6d74cb","line":303,"range":{"start_line":303,"start_character":32,"end_line":303,"end_character":70},"updated":"2019-08-06 20:02:35.000000000","message":"ditto","commit_id":"d28e1e4902616e2433e99b208937610cbb0cb29d"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6b0de964b91783ac2ae1674bf8d2cfac6b44c26a","unresolved":false,"context_lines":[{"line_number":300,"context_line":"          c \u003d openstack.connect(cloud\u003d\u0027example\u0027)"},{"line_number":301,"context_line":"          # Work normally"},{"line_number":302,"context_line":"          servers \u003d c.list_servers()"},{"line_number":303,"context_line":"          with c.global_request(\u00270ff04a18-f0ef-425f-9ee2-b1d58774eed5\u0027) as c2:"},{"line_number":304,"context_line":"              # c2 sends all requests with global_request_id set"},{"line_number":305,"context_line":"              servers \u003d c2.list_servers()"},{"line_number":306,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_e982b1a5","line":303,"range":{"start_line":303,"start_character":32,"end_line":303,"end_character":70},"in_reply_to":"7faddb67_3a6d74cb","updated":"2019-08-07 13:38:23.000000000","message":"Done","commit_id":"d28e1e4902616e2433e99b208937610cbb0cb29d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ffce537c0b03067f3f7748f41b24f5df4f81ec85","unresolved":false,"context_lines":[{"line_number":280,"context_line":"          cloud \u003d openstack.connect(cloud\u003d\u0027example\u0027)"},{"line_number":281,"context_line":"          # Work normally"},{"line_number":282,"context_line":"          servers \u003d cloud.list_servers()"},{"line_number":283,"context_line":"          cloud2 \u003d cloud.global_request(context.generate_context())"},{"line_number":284,"context_line":"          # cloud2 sends all requests with global_request_id set"},{"line_number":285,"context_line":"          servers \u003d cloud2.list_servers()"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_4d374a4f","line":283,"range":{"start_line":283,"start_character":48,"end_line":283,"end_character":64},"updated":"2019-08-07 13:58:20.000000000","message":"generate_request_id","commit_id":"bbf1e92dc9cb46935601a148e8af76c0f8a77569"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"558f8d0bd486cb122cedaf72ca9bd8c595b6e2fc","unresolved":false,"context_lines":[{"line_number":280,"context_line":"          cloud \u003d openstack.connect(cloud\u003d\u0027example\u0027)"},{"line_number":281,"context_line":"          # Work normally"},{"line_number":282,"context_line":"          servers \u003d cloud.list_servers()"},{"line_number":283,"context_line":"          cloud2 \u003d cloud.global_request(context.generate_context())"},{"line_number":284,"context_line":"          # cloud2 sends all requests with global_request_id set"},{"line_number":285,"context_line":"          servers \u003d cloud2.list_servers()"},{"line_number":286,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_4d3d0adc","line":283,"range":{"start_line":283,"start_character":48,"end_line":283,"end_character":64},"in_reply_to":"7faddb67_4d374a4f","updated":"2019-08-07 14:05:10.000000000","message":"Done","commit_id":"bbf1e92dc9cb46935601a148e8af76c0f8a77569"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ffce537c0b03067f3f7748f41b24f5df4f81ec85","unresolved":false,"context_lines":[{"line_number":292,"context_line":"          c \u003d openstack.connect(cloud\u003d\u0027example\u0027)"},{"line_number":293,"context_line":"          # Work normally"},{"line_number":294,"context_line":"          servers \u003d c.list_servers()"},{"line_number":295,"context_line":"          with c.global_request(context.generate_context()) as c2:"},{"line_number":296,"context_line":"              # c2 sends all requests with global_request_id set"},{"line_number":297,"context_line":"              servers \u003d c2.list_servers()"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_6ded668d","line":295,"range":{"start_line":295,"start_character":40,"end_line":295,"end_character":56},"updated":"2019-08-07 13:58:20.000000000","message":"Ditto","commit_id":"bbf1e92dc9cb46935601a148e8af76c0f8a77569"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"558f8d0bd486cb122cedaf72ca9bd8c595b6e2fc","unresolved":false,"context_lines":[{"line_number":292,"context_line":"          c \u003d openstack.connect(cloud\u003d\u0027example\u0027)"},{"line_number":293,"context_line":"          # Work normally"},{"line_number":294,"context_line":"          servers \u003d c.list_servers()"},{"line_number":295,"context_line":"          with c.global_request(context.generate_context()) as c2:"},{"line_number":296,"context_line":"              # c2 sends all requests with global_request_id set"},{"line_number":297,"context_line":"              servers \u003d c2.list_servers()"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_ed2156b7","line":295,"range":{"start_line":295,"start_character":40,"end_line":295,"end_character":56},"in_reply_to":"7faddb67_6ded668d","updated":"2019-08-07 14:05:10.000000000","message":"Done","commit_id":"bbf1e92dc9cb46935601a148e8af76c0f8a77569"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ffce537c0b03067f3f7748f41b24f5df4f81ec85","unresolved":false,"context_lines":[{"line_number":309,"context_line":"        # Override the cloud name so that logging/location work right"},{"line_number":310,"context_line":"        cloud_config._name \u003d self.name"},{"line_number":311,"context_line":"        cloud_config.config[\u0027profile\u0027] \u003d self.name"},{"line_number":312,"context_line":"        # Use self.__class__ so that we return whatever this if, like if it\u0027s"},{"line_number":313,"context_line":"        # a subclass in the case of shade wrapping sdk."},{"line_number":314,"context_line":"        new_conn \u003d self.__class__(config\u003dcloud_config)"},{"line_number":315,"context_line":"        new_conn.set_global_request_id(global_request_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_8d16a2a7","line":312,"range":{"start_line":312,"start_character":61,"end_line":312,"end_character":63},"updated":"2019-08-07 13:58:20.000000000","message":"is","commit_id":"bbf1e92dc9cb46935601a148e8af76c0f8a77569"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"558f8d0bd486cb122cedaf72ca9bd8c595b6e2fc","unresolved":false,"context_lines":[{"line_number":309,"context_line":"        # Override the cloud name so that logging/location work right"},{"line_number":310,"context_line":"        cloud_config._name \u003d self.name"},{"line_number":311,"context_line":"        cloud_config.config[\u0027profile\u0027] \u003d self.name"},{"line_number":312,"context_line":"        # Use self.__class__ so that we return whatever this if, like if it\u0027s"},{"line_number":313,"context_line":"        # a subclass in the case of shade wrapping sdk."},{"line_number":314,"context_line":"        new_conn \u003d self.__class__(config\u003dcloud_config)"},{"line_number":315,"context_line":"        new_conn.set_global_request_id(global_request_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7faddb67_2d11ae5e","line":312,"range":{"start_line":312,"start_character":61,"end_line":312,"end_character":63},"in_reply_to":"7faddb67_8d16a2a7","updated":"2019-08-07 14:05:10.000000000","message":"Done","commit_id":"bbf1e92dc9cb46935601a148e8af76c0f8a77569"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ca57d074482a7dc3f6aa3fa06b1b4aa93cd20943","unresolved":false,"context_lines":[{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # Override the cloud name so that logging/location work right"},{"line_number":310,"context_line":"        cloud_config._name \u003d self.name"},{"line_number":311,"context_line":"        cloud_config.config[\u0027profile\u0027] \u003d self.name"},{"line_number":312,"context_line":"        # Use self.__class__ so that we return whatever this is, like if it\u0027s"},{"line_number":313,"context_line":"        # a subclass in the case of shade wrapping sdk."},{"line_number":314,"context_line":"        new_conn \u003d self.__class__(config\u003dcloud_config)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_f80b2f7a","line":311,"updated":"2019-08-09 09:01:32.000000000","message":"do you want to copy _discovery_cache here as well?","commit_id":"378fd3ac761c3201914151aa39f737da49c01c01"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"e4e646455392989886190b58a0f8caf2ca3390a4","unresolved":false,"context_lines":[{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # Override the cloud name so that logging/location work right"},{"line_number":310,"context_line":"        cloud_config._name \u003d self.name"},{"line_number":311,"context_line":"        cloud_config.config[\u0027profile\u0027] \u003d self.name"},{"line_number":312,"context_line":"        # Use self.__class__ so that we return whatever this is, like if it\u0027s"},{"line_number":313,"context_line":"        # a subclass in the case of shade wrapping sdk."},{"line_number":314,"context_line":"        new_conn \u003d self.__class__(config\u003dcloud_config)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7faddb67_e1ca966c","line":311,"in_reply_to":"7faddb67_f80b2f7a","updated":"2019-08-09 11:31:08.000000000","message":"In this case we don\u0027t have to because we\u0027re re-using the same session. Although now that I say that, yeah - we should, so that if the connection from global_request_id wants to be used as the input to connect_as (I have NO IDEA if that\u0027s something someone wants to do) - it\u0027ll work.","commit_id":"378fd3ac761c3201914151aa39f737da49c01c01"}],"openstack/proxy.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"05adf4ec9fb7e3dce87b08cd1abf8e2c09d2ef0c","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            global_request_id\u003dNone, *args, **kwargs):"},{"line_number":149,"context_line":"        conn \u003d self._get_connection()"},{"line_number":150,"context_line":"        if conn:"},{"line_number":151,"context_line":"            # Per-request setting should take precedence"},{"line_number":152,"context_line":"            global_request_id \u003d global_request_id or conn._global_request_id"},{"line_number":153,"context_line":"        response \u003d super(Proxy, self).request("},{"line_number":154,"context_line":"            url, method,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_8eb234e4","line":151,"range":{"start_line":151,"start_character":12,"end_line":151,"end_character":56},"updated":"2019-08-06 13:10:00.000000000","message":"nit: if so, we can avoid _get_connection when global_request_id is provided","commit_id":"fd6a150c44da75e8b3ce0006dfc1b1da9b49c3a6"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"abff3b12ed0d78cb8d8d5d6ae348650699d1cfb6","unresolved":false,"context_lines":[{"line_number":148,"context_line":"            global_request_id\u003dNone, *args, **kwargs):"},{"line_number":149,"context_line":"        conn \u003d self._get_connection()"},{"line_number":150,"context_line":"        if conn:"},{"line_number":151,"context_line":"            # Per-request setting should take precedence"},{"line_number":152,"context_line":"            global_request_id \u003d global_request_id or conn._global_request_id"},{"line_number":153,"context_line":"        response \u003d super(Proxy, self).request("},{"line_number":154,"context_line":"            url, method,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_c5732215","line":151,"range":{"start_line":151,"start_character":12,"end_line":151,"end_character":56},"in_reply_to":"7faddb67_8eb234e4","updated":"2019-08-06 18:54:06.000000000","message":"Good point","commit_id":"fd6a150c44da75e8b3ce0006dfc1b1da9b49c3a6"}],"openstack/tests/unit/cloud/test_shade.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4c9b022008820396671b2327aebf2db5eb603404","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def test_global_request_id(self):"},{"line_number":81,"context_line":"        # TODO(mordred) discovery cache sharing is broken. We should not"},{"line_number":82,"context_line":"        # re-auth here. But we are, which is sad. We should fix it."},{"line_number":83,"context_line":"        # TODO(mordred) Context manager very much does not work."},{"line_number":84,"context_line":"        request_id \u003d uuid.uuid4().hex"},{"line_number":85,"context_line":"        catalog \u003d os.path.join(self.fixtures_directory, \u0027catalog-v3.json\u0027)"},{"line_number":86,"context_line":"        with open(self.discovery_json, \u0027r\u0027) as discovery_file, \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_7a852c59","line":83,"range":{"start_line":83,"start_character":10,"end_line":83,"end_character":64},"updated":"2019-08-06 20:02:35.000000000","message":"So should we not claim it in the commit message or the reno (yet)?","commit_id":"d28e1e4902616e2433e99b208937610cbb0cb29d"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6b0de964b91783ac2ae1674bf8d2cfac6b44c26a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def test_global_request_id(self):"},{"line_number":81,"context_line":"        # TODO(mordred) discovery cache sharing is broken. We should not"},{"line_number":82,"context_line":"        # re-auth here. But we are, which is sad. We should fix it."},{"line_number":83,"context_line":"        # TODO(mordred) Context manager very much does not work."},{"line_number":84,"context_line":"        request_id \u003d uuid.uuid4().hex"},{"line_number":85,"context_line":"        catalog \u003d os.path.join(self.fixtures_directory, \u0027catalog-v3.json\u0027)"},{"line_number":86,"context_line":"        with open(self.discovery_json, \u0027r\u0027) as discovery_file, \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_8d6222ad","line":83,"range":{"start_line":83,"start_character":10,"end_line":83,"end_character":64},"in_reply_to":"7faddb67_49bbc574","updated":"2019-08-07 13:38:23.000000000","message":"Or, we just fix it. :)","commit_id":"d28e1e4902616e2433e99b208937610cbb0cb29d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ea07f9c2ea9f241e974281e353761c2ff4732077","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    def test_global_request_id(self):"},{"line_number":81,"context_line":"        # TODO(mordred) discovery cache sharing is broken. We should not"},{"line_number":82,"context_line":"        # re-auth here. But we are, which is sad. We should fix it."},{"line_number":83,"context_line":"        # TODO(mordred) Context manager very much does not work."},{"line_number":84,"context_line":"        request_id \u003d uuid.uuid4().hex"},{"line_number":85,"context_line":"        catalog \u003d os.path.join(self.fixtures_directory, \u0027catalog-v3.json\u0027)"},{"line_number":86,"context_line":"        with open(self.discovery_json, \u0027r\u0027) as discovery_file, \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_49bbc574","line":83,"range":{"start_line":83,"start_character":10,"end_line":83,"end_character":64},"in_reply_to":"7faddb67_7a852c59","updated":"2019-08-07 07:19:39.000000000","message":"++","commit_id":"d28e1e4902616e2433e99b208937610cbb0cb29d"}],"releasenotes/notes/global-request-id-d7c0736f43929165.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"05adf4ec9fb7e3dce87b08cd1abf8e2c09d2ef0c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"  Added support for setting ``global_request_id`` on a ``Connection``."},{"line_number":5,"context_line":"  If done, this will cause all requests sent to send the request id"},{"line_number":6,"context_line":"  header to the OpenStack services. Since ``Connection`` can otherwise"},{"line_number":7,"context_line":"  be used multi-threaded, add a method ``global_request`` that returns"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_4ec8bc53","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":2},"updated":"2019-08-06 13:10:00.000000000","message":"nit: weird indentation.","commit_id":"fd6a150c44da75e8b3ce0006dfc1b1da9b49c3a6"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"abff3b12ed0d78cb8d8d5d6ae348650699d1cfb6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"  Added support for setting ``global_request_id`` on a ``Connection``."},{"line_number":5,"context_line":"  If done, this will cause all requests sent to send the request id"},{"line_number":6,"context_line":"  header to the OpenStack services. Since ``Connection`` can otherwise"},{"line_number":7,"context_line":"  be used multi-threaded, add a method ``global_request`` that returns"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_0557fa59","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":2},"in_reply_to":"7faddb67_4ec8bc53","updated":"2019-08-06 18:54:06.000000000","message":"Done","commit_id":"fd6a150c44da75e8b3ce0006dfc1b1da9b49c3a6"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"bda18aaed0f3c41684eca29600f2b36f30d3fd12","unresolved":false,"context_lines":[{"line_number":8,"context_line":"  a new ``Connection`` based on the old ``Connection`` but on which"},{"line_number":9,"context_line":"  the new ``global_request_id`` has been set. Since a ``Connection``"},{"line_number":10,"context_line":"  can be used as a context manager, this also means the ``global_request``"},{"line_number":11,"context_line":"  method can be used in ``with`` statements."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_042620cf","line":11,"updated":"2019-08-06 16:51:16.000000000","message":"It would be neat if there were some documentation (with an example) around this.","commit_id":"fd6a150c44da75e8b3ce0006dfc1b1da9b49c3a6"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"abff3b12ed0d78cb8d8d5d6ae348650699d1cfb6","unresolved":false,"context_lines":[{"line_number":8,"context_line":"  a new ``Connection`` based on the old ``Connection`` but on which"},{"line_number":9,"context_line":"  the new ``global_request_id`` has been set. Since a ``Connection``"},{"line_number":10,"context_line":"  can be used as a context manager, this also means the ``global_request``"},{"line_number":11,"context_line":"  method can be used in ``with`` statements."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_25523668","line":11,"in_reply_to":"7faddb67_042620cf","updated":"2019-08-06 18:54:06.000000000","message":"BAH","commit_id":"fd6a150c44da75e8b3ce0006dfc1b1da9b49c3a6"}]}
