)]}'
{"ironic_python_agent/config.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e877d10b98b67885850636634be2c70e5d4fa929","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                    \u0027URL using multicast DNS service discovery.\u0027),"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027global_request_id\u0027,"},{"line_number":40,"context_line":"               default\u003dAPARAMS.get(\u0027global-request-id\u0027),"},{"line_number":41,"context_line":"               help\u003d\u0027Global request ID header to provide to Ironic API. \u0027"},{"line_number":42,"context_line":"                    \u0027Can be supplied as \"global-request-id\" kernel parameter.\u0027"},{"line_number":43,"context_line":"                    \u0027The value must be in form \"req-\u003cUUID\u003e\".\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_aa69f4f9","line":40,"updated":"2020-05-15 21:51:30.000000000","message":"Interesting concept to pass. I wonder if this should be able to be set via lookup...\n\nI guess my concern is to add 26 more bytes to a... ?130? byte long string. We\u0027re basically running out of length, and the lookup mechanism may be a clean way to track it... plus if the initiating request ID is logged, that makes it SUPER easy for an admin to find out where things came from across services just by looking at the node \"last global request\" kind of thing.","commit_id":"4d0d81cab9587d70accd1016c66a399dfecfb586"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"87b2fd7806530367361bcd7b64fbb08fd9811808","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                    \u0027URL using multicast DNS service discovery.\u0027),"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027global_request_id\u0027,"},{"line_number":40,"context_line":"               default\u003dAPARAMS.get(\u0027global-request-id\u0027),"},{"line_number":41,"context_line":"               help\u003d\u0027Global request ID header to provide to Ironic API. \u0027"},{"line_number":42,"context_line":"                    \u0027Can be supplied as \"global-request-id\" kernel parameter.\u0027"},{"line_number":43,"context_line":"                    \u0027The value must be in form \"req-\u003cUUID\u003e\".\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_654c2d42","line":40,"in_reply_to":"ff570b3c_aa20d4ad","updated":"2020-05-15 22:14:18.000000000","message":"to avoid microversioning the lookup call I guess we might save the request id, if present, into driver_internal_info","commit_id":"4d0d81cab9587d70accd1016c66a399dfecfb586"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"cb62c3baa7385dc500d24e3ff79fae43cfa7930c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                    \u0027URL using multicast DNS service discovery.\u0027),"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027global_request_id\u0027,"},{"line_number":40,"context_line":"               default\u003dAPARAMS.get(\u0027global-request-id\u0027),"},{"line_number":41,"context_line":"               help\u003d\u0027Global request ID header to provide to Ironic API. \u0027"},{"line_number":42,"context_line":"                    \u0027Can be supplied as \"global-request-id\" kernel parameter.\u0027"},{"line_number":43,"context_line":"                    \u0027The value must be in form \"req-\u003cUUID\u003e\".\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_aa20d4ad","line":40,"in_reply_to":"ff570b3c_aa69f4f9","updated":"2020-05-15 21:55:46.000000000","message":"Thanks for review Julia, do you mean not to pass it here, but instead save the global request id somewhere in conductor and then return in reply to lookup request?","commit_id":"4d0d81cab9587d70accd1016c66a399dfecfb586"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"08372e0274d737e094a74cf7a73c58ca53cb3547","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                    \u0027URL using multicast DNS service discovery.\u0027),"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027global_request_id\u0027,"},{"line_number":40,"context_line":"               default\u003dAPARAMS.get(\u0027global-request-id\u0027),"},{"line_number":41,"context_line":"               help\u003d\u0027Global request ID header to provide to Ironic API. \u0027"},{"line_number":42,"context_line":"                    \u0027Can be supplied as \"global-request-id\" kernel parameter.\u0027"},{"line_number":43,"context_line":"                    \u0027The value must be in form \"req-\u003cUUID\u003e\".\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_20b77988","line":40,"updated":"2020-08-07 11:12:44.000000000","message":"has to be ipa-global-request-id for consistency","commit_id":"201819204bcc511c2906ef4af1ff14c8e53be147"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"f39fe4d394dc8ed8c95498a2b8c3c84533c51d29","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                    \u0027URL using multicast DNS service discovery.\u0027),"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    cfg.StrOpt(\u0027global_request_id\u0027,"},{"line_number":40,"context_line":"               default\u003dAPARAMS.get(\u0027global-request-id\u0027),"},{"line_number":41,"context_line":"               help\u003d\u0027Global request ID header to provide to Ironic API. \u0027"},{"line_number":42,"context_line":"                    \u0027Can be supplied as \"global-request-id\" kernel parameter.\u0027"},{"line_number":43,"context_line":"                    \u0027The value must be in form \"req-\u003cUUID\u003e\".\u0027),"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_09a18b96","line":40,"in_reply_to":"9f560f44_20b77988","updated":"2020-08-12 11:38:49.000000000","message":"sure, can rename","commit_id":"201819204bcc511c2906ef4af1ff14c8e53be147"}],"ironic_python_agent/ironic_api_client.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"08372e0274d737e094a74cf7a73c58ca53cb3547","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            \u0027Accept\u0027: \u0027application/json\u0027,"},{"line_number":70,"context_line":"        })"},{"line_number":71,"context_line":"        if CONF.global_request_id:"},{"line_number":72,"context_line":"            headers[\"X-OpenStack-Request-ID\"] \u003d CONF.global_request_id"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        verify, cert \u003d utils.get_ssl_client_options(CONF)"},{"line_number":75,"context_line":"        return self.session.request(method,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_00ba356c","line":72,"updated":"2020-08-07 11:12:44.000000000","message":"There is also a place where we download images, which potentially goes to swift. Is it worth adding the request ID there?","commit_id":"201819204bcc511c2906ef4af1ff14c8e53be147"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"f39fe4d394dc8ed8c95498a2b8c3c84533c51d29","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            \u0027Accept\u0027: \u0027application/json\u0027,"},{"line_number":70,"context_line":"        })"},{"line_number":71,"context_line":"        if CONF.global_request_id:"},{"line_number":72,"context_line":"            headers[\"X-OpenStack-Request-ID\"] \u003d CONF.global_request_id"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        verify, cert \u003d utils.get_ssl_client_options(CONF)"},{"line_number":75,"context_line":"        return self.session.request(method,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_c997933a","line":72,"in_reply_to":"9f560f44_00ba356c","updated":"2020-08-12 11:38:49.000000000","message":"according to code here https://github.com/openstack/swift/blob/d50b50ba8d28eab544b7236cb1d786c16e20f080/swift/common/middleware/catch_errors.py#L70 swift always generates this transaction id / request id, not allowing to pass it explicitly","commit_id":"201819204bcc511c2906ef4af1ff14c8e53be147"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"88a18223c46de7c8a3eb49b49cd4c35d98c5314b","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            \u0027Accept\u0027: \u0027application/json\u0027,"},{"line_number":70,"context_line":"        })"},{"line_number":71,"context_line":"        if CONF.global_request_id:"},{"line_number":72,"context_line":"            headers[\"X-OpenStack-Request-ID\"] \u003d CONF.global_request_id"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        verify, cert \u003d utils.get_ssl_client_options(CONF)"},{"line_number":75,"context_line":"        return self.session.request(method,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_e3e1d0fe","line":72,"in_reply_to":"9f560f44_c997933a","updated":"2020-08-12 17:34:54.000000000","message":"Well, that is evil.","commit_id":"201819204bcc511c2906ef4af1ff14c8e53be147"}],"ironic_python_agent/tests/unit/test_ironic_api_client.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b7876d11f756bbcf73251c2aaf6964925454c9ee","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        data \u003d self.api_client.session.request.call_args[1][\u0027data\u0027]"},{"line_number":128,"context_line":"        self.assertEqual(\u0027POST\u0027, request_args[0])"},{"line_number":129,"context_line":"        self.assertEqual("},{"line_number":130,"context_line":"            req_id, request_kwargs[\"headers\"][\"X-OpenStack-Request-ID\"])"},{"line_number":131,"context_line":"        self.assertEqual(API_URL + heartbeat_path, request_args[1])"},{"line_number":132,"context_line":"        expected_data \u003d {"},{"line_number":133,"context_line":"            \u0027callback_url\u0027: \u0027http://192.0.2.1:9999\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_d2d573bb","line":130,"updated":"2020-07-27 14:05:26.000000000","message":"Py36 job seems to be failing with:\n\nI\u0027d break things apart to get the headers first then try to get the field...\n\n2020-06-29 07:29:24.636762 | ubuntu-bionic | Captured traceback:\n2020-06-29 07:29:24.636771 | ubuntu-bionic | ~~~~~~~~~~~~~~~~~~~\n2020-06-29 07:29:24.636779 | ubuntu-bionic |     Traceback (most recent call last):\n2020-06-29 07:29:24.636786 | ubuntu-bionic |\n2020-06-29 07:29:24.636793 | ubuntu-bionic |       File \"/home/zuul/src/opendev.org/openstack/ironic-python-agent/ironic_python_agent/tests/unit/test_ironic_api_client.py\", line 130, in test_successful_heartbeat\n2020-06-29 07:29:24.636801 | ubuntu-bionic |     req_id, request_kwargs[\"headers\"][\"X-OpenStack-Request-ID\"])\n2020-06-29 07:29:24.636809 | ubuntu-bionic |\n2020-06-29 07:29:24.636815 | ubuntu-bionic |     TypeError: tuple indices must be integers or slices, not str\n2020-06-29 07:29:24.636822 | ubuntu-bionic |","commit_id":"4d0d81cab9587d70accd1016c66a399dfecfb586"}]}
