)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c41ef8ce832ec69f11a7e13da14a175f3e3ef813","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"927b262b_f71316c3","updated":"2025-03-19 16:57:32.000000000","message":"This is failing because os-client-config is relying on one of the private methods you\u0027re renaming here.\n\n```\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nFailed 2 tests - output below:\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nos_client_config.tests.test_config.TestBackwardsCompatibility.test_project_password\n-----------------------------------------------------------------------------------\n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n\n      File \"/home/zuul/src/opendev.org/openstack/os-client-config/os_client_config/tests/test_config.py\", line 1021, in test_project_password\n    result \u003d c._fix_backwards_project(cloud)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n\n    AttributeError: \u0027OpenStackConfig\u0027 object has no attribute \u0027_fix_backwards_project\u0027\n\n\nos_client_config.tests.test_config.TestBackwardsCompatibility.test_project_v2password\n-------------------------------------------------------------------------------------\n\nCaptured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n\n      File \"/home/zuul/src/opendev.org/openstack/os-client-config/os_client_config/tests/test_config.py\", line 1001, in test_project_v2password\n    result \u003d c._fix_backwards_project(cloud)\n             ^^^^^^^^^^^^^^^^^^^^^^^^\n\n    AttributeError: \u0027OpenStackConfig\u0027 object has no attribute \u0027_fix_backwards_project\u0027\n```\n\nWe need to fix/remove that test first","commit_id":"144c44046e15854d5a976b9a97767cf126360baf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"bb76f1eb1537d559f602e401f812efc2c9adbdbc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d1b80c17_7ee90116","in_reply_to":"91073b38_5bec4021","updated":"2025-03-21 13:43:38.000000000","message":"Done","commit_id":"144c44046e15854d5a976b9a97767cf126360baf"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"90d6bf41d9af489e5c57a1d08305dc16c590017f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"91073b38_5bec4021","in_reply_to":"927b262b_f71316c3","updated":"2025-03-20 12:04:33.000000000","message":"https://review.opendev.org/c/openstack/os-client-config/+/945087\n\nplus found one more \"bug\" in unit tests there\nhttps://review.opendev.org/c/openstack/os-client-config/+/945086/","commit_id":"144c44046e15854d5a976b9a97767cf126360baf"}],"openstack/config/loader.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c3f44020285730e1b80d5d4a248f8a7f9cad8a4","unresolved":false,"context_lines":[{"line_number":1188,"context_line":"    def magic_fixes(self, config):"},{"line_number":1189,"context_line":"        \"\"\"Perform the set of magic argument fixups\"\"\""},{"line_number":1190,"context_line":""},{"line_number":1191,"context_line":"        # Infer passcode if it was given separately"},{"line_number":1192,"context_line":"        # This is generally absolutely impractical to require setting passcode"},{"line_number":1193,"context_line":"        # in the clouds.yaml"},{"line_number":1194,"context_line":"        if \u0027auth\u0027 in config and \u0027passcode\u0027 in config:"},{"line_number":1195,"context_line":"            config[\u0027auth\u0027][\u0027passcode\u0027] \u003d config.pop(\u0027passcode\u0027, None)"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"        # These backwards compat values are only set via argparse. If it\u0027s"},{"line_number":1198,"context_line":"        # there, it\u0027s because it was passed in explicitly, and should win"}],"source_content_type":"text/x-python","patch_set":1,"id":"f4b43318_c1a20ee4","side":"PARENT","line":1195,"range":{"start_line":1191,"start_character":0,"end_line":1195,"end_character":69},"updated":"2025-03-12 15:04:24.000000000","message":"Inlined into `_fix_backwards_auth`","commit_id":"410f71d43ce6a37b20a42b8a286792b26c2a2d67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c3f44020285730e1b80d5d4a248f8a7f9cad8a4","unresolved":false,"context_lines":[{"line_number":1197,"context_line":"        # These backwards compat values are only set via argparse. If it\u0027s"},{"line_number":1198,"context_line":"        # there, it\u0027s because it was passed in explicitly, and should win"},{"line_number":1199,"context_line":"        config \u003d self._fix_backwards_api_timeout(config)"},{"line_number":1200,"context_line":"        if \u0027endpoint_type\u0027 in config:"},{"line_number":1201,"context_line":"            config[\u0027interface\u0027] \u003d config.pop(\u0027endpoint_type\u0027)"},{"line_number":1202,"context_line":""},{"line_number":1203,"context_line":"        config \u003d self._fix_backwards_auth_plugin(config)"},{"line_number":1204,"context_line":"        config \u003d self._fix_backwards_project(config)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a0337bc_44835c9e","side":"PARENT","line":1201,"range":{"start_line":1200,"start_character":0,"end_line":1201,"end_character":61},"updated":"2025-03-12 15:04:24.000000000","message":"Removed as a duplicate, per this comment https://review.opendev.org/c/openstack/openstacksdk/+/944057/2/openstack/config/loader.py#b1209","commit_id":"410f71d43ce6a37b20a42b8a286792b26c2a2d67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c3f44020285730e1b80d5d4a248f8a7f9cad8a4","unresolved":false,"context_lines":[{"line_number":1201,"context_line":"            config[\u0027interface\u0027] \u003d config.pop(\u0027endpoint_type\u0027)"},{"line_number":1202,"context_line":""},{"line_number":1203,"context_line":"        config \u003d self._fix_backwards_auth_plugin(config)"},{"line_number":1204,"context_line":"        config \u003d self._fix_backwards_project(config)"},{"line_number":1205,"context_line":"        config \u003d self._fix_backwards_interface(config)"},{"line_number":1206,"context_line":"        config \u003d self._fix_backwards_networks(config)"},{"line_number":1207,"context_line":"        config \u003d self._handle_domain_id(config)"}],"source_content_type":"text/x-python","patch_set":1,"id":"a6f58088_6f37bed1","side":"PARENT","line":1204,"updated":"2025-03-12 15:04:24.000000000","message":"Renamed to `_fix_backwards_auth`","commit_id":"410f71d43ce6a37b20a42b8a286792b26c2a2d67"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c3f44020285730e1b80d5d4a248f8a7f9cad8a4","unresolved":true,"context_lines":[{"line_number":751,"context_line":"        return cloud"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    def _fix_backwards_auth(self, cloud):"},{"line_number":754,"context_line":"        # Do the lists backwards so that project_name is the ultimate winner"},{"line_number":755,"context_line":"        # Also handle moving domain names into auth so that domain mapping"},{"line_number":756,"context_line":"        # is easier"},{"line_number":757,"context_line":"        mappings \u003d {"},{"line_number":758,"context_line":"            \u0027domain_id\u0027: (\u0027domain_id\u0027, \u0027domain-id\u0027),"},{"line_number":759,"context_line":"            \u0027domain_name\u0027: (\u0027domain_name\u0027, \u0027domain-name\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"1955a9e8_4d02265d","line":756,"range":{"start_line":754,"start_character":0,"end_line":756,"end_character":19},"updated":"2025-03-12 15:04:24.000000000","message":"nit: This comment appears to have become disconnected from the code and can probably be removed/reworked.","commit_id":"517cbb3917200241e79f7c781472c93a435a8e4d"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"05cf8a612f7335be0983671a013c3b6c99eb36bd","unresolved":false,"context_lines":[{"line_number":751,"context_line":"        return cloud"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"    def _fix_backwards_auth(self, cloud):"},{"line_number":754,"context_line":"        # Do the lists backwards so that project_name is the ultimate winner"},{"line_number":755,"context_line":"        # Also handle moving domain names into auth so that domain mapping"},{"line_number":756,"context_line":"        # is easier"},{"line_number":757,"context_line":"        mappings \u003d {"},{"line_number":758,"context_line":"            \u0027domain_id\u0027: (\u0027domain_id\u0027, \u0027domain-id\u0027),"},{"line_number":759,"context_line":"            \u0027domain_name\u0027: (\u0027domain_name\u0027, \u0027domain-name\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"5543957b_6f8535de","line":756,"range":{"start_line":754,"start_character":0,"end_line":756,"end_character":19},"in_reply_to":"1955a9e8_4d02265d","updated":"2025-03-13 17:58:31.000000000","message":"Done","commit_id":"517cbb3917200241e79f7c781472c93a435a8e4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c3f44020285730e1b80d5d4a248f8a7f9cad8a4","unresolved":false,"context_lines":[{"line_number":1209,"context_line":"        config \u003d self._fix_backwards_interface(config)"},{"line_number":1210,"context_line":"        config \u003d self._fix_backwards_networks(config)"},{"line_number":1211,"context_line":"        config \u003d self._handle_domain_id(config)"},{"line_number":1212,"context_line":"        config \u003d self._handle_value_types(config)"},{"line_number":1213,"context_line":""},{"line_number":1214,"context_line":"        # TODO(mordred): Special casing auth_url here. We should"},{"line_number":1215,"context_line":"        #                come back to this betterer later so that it\u0027s"}],"source_content_type":"text/x-python","patch_set":1,"id":"f9a797c3_9759e35e","line":1212,"updated":"2025-03-12 15:04:24.000000000","message":"This has moved so that it happens after the transformation functions, but it should have no effect since there are only 3 types handled by this currently (`insecure`,`cache` (bool); `auth_methods` (CSV)) and they\u0027re all top-level keys that shouldn\u0027t be affected by the above.","commit_id":"517cbb3917200241e79f7c781472c93a435a8e4d"}]}
