)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"284e7a85963986a8dd005c4327cc9e977f02990a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7cf222c8_d006c90c","updated":"2022-07-27 18:04:00.000000000","message":"-1 for help text but otherwise looks good","commit_id":"214d1d97b19965fdf7b565587487ba8eba1e2324"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"62b7a7f970960df1473d7a788b3af1dae4a8e78c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"703d548b_2b8b7fd7","updated":"2022-07-28 10:49:55.000000000","message":"other than what Sean already noted I have no further comments.","commit_id":"214d1d97b19965fdf7b565587487ba8eba1e2324"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"627c33978704f7fe1d904716afd9e6549a696830","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a4c949d7_8f93c368","updated":"2022-08-02 14:16:58.000000000","message":"This looks good. Obviously we need to get a python-novaclient release out before we can use this (that\u0027s why the functional test is failing) but once we\u0027ve done that we should be good. The -1 is for two typos which should be easy to fix ","commit_id":"bdad2c4b16b4f3529d60222a581c1941765d8d1d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2bb67d7d884ccbe9638082cebbbecce75407ed2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"66f84516_17abed0f","updated":"2022-09-30 11:01:01.000000000","message":"I\u0027ve been thinking about this more? Is there any value in continuing to generate a key on the _client_ side? It would be rather easy to do and would avoid breaking anyone.","commit_id":"1aa79b71b5e8cc50d284e7f38cb0db79251c9d86"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"876d080300c140e152ca6bb219f6334150b4e7e1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"229ea6fb_8b7d2ca9","updated":"2022-08-02 16:23:35.000000000","message":"Thanks. Have another nit but nothing blocking. Will +2 again if you can respin","commit_id":"1aa79b71b5e8cc50d284e7f38cb0db79251c9d86"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cea32eb71bc4a07ad821ee7f5f368bf4c9ef3d58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9ecb6cb8_f620f05c","updated":"2022-09-06 16:29:44.000000000","message":"recheck logs have expired\n","commit_id":"1aa79b71b5e8cc50d284e7f38cb0db79251c9d86"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c21ab381b7d9dccf1f7c6cfd2085122aa85ccba6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"14b601be_3b808037","in_reply_to":"66f84516_17abed0f","updated":"2022-09-30 11:01:21.000000000","message":"s/more?/more./ 😊","commit_id":"1aa79b71b5e8cc50d284e7f38cb0db79251c9d86"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"af9947b62f3cb401c915998620c008d9bb875529","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6e34c191_001b1e4b","updated":"2022-09-30 11:02:27.000000000","message":"Fixed the failing tests","commit_id":"b36c6262407c2f5c5084f9372aaf8d896b0f1095"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8f5ab9ae7f001d9c8a60af353f394bc4695a5858","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2ffd9bdb_d739aa48","updated":"2023-05-04 11:36:42.000000000","message":"I think this can be abandoned now, in favour of https://review.opendev.org/c/openstack/python-openstackclient/+/881822 ?","commit_id":"eb50fe8b90752cacf88dc4327584a4ecc2e2fc90"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"412a70ee17082040934d661d23e9354f299d6fdb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"eeeba9b3_41d14a34","updated":"2023-04-28 12:36:20.000000000","message":"I\u0027m okay with this, but before approving I\u0027d like to see what you think about [1]. Is that a more user-friendly option?\n\n[1] https://review.opendev.org/c/openstack/python-openstackclient/+/881822","commit_id":"eb50fe8b90752cacf88dc4327584a4ecc2e2fc90"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7b76410be183ec7ede24d180ebd2ca7542eac437","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"05603732_cf42a6fe","updated":"2023-05-02 12:06:11.000000000","message":"im generally ok with this im going to review Stephens counter proposal separately.\n\ni think we could merge this and then add client side generation as a followup but i have a few questions for stephen so ill leave those on the other review.","commit_id":"eb50fe8b90752cacf88dc4327584a4ecc2e2fc90"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"8bb2b3ed8489de40f862fb05f870938aecbee76b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"18ebc90b_de6809cc","in_reply_to":"2ffd9bdb_d739aa48","updated":"2023-05-04 12:54:50.000000000","message":"Meh, as people prefer.","commit_id":"eb50fe8b90752cacf88dc4327584a4ecc2e2fc90"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e27077215e80264408bbb27e9301546ff2352685","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b7b7de9f_dd913085","in_reply_to":"eeeba9b3_41d14a34","updated":"2023-05-02 09:35:59.000000000","message":"Well, I\u0027m not really opiniated either way, but tbc we deprecated the API because of some concerns due to security upgrades in guest OSes : https://specs.openstack.org/openstack/nova-specs/specs/zed/implemented/keypair-generation-removal.html\n\nSince you now automatically generate a Ed25519 keypair which will be supported even with OpenSSH versions upper than 8.8, I\u0027m cool with your patch.","commit_id":"eb50fe8b90752cacf88dc4327584a4ecc2e2fc90"}],"openstackclient/compute/v2/keypair.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"284e7a85963986a8dd005c4327cc9e977f02990a","unresolved":true,"context_lines":[{"line_number":60,"context_line":"            \u0027--public-key\u0027,"},{"line_number":61,"context_line":"            metavar\u003d\u0027\u003cfile\u003e\u0027,"},{"line_number":62,"context_line":"            help\u003d_(\"Filename for public key to add. \""},{"line_number":63,"context_line":"                   \"If not used, creates a private key (create only supported \""},{"line_number":64,"context_line":"                   \"by API versions 2.91 or older.)\")"},{"line_number":65,"context_line":"        )"},{"line_number":66,"context_line":"        key_group.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"bf590f94_3fce684a","line":63,"updated":"2022-07-27 18:04:00.000000000","message":"(create is only…","commit_id":"214d1d97b19965fdf7b565587487ba8eba1e2324"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e51114ca4721bd765dc2299cd1c26952801977f4","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            \u0027--public-key\u0027,"},{"line_number":61,"context_line":"            metavar\u003d\u0027\u003cfile\u003e\u0027,"},{"line_number":62,"context_line":"            help\u003d_(\"Filename for public key to add. \""},{"line_number":63,"context_line":"                   \"If not used, creates a private key (create only supported \""},{"line_number":64,"context_line":"                   \"by API versions 2.91 or older.)\")"},{"line_number":65,"context_line":"        )"},{"line_number":66,"context_line":"        key_group.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"fcaf7eb1_2251a5dd","line":63,"in_reply_to":"bf590f94_3fce684a","updated":"2022-07-28 15:03:13.000000000","message":"Ack","commit_id":"214d1d97b19965fdf7b565587487ba8eba1e2324"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"627c33978704f7fe1d904716afd9e6549a696830","unresolved":true,"context_lines":[{"line_number":114,"context_line":"            if sdk_utils.supports_microversion(compute_client, \u00272.92\u0027):"},{"line_number":115,"context_line":"                msg \u003d _("},{"line_number":116,"context_line":"                    \u0027--os-compute-api-version 2.92 or greater requires the \u0027"},{"line_number":117,"context_line":"                    \u0027--public_key option.\u0027"},{"line_number":118,"context_line":"                )"},{"line_number":119,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5991cb9f_bbc7759e","line":117,"range":{"start_line":117,"start_character":23,"end_line":117,"end_character":33},"updated":"2022-08-02 14:16:58.000000000","message":"public-key\n\n(dash, not underscore)","commit_id":"bdad2c4b16b4f3529d60222a581c1941765d8d1d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"dad186c595207afef745d8e2bd67eb5d4be0858e","unresolved":true,"context_lines":[{"line_number":114,"context_line":"            if sdk_utils.supports_microversion(compute_client, \u00272.92\u0027):"},{"line_number":115,"context_line":"                msg \u003d _("},{"line_number":116,"context_line":"                    \u0027--os-compute-api-version 2.92 or greater requires the \u0027"},{"line_number":117,"context_line":"                    \u0027--public_key option.\u0027"},{"line_number":118,"context_line":"                )"},{"line_number":119,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e2fe2d9e_97923d80","line":117,"range":{"start_line":117,"start_character":23,"end_line":117,"end_character":33},"in_reply_to":"5991cb9f_bbc7759e","updated":"2022-08-02 15:19:37.000000000","message":"Damn Atom IDE.","commit_id":"bdad2c4b16b4f3529d60222a581c1941765d8d1d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"876d080300c140e152ca6bb219f6334150b4e7e1","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            if sdk_utils.supports_microversion(compute_client, \u00272.92\u0027):"},{"line_number":115,"context_line":"                msg \u003d _("},{"line_number":116,"context_line":"                    \u0027--os-compute-api-version 2.92 or greater requires the \u0027"},{"line_number":117,"context_line":"                    \u0027--public_key option.\u0027"},{"line_number":118,"context_line":"                )"},{"line_number":119,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"4dc66582_db7b30fa","line":117,"range":{"start_line":117,"start_character":23,"end_line":117,"end_character":33},"in_reply_to":"e2fe2d9e_97923d80","updated":"2022-08-02 16:23:35.000000000","message":"Done","commit_id":"bdad2c4b16b4f3529d60222a581c1941765d8d1d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"876d080300c140e152ca6bb219f6334150b4e7e1","unresolved":true,"context_lines":[{"line_number":114,"context_line":"            if sdk_utils.supports_microversion(compute_client, \u00272.92\u0027):"},{"line_number":115,"context_line":"                msg \u003d _("},{"line_number":116,"context_line":"                    \u0027--os-compute-api-version 2.92 or greater requires the \u0027"},{"line_number":117,"context_line":"                    \u0027--public-key option.\u0027"},{"line_number":118,"context_line":"                )"},{"line_number":119,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9039e5ed_10aef3c7","line":117,"updated":"2022-08-02 16:23:35.000000000","message":"nit: This reads rather oddly. How about\n\n  \u0027The --public-key option is required when using \u0027\n  \u0027--os-compute-api-version 2.92 or greater\u0027\n\nAlso, no trailing period","commit_id":"1aa79b71b5e8cc50d284e7f38cb0db79251c9d86"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2bb67d7d884ccbe9638082cebbbecce75407ed2b","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            if sdk_utils.supports_microversion(compute_client, \u00272.92\u0027):"},{"line_number":115,"context_line":"                msg \u003d _("},{"line_number":116,"context_line":"                    \u0027--os-compute-api-version 2.92 or greater requires the \u0027"},{"line_number":117,"context_line":"                    \u0027--public-key option.\u0027"},{"line_number":118,"context_line":"                )"},{"line_number":119,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"625d6703_a4b2083f","line":117,"in_reply_to":"9039e5ed_10aef3c7","updated":"2022-09-30 11:01:01.000000000","message":"nvm, I see now you\u0027re matching the other errors here.","commit_id":"1aa79b71b5e8cc50d284e7f38cb0db79251c9d86"}],"openstackclient/tests/unit/compute/v2/test_keypair.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"284e7a85963986a8dd005c4327cc9e977f02990a","unresolved":true,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    @mock.patch.object(sdk_utils, \u0027supports_microversion\u0027)"},{"line_number":262,"context_line":"    def test_key_pair_create_with_user(self, sm_mock):"},{"line_number":263,"context_line":"        # We need to tell to not support 2.92 but then 2.10"},{"line_number":264,"context_line":"        sm_mock.side_effect \u003d (False, True)"},{"line_number":265,"context_line":"        arglist \u003d ["},{"line_number":266,"context_line":"            \u0027--user\u0027, identity_fakes.user_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"43234085_aef79660","line":263,"updated":"2022-07-27 18:04:00.000000000","message":"we need to reject 2.92 but accept 2.10","commit_id":"214d1d97b19965fdf7b565587487ba8eba1e2324"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e51114ca4721bd765dc2299cd1c26952801977f4","unresolved":false,"context_lines":[{"line_number":260,"context_line":""},{"line_number":261,"context_line":"    @mock.patch.object(sdk_utils, \u0027supports_microversion\u0027)"},{"line_number":262,"context_line":"    def test_key_pair_create_with_user(self, sm_mock):"},{"line_number":263,"context_line":"        # We need to tell to not support 2.92 but then 2.10"},{"line_number":264,"context_line":"        sm_mock.side_effect \u003d (False, True)"},{"line_number":265,"context_line":"        arglist \u003d ["},{"line_number":266,"context_line":"            \u0027--user\u0027, identity_fakes.user_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"276a1c06_718ecc63","line":263,"in_reply_to":"43234085_aef79660","updated":"2022-07-28 15:03:13.000000000","message":"Ack","commit_id":"214d1d97b19965fdf7b565587487ba8eba1e2324"}],"releasenotes/notes/bp-keypair-generation-removal-13124e6d9ffd91c3.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"627c33978704f7fe1d904716afd9e6549a696830","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 ``--public_key`` parameter to ``openstack keypair create`` becomes"},{"line_number":5,"context_line":"    mandatory with ``--os-compute-api-version 2.92`` or greater."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"49f318f3_74d7b6b9","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":22},"updated":"2022-08-02 14:16:58.000000000","message":"public-key","commit_id":"bdad2c4b16b4f3529d60222a581c1941765d8d1d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"876d080300c140e152ca6bb219f6334150b4e7e1","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 ``--public_key`` parameter to ``openstack keypair create`` becomes"},{"line_number":5,"context_line":"    mandatory with ``--os-compute-api-version 2.92`` or greater."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"0d86af1c_5201791c","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":22},"in_reply_to":"49f318f3_74d7b6b9","updated":"2022-08-02 16:23:35.000000000","message":"Done","commit_id":"bdad2c4b16b4f3529d60222a581c1941765d8d1d"}]}
