)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2291db539b7f8233f4118f71c7bd051939c18fcf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"24e3fd39_6d341522","updated":"2024-11-15 10:52:20.000000000","message":"recheck","commit_id":"9c6df823e24fcb94823ebce9515973386cfed372"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ccc279185ea79ce684f32cd98386ad7b6536ca7a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5e5e75dc_7bdbd182","updated":"2024-12-16 18:32:09.000000000","message":"recheck","commit_id":"9c6df823e24fcb94823ebce9515973386cfed372"}],"openstackclient/identity/v3/credential.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"becca7d60d4af85270dde7950015ea252bbefe38","unresolved":true,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def take_action(self, parsed_args):"},{"line_number":87,"context_line":"        identity_client \u003d self.app.client_manager.sdk_connection.identity"},{"line_number":88,"context_line":"        user_id \u003d identity_client.find_user(parsed_args.user).id"},{"line_number":89,"context_line":"        if parsed_args.project:"},{"line_number":90,"context_line":"            project \u003d identity_client.find_project(parsed_args.project).id"},{"line_number":91,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"02be87b9_6d87e5d3","line":88,"updated":"2024-08-01 12:02:13.000000000","message":"```suggestion\n        user_id \u003d identity_client.find_user(\n            parsed_args.user, ignore_missing\u003dFalse\n        ).id\n```","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"2cdb73fc4d541c2fa1cacf771efa0f6980d5592a","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    def take_action(self, parsed_args):"},{"line_number":87,"context_line":"        identity_client \u003d self.app.client_manager.sdk_connection.identity"},{"line_number":88,"context_line":"        user_id \u003d identity_client.find_user(parsed_args.user).id"},{"line_number":89,"context_line":"        if parsed_args.project:"},{"line_number":90,"context_line":"            project \u003d identity_client.find_project(parsed_args.project).id"},{"line_number":91,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"6d20422e_a550764d","line":88,"in_reply_to":"02be87b9_6d87e5d3","updated":"2024-08-02 18:42:30.000000000","message":"Done","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"becca7d60d4af85270dde7950015ea252bbefe38","unresolved":true,"context_lines":[{"line_number":87,"context_line":"        identity_client \u003d self.app.client_manager.sdk_connection.identity"},{"line_number":88,"context_line":"        user_id \u003d identity_client.find_user(parsed_args.user).id"},{"line_number":89,"context_line":"        if parsed_args.project:"},{"line_number":90,"context_line":"            project \u003d identity_client.find_project(parsed_args.project).id"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            project \u003d None"},{"line_number":93,"context_line":"        credential \u003d identity_client.create_credential("}],"source_content_type":"text/x-python","patch_set":3,"id":"5e2956b4_7721a044","line":90,"updated":"2024-08-01 12:02:13.000000000","message":"```suggestion\n            project \u003d identity_client.find_project(\n                parsed_args.project, ignore_missing\u003dFalse\n            ).id\n```","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"2cdb73fc4d541c2fa1cacf771efa0f6980d5592a","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        identity_client \u003d self.app.client_manager.sdk_connection.identity"},{"line_number":88,"context_line":"        user_id \u003d identity_client.find_user(parsed_args.user).id"},{"line_number":89,"context_line":"        if parsed_args.project:"},{"line_number":90,"context_line":"            project \u003d identity_client.find_project(parsed_args.project).id"},{"line_number":91,"context_line":"        else:"},{"line_number":92,"context_line":"            project \u003d None"},{"line_number":93,"context_line":"        credential \u003d identity_client.create_credential("}],"source_content_type":"text/x-python","patch_set":3,"id":"73130f23_3afb8ba0","line":90,"in_reply_to":"5e2956b4_7721a044","updated":"2024-08-02 18:42:30.000000000","message":"Done","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"becca7d60d4af85270dde7950015ea252bbefe38","unresolved":true,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        kwargs \u003d {}"},{"line_number":162,"context_line":"        if parsed_args.user:"},{"line_number":163,"context_line":"            user_id \u003d identity_client.find_user(parsed_args.user).id"},{"line_number":164,"context_line":"            kwargs[\"user_id\"] \u003d user_id"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        if parsed_args.type:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7529ebbd_7f6f7b51","line":163,"updated":"2024-08-01 12:02:13.000000000","message":"I think you want to pass the domain through here?\n\n```suggestion\n            domain_id \u003d None\n            if parsed_args.user_domain:\n                domain_id \u003d identity_client.find_domain(\n                    parsed_args.user_domain, ignore_missing\u003dFalse\n                )\n            user_id \u003d identity_client.find_user(\n                parsed_args.user, domain_id\u003ddomain_id, ignore_missing\u003dFalse\n            ).id\n```","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"2cdb73fc4d541c2fa1cacf771efa0f6980d5592a","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        kwargs \u003d {}"},{"line_number":162,"context_line":"        if parsed_args.user:"},{"line_number":163,"context_line":"            user_id \u003d identity_client.find_user(parsed_args.user).id"},{"line_number":164,"context_line":"            kwargs[\"user_id\"] \u003d user_id"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        if parsed_args.type:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a7b2cd9_f0c62d5d","line":163,"in_reply_to":"7529ebbd_7f6f7b51","updated":"2024-08-02 18:42:30.000000000","message":"Done","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"becca7d60d4af85270dde7950015ea252bbefe38","unresolved":true,"context_lines":[{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        user_id \u003d utils.find_resource("},{"line_number":228,"context_line":"            identity_client.users, parsed_args.user"},{"line_number":229,"context_line":"        ).id"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        if parsed_args.project:"},{"line_number":232,"context_line":"            project \u003d utils.find_resource("}],"source_content_type":"text/x-python","patch_set":3,"id":"8732a171_4a61be9d","line":229,"updated":"2024-08-01 12:02:13.000000000","message":"This should be updated to use `find_user`.","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"2cdb73fc4d541c2fa1cacf771efa0f6980d5592a","unresolved":false,"context_lines":[{"line_number":226,"context_line":""},{"line_number":227,"context_line":"        user_id \u003d utils.find_resource("},{"line_number":228,"context_line":"            identity_client.users, parsed_args.user"},{"line_number":229,"context_line":"        ).id"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        if parsed_args.project:"},{"line_number":232,"context_line":"            project \u003d utils.find_resource("}],"source_content_type":"text/x-python","patch_set":3,"id":"e3aa2803_cd4a65a6","line":229,"in_reply_to":"8732a171_4a61be9d","updated":"2024-08-02 18:42:30.000000000","message":"Done","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"becca7d60d4af85270dde7950015ea252bbefe38","unresolved":true,"context_lines":[{"line_number":231,"context_line":"        if parsed_args.project:"},{"line_number":232,"context_line":"            project \u003d utils.find_resource("},{"line_number":233,"context_line":"                identity_client.projects, parsed_args.project"},{"line_number":234,"context_line":"            ).id"},{"line_number":235,"context_line":"        else:"},{"line_number":236,"context_line":"            project \u003d None"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"2db83393_f5d56a47","line":234,"updated":"2024-08-01 12:02:13.000000000","message":"This should be updated to use `find_project`.","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"2cdb73fc4d541c2fa1cacf771efa0f6980d5592a","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        if parsed_args.project:"},{"line_number":232,"context_line":"            project \u003d utils.find_resource("},{"line_number":233,"context_line":"                identity_client.projects, parsed_args.project"},{"line_number":234,"context_line":"            ).id"},{"line_number":235,"context_line":"        else:"},{"line_number":236,"context_line":"            project \u003d None"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"627d07bc_f702f607","line":234,"in_reply_to":"2db83393_f5d56a47","updated":"2024-08-02 18:42:30.000000000","message":"Done","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"becca7d60d4af85270dde7950015ea252bbefe38","unresolved":true,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def take_action(self, parsed_args):"},{"line_number":260,"context_line":"        identity_client \u003d self.app.client_manager.sdk_connection.identity"},{"line_number":261,"context_line":"        credential \u003d identity_client.find_credential(parsed_args.credential)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        return _format_credential(credential)"}],"source_content_type":"text/x-python","patch_set":3,"id":"11f4c688_28cfbaf0","line":261,"updated":"2024-08-01 12:02:13.000000000","message":"I was going to suggest adding `ignore_missing\u003dFalse` here too, but the help text for the option says \"ID of the credential to display\" rather than \"Name or ID\". Do credentials have a name? A quick look at the API ref says [no](https://docs.openstack.org/api-ref/identity/v3/#create-credential). If not, the `find_credential` method is useless and we should just use `get_credential`.\n\n```suggestion\n        credential \u003d identity_client.get_credential(parsed_args.credential)\n```\n\nWe should ideally also deprecated and eventually remove `find_credential` from SDK, but that\u0027s a separate task.","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"2cdb73fc4d541c2fa1cacf771efa0f6980d5592a","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    def take_action(self, parsed_args):"},{"line_number":260,"context_line":"        identity_client \u003d self.app.client_manager.sdk_connection.identity"},{"line_number":261,"context_line":"        credential \u003d identity_client.find_credential(parsed_args.credential)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"        return _format_credential(credential)"}],"source_content_type":"text/x-python","patch_set":3,"id":"f111c565_d4b22ba4","line":261,"in_reply_to":"11f4c688_28cfbaf0","updated":"2024-08-02 18:42:30.000000000","message":"Done","commit_id":"7e49b81d9d29c5679f24b5bc93b17ff46a816990"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b05d87d164d3406899edc62eb1ba182a42bb6c1c","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        \u0027type\u0027,"},{"line_number":37,"context_line":"        \u0027user_id\u0027,"},{"line_number":38,"context_line":"    )"},{"line_number":39,"context_line":"    column_headers \u003d ("},{"line_number":40,"context_line":"        \u0027Blob\u0027,"},{"line_number":41,"context_line":"        \u0027ID\u0027,"},{"line_number":42,"context_line":"        \u0027Project ID\u0027,"},{"line_number":43,"context_line":"        \u0027Type\u0027,"},{"line_number":44,"context_line":"        \u0027User ID\u0027,"},{"line_number":45,"context_line":"    )"},{"line_number":46,"context_line":"    return ("},{"line_number":47,"context_line":"        column_headers,"},{"line_number":48,"context_line":"        utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":4,"id":"5acf2b62_6a048ff1","line":45,"range":{"start_line":39,"start_character":0,"end_line":45,"end_character":5},"updated":"2024-08-20 12:03:18.000000000","message":"Unfortunately this has caused a few issues due to how the `-c` option works. See [here](https://bugs.launchpad.net/python-openstackclient/+bug/2076212). Can you just use `columns` for both now, pending the long-term fix in cliff https://review.opendev.org/c/openstack/cliff/+/925891 ?","commit_id":"3778c8f15f80b25eccca7ceff1c349f6bf186bf8"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"076abd3bd98105e555f9e161e17ba45ff95d6c4e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        \u0027type\u0027,"},{"line_number":37,"context_line":"        \u0027user_id\u0027,"},{"line_number":38,"context_line":"    )"},{"line_number":39,"context_line":"    column_headers \u003d ("},{"line_number":40,"context_line":"        \u0027Blob\u0027,"},{"line_number":41,"context_line":"        \u0027ID\u0027,"},{"line_number":42,"context_line":"        \u0027Project ID\u0027,"},{"line_number":43,"context_line":"        \u0027Type\u0027,"},{"line_number":44,"context_line":"        \u0027User ID\u0027,"},{"line_number":45,"context_line":"    )"},{"line_number":46,"context_line":"    return ("},{"line_number":47,"context_line":"        column_headers,"},{"line_number":48,"context_line":"        utils.get_item_properties("}],"source_content_type":"text/x-python","patch_set":4,"id":"2cc23ca4_3de47b62","line":45,"range":{"start_line":39,"start_character":0,"end_line":45,"end_character":5},"in_reply_to":"5acf2b62_6a048ff1","updated":"2024-10-01 15:48:47.000000000","message":"Done","commit_id":"3778c8f15f80b25eccca7ceff1c349f6bf186bf8"}],"releasenotes/notes/migrate-credential-to-sdk-33a841847fe7d568.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1d2c0823fc05e0582b025f520e2a4c628e5eab5f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The following commands have been migrated to SDK:"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"6b3c4c9b_97258123","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":8},"updated":"2024-11-12 12:28:35.000000000","message":"If you do respin this\n\n`upgrade`","commit_id":"4e42fa600f9769d63c1be7f3557fa2533981988a"},{"author":{"_account_id":35548,"name":"Antonia Gaete","email":"antoniagaete@osuosl.org","username":"antoniagaete"},"change_message_id":"7d0c8c1abd53dca2472bfb454ed72603d7ba9401","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":"    The following commands have been migrated to SDK:"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"6f9dc02a_44353581","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":8},"in_reply_to":"6b3c4c9b_97258123","updated":"2024-11-13 18:13:33.000000000","message":"Done","commit_id":"4e42fa600f9769d63c1be7f3557fa2533981988a"}]}
