)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"189cc7d7_71729850","updated":"2024-04-08 10:30:48.000000000","message":"This would be slightly easier to review if you had two commits: one to copy-paste the v2 code to v3 and another to add the feature. Any chance you could do that when you respin?","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"995a685c_cb73cb85","updated":"2024-04-29 19:11:32.000000000","message":"Thanks Stephen!","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b04ab8847ac0e3973d8a12de84d3958e970d5fc1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5ff790a0_0653c18c","updated":"2024-05-07 10:16:46.000000000","message":"Thanks, this is much easier to review. We still have one remaining issue from PS5 and I have a couple of doc-style nits also.","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5d9018096066250bf1c60a99e70a751e414eb63b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8a3ab330_0443ac12","updated":"2024-05-07 19:55:40.000000000","message":"Thanks Stephen","commit_id":"594ba762dfdb80fa6acce2034c165f0a90aeb493"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f8896f7ea1c5df4503cb5a8a07f496165e80cbbe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"dd3b87da_197d6b6b","in_reply_to":"8a3ab330_0443ac12","updated":"2024-05-08 15:16:19.000000000","message":"Thanks *you* 😊","commit_id":"594ba762dfdb80fa6acce2034c165f0a90aeb493"}],"openstackclient/tests/unit/volume/v3/test_volume.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":true,"context_lines":[{"line_number":372,"context_line":"        )"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    def test_volume_create_remote_source_no_host_or_cluster(self):"},{"line_number":375,"context_line":"        arglist \u003d ["},{"line_number":376,"context_line":"            \u0027--size\u0027,"},{"line_number":377,"context_line":"            str(self.new_volume.size),"},{"line_number":378,"context_line":"            \u0027--remote-source\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"359dd2ab_eb38f4fe","line":375,"updated":"2024-04-08 10:30:48.000000000","message":"nit: no need to set microversion here? or perhaps setting it above was unnecessary?\n\nLater: Ah, the microversion is only needed with `--cluster`","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[{"line_number":372,"context_line":"        )"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"    def test_volume_create_remote_source_no_host_or_cluster(self):"},{"line_number":375,"context_line":"        arglist \u003d ["},{"line_number":376,"context_line":"            \u0027--size\u0027,"},{"line_number":377,"context_line":"            str(self.new_volume.size),"},{"line_number":378,"context_line":"            \u0027--remote-source\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"a10de21b_866ecdcf","line":375,"in_reply_to":"359dd2ab_eb38f4fe","updated":"2024-04-29 19:11:32.000000000","message":"Yes, correct.","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"}],"openstackclient/volume/v3/volume.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":true,"context_lines":[{"line_number":131,"context_line":"        args.snapshot or args.source or args.backup or args.remote_source"},{"line_number":132,"context_line":"    ) is None and args.size is None:"},{"line_number":133,"context_line":"        msg \u003d _("},{"line_number":134,"context_line":"            \"--size is a required option if snapshot, backup \""},{"line_number":135,"context_line":"            \"or source volume are not specified.\""},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        raise exceptions.CommandError(msg)"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"4200f1f4_2dbd78b8","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":49},"updated":"2024-04-08 10:30:48.000000000","message":"How about making this a little more specific?\n\n```\n\"--size is a required option if none of --snapshot, \"\n\"--backup, --source, or --remote-source are provided.\"\n```","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        args.snapshot or args.source or args.backup or args.remote_source"},{"line_number":132,"context_line":"    ) is None and args.size is None:"},{"line_number":133,"context_line":"        msg \u003d _("},{"line_number":134,"context_line":"            \"--size is a required option if snapshot, backup \""},{"line_number":135,"context_line":"            \"or source volume are not specified.\""},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        raise exceptions.CommandError(msg)"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"2ef06019_5b99a060","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":49},"in_reply_to":"4200f1f4_2dbd78b8","updated":"2024-04-29 19:11:32.000000000","message":"Done","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":true,"context_lines":[{"line_number":248,"context_line":"            action\u003d\"store_true\","},{"line_number":249,"context_line":"            help\u003d_(\"Set volume to read-write access mode (default)\"),"},{"line_number":250,"context_line":"        )"},{"line_number":251,"context_line":"        parser.add_argument("},{"line_number":252,"context_line":"            \"--remote-source\","},{"line_number":253,"context_line":"            metavar\u003d\"\u003ckey\u003dvalue\u003e\","},{"line_number":254,"context_line":"            action\u003dparseractions.KeyValueAction,"},{"line_number":255,"context_line":"            help\u003d_("},{"line_number":256,"context_line":"                \"The attribute(s) of the existing remote volume \""},{"line_number":257,"context_line":"                \"(admin required) (repeat option to specify multiple \""},{"line_number":258,"context_line":"                \"attributes) e.g.: \u0027--remote-source source-name\u003dtest_name \""},{"line_number":259,"context_line":"                \"--remote-source source-id\u003dtest_id\u0027\""},{"line_number":260,"context_line":"            ),"},{"line_number":261,"context_line":"        )"},{"line_number":262,"context_line":"        parser.add_argument("},{"line_number":263,"context_line":"            \"--host\","},{"line_number":264,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":5,"id":"c4030b17_ce66d17b","line":261,"range":{"start_line":251,"start_character":0,"end_line":261,"end_character":9},"updated":"2024-04-08 10:30:48.000000000","message":"Shouldn\u0027t this be part of the `source_group` exclusive group above?","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            action\u003d\"store_true\","},{"line_number":249,"context_line":"            help\u003d_(\"Set volume to read-write access mode (default)\"),"},{"line_number":250,"context_line":"        )"},{"line_number":251,"context_line":"        parser.add_argument("},{"line_number":252,"context_line":"            \"--remote-source\","},{"line_number":253,"context_line":"            metavar\u003d\"\u003ckey\u003dvalue\u003e\","},{"line_number":254,"context_line":"            action\u003dparseractions.KeyValueAction,"},{"line_number":255,"context_line":"            help\u003d_("},{"line_number":256,"context_line":"                \"The attribute(s) of the existing remote volume \""},{"line_number":257,"context_line":"                \"(admin required) (repeat option to specify multiple \""},{"line_number":258,"context_line":"                \"attributes) e.g.: \u0027--remote-source source-name\u003dtest_name \""},{"line_number":259,"context_line":"                \"--remote-source source-id\u003dtest_id\u0027\""},{"line_number":260,"context_line":"            ),"},{"line_number":261,"context_line":"        )"},{"line_number":262,"context_line":"        parser.add_argument("},{"line_number":263,"context_line":"            \"--host\","},{"line_number":264,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":5,"id":"74e5aa5b_0b4a4022","line":261,"range":{"start_line":251,"start_character":0,"end_line":261,"end_character":9},"in_reply_to":"c4030b17_ce66d17b","updated":"2024-04-29 19:11:32.000000000","message":"Done","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":true,"context_lines":[{"line_number":272,"context_line":"            metavar\u003d\"\u003ccluster\u003e\","},{"line_number":273,"context_line":"            help\u003d_("},{"line_number":274,"context_line":"                \"Cinder cluster on which the existing volume resides; \""},{"line_number":275,"context_line":"                \"takes the form: cluster@backend-name#pool\","},{"line_number":276,"context_line":"            ),"},{"line_number":277,"context_line":"        )"},{"line_number":278,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"18df2c8b_97a9c127","line":275,"updated":"2024-04-08 10:30:48.000000000","message":"Can you add:\n\n```\n(supported by --os-volume-api-version 3.16 or above)\n```\n\n?","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[{"line_number":272,"context_line":"            metavar\u003d\"\u003ccluster\u003e\","},{"line_number":273,"context_line":"            help\u003d_("},{"line_number":274,"context_line":"                \"Cinder cluster on which the existing volume resides; \""},{"line_number":275,"context_line":"                \"takes the form: cluster@backend-name#pool\","},{"line_number":276,"context_line":"            ),"},{"line_number":277,"context_line":"        )"},{"line_number":278,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"496f2008_10426a68","line":275,"in_reply_to":"18df2c8b_97a9c127","updated":"2024-04-29 19:11:32.000000000","message":"Done","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":true,"context_lines":[{"line_number":248,"context_line":"            action\u003d\"store_true\","},{"line_number":249,"context_line":"            help\u003d_(\"Set volume to read-write access mode (default)\"),"},{"line_number":250,"context_line":"        )"},{"line_number":251,"context_line":"        parser.add_argument("},{"line_number":252,"context_line":"            \"--remote-source\","},{"line_number":253,"context_line":"            metavar\u003d\"\u003ckey\u003dvalue\u003e\","},{"line_number":254,"context_line":"            action\u003dparseractions.KeyValueAction,"},{"line_number":255,"context_line":"            help\u003d_("},{"line_number":256,"context_line":"                \"The attribute(s) of the existing remote volume \""},{"line_number":257,"context_line":"                \"(admin required) (repeat option to specify multiple \""},{"line_number":258,"context_line":"                \"attributes) e.g.: \u0027--remote-source source-name\u003dtest_name \""},{"line_number":259,"context_line":"                \"--remote-source source-id\u003dtest_id\u0027\""},{"line_number":260,"context_line":"            ),"},{"line_number":261,"context_line":"        )"},{"line_number":262,"context_line":"        parser.add_argument("},{"line_number":263,"context_line":"            \"--host\","},{"line_number":264,"context_line":"            metavar\u003d\"\u003chost\u003e\","},{"line_number":265,"context_line":"            help\u003d_("},{"line_number":266,"context_line":"                \"Cinder host on which the existing volume resides; \""},{"line_number":267,"context_line":"                \"takes the form: host@backend-name#pool\""},{"line_number":268,"context_line":"            ),"},{"line_number":269,"context_line":"        )"},{"line_number":270,"context_line":"        parser.add_argument("},{"line_number":271,"context_line":"            \"--cluster\","},{"line_number":272,"context_line":"            metavar\u003d\"\u003ccluster\u003e\","},{"line_number":273,"context_line":"            help\u003d_("},{"line_number":274,"context_line":"                \"Cinder cluster on which the existing volume resides; \""},{"line_number":275,"context_line":"                \"takes the form: cluster@backend-name#pool\","},{"line_number":276,"context_line":"            ),"},{"line_number":277,"context_line":"        )"},{"line_number":278,"context_line":"        return parser"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":5,"id":"4a46a4d6_1c83e00c","line":277,"range":{"start_line":251,"start_character":0,"end_line":277,"end_character":9},"updated":"2024-04-08 10:30:48.000000000","message":"This is new","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            action\u003d\"store_true\","},{"line_number":249,"context_line":"            help\u003d_(\"Set volume to read-write access mode (default)\"),"},{"line_number":250,"context_line":"        )"},{"line_number":251,"context_line":"        parser.add_argument("},{"line_number":252,"context_line":"            \"--remote-source\","},{"line_number":253,"context_line":"            metavar\u003d\"\u003ckey\u003dvalue\u003e\","},{"line_number":254,"context_line":"            action\u003dparseractions.KeyValueAction,"},{"line_number":255,"context_line":"            help\u003d_("},{"line_number":256,"context_line":"                \"The attribute(s) of the existing remote volume \""},{"line_number":257,"context_line":"                \"(admin required) (repeat option to specify multiple \""},{"line_number":258,"context_line":"                \"attributes) e.g.: \u0027--remote-source source-name\u003dtest_name \""},{"line_number":259,"context_line":"                \"--remote-source source-id\u003dtest_id\u0027\""},{"line_number":260,"context_line":"            ),"},{"line_number":261,"context_line":"        )"},{"line_number":262,"context_line":"        parser.add_argument("},{"line_number":263,"context_line":"            \"--host\","},{"line_number":264,"context_line":"            metavar\u003d\"\u003chost\u003e\","},{"line_number":265,"context_line":"            help\u003d_("},{"line_number":266,"context_line":"                \"Cinder host on which the existing volume resides; \""},{"line_number":267,"context_line":"                \"takes the form: host@backend-name#pool\""},{"line_number":268,"context_line":"            ),"},{"line_number":269,"context_line":"        )"},{"line_number":270,"context_line":"        parser.add_argument("},{"line_number":271,"context_line":"            \"--cluster\","},{"line_number":272,"context_line":"            metavar\u003d\"\u003ccluster\u003e\","},{"line_number":273,"context_line":"            help\u003d_("},{"line_number":274,"context_line":"                \"Cinder cluster on which the existing volume resides; \""},{"line_number":275,"context_line":"                \"takes the form: cluster@backend-name#pool\","},{"line_number":276,"context_line":"            ),"},{"line_number":277,"context_line":"        )"},{"line_number":278,"context_line":"        return parser"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"    def take_action(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":5,"id":"8beac5fc_2239535f","line":277,"range":{"start_line":251,"start_character":0,"end_line":277,"end_character":9},"in_reply_to":"4a46a4d6_1c83e00c","updated":"2024-04-29 19:11:32.000000000","message":"Done","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":true,"context_lines":[{"line_number":286,"context_line":"        size \u003d parsed_args.size"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        volume_client \u003d self.app.client_manager.volume"},{"line_number":289,"context_line":"        volume_client_sdk \u003d self.app.client_manager.sdk_connection.volume"},{"line_number":290,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        if parsed_args.remote_source:"}],"source_content_type":"text/x-python","patch_set":5,"id":"b8bc3298_c26471e2","line":289,"updated":"2024-04-08 10:30:48.000000000","message":"This is new","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        size \u003d parsed_args.size"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        volume_client \u003d self.app.client_manager.volume"},{"line_number":289,"context_line":"        volume_client_sdk \u003d self.app.client_manager.sdk_connection.volume"},{"line_number":290,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        if parsed_args.remote_source:"}],"source_content_type":"text/x-python","patch_set":5,"id":"13383746_b9499026","line":289,"in_reply_to":"b8bc3298_c26471e2","updated":"2024-04-29 19:11:32.000000000","message":"Done","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":true,"context_lines":[{"line_number":310,"context_line":"                    \"Either the host or the cluster parameter needs to be \""},{"line_number":311,"context_line":"                    \"specified to manage a volume.\""},{"line_number":312,"context_line":"                )"},{"line_number":313,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":314,"context_line":"            volume \u003d volume_client_sdk.manage_volume("},{"line_number":315,"context_line":"                host\u003dparsed_args.host,"},{"line_number":316,"context_line":"                cluster\u003dparsed_args.cluster,"}],"source_content_type":"text/x-python","patch_set":5,"id":"6db60bab_afe7c651","line":313,"updated":"2024-04-08 10:30:48.000000000","message":"It looks like the following are ignored if we opt for this approach to creating. Do we want to error out if they\u0027re passed to prevent surprising behaviour?\n\n- `--size`\n- `--consistency-group`\n- `--hint`\n- `--read-only` / `--read-write`\n\nLikewise, the following are only used if we opt for this approach. Again, do we want to error out if they\u0027re provided without `--remote-source`?\n\n- `--host`\n- `--cluster`","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[{"line_number":310,"context_line":"                    \"Either the host or the cluster parameter needs to be \""},{"line_number":311,"context_line":"                    \"specified to manage a volume.\""},{"line_number":312,"context_line":"                )"},{"line_number":313,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":314,"context_line":"            volume \u003d volume_client_sdk.manage_volume("},{"line_number":315,"context_line":"                host\u003dparsed_args.host,"},{"line_number":316,"context_line":"                cluster\u003dparsed_args.cluster,"}],"source_content_type":"text/x-python","patch_set":5,"id":"78d14c0a_30ba1e92","line":313,"in_reply_to":"6db60bab_afe7c651","updated":"2024-04-29 19:11:32.000000000","message":"The latter case is already handled, added a check for the former case.","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6b74af9bbc45d1fb1f0f716b3bbc9a86b8c971bc","unresolved":true,"context_lines":[{"line_number":289,"context_line":"        volume_client_sdk \u003d self.app.client_manager.sdk_connection.volume"},{"line_number":290,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        if parsed_args.remote_source:"},{"line_number":293,"context_line":"            if parsed_args.cluster:"},{"line_number":294,"context_line":"                if not sdk_utils.supports_microversion("},{"line_number":295,"context_line":"                    volume_client_sdk, \u00273.16\u0027"},{"line_number":296,"context_line":"                ):"},{"line_number":297,"context_line":"                    msg \u003d _("},{"line_number":298,"context_line":"                        \"--os-volume-api-version 3.16 or greater is required to \""},{"line_number":299,"context_line":"                        \"support the cluster parameter.\""},{"line_number":300,"context_line":"                    )"},{"line_number":301,"context_line":"                    raise exceptions.CommandError(msg)"},{"line_number":302,"context_line":"            if parsed_args.cluster and parsed_args.host:"},{"line_number":303,"context_line":"                msg \u003d _("},{"line_number":304,"context_line":"                    \"Only one of the host or the cluster parameter needs to be \""},{"line_number":305,"context_line":"                    \"specified to manage a volume.\""},{"line_number":306,"context_line":"                )"},{"line_number":307,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":308,"context_line":"            if not parsed_args.cluster and not parsed_args.host:"},{"line_number":309,"context_line":"                msg \u003d _("},{"line_number":310,"context_line":"                    \"Either the host or the cluster parameter needs to be \""},{"line_number":311,"context_line":"                    \"specified to manage a volume.\""},{"line_number":312,"context_line":"                )"},{"line_number":313,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":314,"context_line":"            volume \u003d volume_client_sdk.manage_volume("},{"line_number":315,"context_line":"                host\u003dparsed_args.host,"},{"line_number":316,"context_line":"                cluster\u003dparsed_args.cluster,"},{"line_number":317,"context_line":"                ref\u003dparsed_args.remote_source,"},{"line_number":318,"context_line":"                name\u003dparsed_args.name,"},{"line_number":319,"context_line":"                description\u003dparsed_args.description,"},{"line_number":320,"context_line":"                volume_type\u003dparsed_args.type,"},{"line_number":321,"context_line":"                availability_zone\u003dparsed_args.availability_zone,"},{"line_number":322,"context_line":"                metadata\u003dparsed_args.property,"},{"line_number":323,"context_line":"                bootable\u003dparsed_args.bootable,"},{"line_number":324,"context_line":"            )"},{"line_number":325,"context_line":"            return zip(*sorted(volume.items()))"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"        if parsed_args.backup and not ("},{"line_number":328,"context_line":"            volume_client.api_version.matches(\u00273.47\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"8012c7ba_d81168bc","line":325,"range":{"start_line":292,"start_character":0,"end_line":325,"end_character":47},"updated":"2024-04-08 10:30:48.000000000","message":"This is new.","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"631b294ceeb176547caf2601d63c3eda6fbc1ba7","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        volume_client_sdk \u003d self.app.client_manager.sdk_connection.volume"},{"line_number":290,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"        if parsed_args.remote_source:"},{"line_number":293,"context_line":"            if parsed_args.cluster:"},{"line_number":294,"context_line":"                if not sdk_utils.supports_microversion("},{"line_number":295,"context_line":"                    volume_client_sdk, \u00273.16\u0027"},{"line_number":296,"context_line":"                ):"},{"line_number":297,"context_line":"                    msg \u003d _("},{"line_number":298,"context_line":"                        \"--os-volume-api-version 3.16 or greater is required to \""},{"line_number":299,"context_line":"                        \"support the cluster parameter.\""},{"line_number":300,"context_line":"                    )"},{"line_number":301,"context_line":"                    raise exceptions.CommandError(msg)"},{"line_number":302,"context_line":"            if parsed_args.cluster and parsed_args.host:"},{"line_number":303,"context_line":"                msg \u003d _("},{"line_number":304,"context_line":"                    \"Only one of the host or the cluster parameter needs to be \""},{"line_number":305,"context_line":"                    \"specified to manage a volume.\""},{"line_number":306,"context_line":"                )"},{"line_number":307,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":308,"context_line":"            if not parsed_args.cluster and not parsed_args.host:"},{"line_number":309,"context_line":"                msg \u003d _("},{"line_number":310,"context_line":"                    \"Either the host or the cluster parameter needs to be \""},{"line_number":311,"context_line":"                    \"specified to manage a volume.\""},{"line_number":312,"context_line":"                )"},{"line_number":313,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":314,"context_line":"            volume \u003d volume_client_sdk.manage_volume("},{"line_number":315,"context_line":"                host\u003dparsed_args.host,"},{"line_number":316,"context_line":"                cluster\u003dparsed_args.cluster,"},{"line_number":317,"context_line":"                ref\u003dparsed_args.remote_source,"},{"line_number":318,"context_line":"                name\u003dparsed_args.name,"},{"line_number":319,"context_line":"                description\u003dparsed_args.description,"},{"line_number":320,"context_line":"                volume_type\u003dparsed_args.type,"},{"line_number":321,"context_line":"                availability_zone\u003dparsed_args.availability_zone,"},{"line_number":322,"context_line":"                metadata\u003dparsed_args.property,"},{"line_number":323,"context_line":"                bootable\u003dparsed_args.bootable,"},{"line_number":324,"context_line":"            )"},{"line_number":325,"context_line":"            return zip(*sorted(volume.items()))"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"        if parsed_args.backup and not ("},{"line_number":328,"context_line":"            volume_client.api_version.matches(\u00273.47\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"55f5026f_91e344da","line":325,"range":{"start_line":292,"start_character":0,"end_line":325,"end_character":47},"in_reply_to":"8012c7ba_d81168bc","updated":"2024-04-29 19:11:32.000000000","message":"Done","commit_id":"ebb6911c561d00ccdcfc82c51d72763aa42a924b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b04ab8847ac0e3973d8a12de84d3958e970d5fc1","unresolved":true,"context_lines":[{"line_number":258,"context_line":"                \"attributes) e.g.: \u0027--remote-source source-name\u003dtest_name \""},{"line_number":259,"context_line":"                \"--remote-source source-id\u003dtest_id\u0027\""},{"line_number":260,"context_line":"            ),"},{"line_number":261,"context_line":"        )"},{"line_number":262,"context_line":"        parser.add_argument("},{"line_number":263,"context_line":"            \"--host\","},{"line_number":264,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":6,"id":"8d6dc372_de3e3ded","line":261,"updated":"2024-05-07 10:16:46.000000000","message":"Can you group this with the other \"source\" options?","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5d9018096066250bf1c60a99e70a751e414eb63b","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                \"attributes) e.g.: \u0027--remote-source source-name\u003dtest_name \""},{"line_number":259,"context_line":"                \"--remote-source source-id\u003dtest_id\u0027\""},{"line_number":260,"context_line":"            ),"},{"line_number":261,"context_line":"        )"},{"line_number":262,"context_line":"        parser.add_argument("},{"line_number":263,"context_line":"            \"--host\","},{"line_number":264,"context_line":"            metavar\u003d\"\u003chost\u003e\","}],"source_content_type":"text/x-python","patch_set":6,"id":"24d55944_086dd61d","line":261,"in_reply_to":"8d6dc372_de3e3ded","updated":"2024-05-07 19:55:40.000000000","message":"Done","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b04ab8847ac0e3973d8a12de84d3958e970d5fc1","unresolved":true,"context_lines":[{"line_number":274,"context_line":"                \"Cinder cluster on which the existing volume resides; \""},{"line_number":275,"context_line":"                \"takes the form: cluster@backend-name#pool. \""},{"line_number":276,"context_line":"                \"(supported by --os-volume-api-version 3.16 or above)\","},{"line_number":277,"context_line":"            ),"},{"line_number":278,"context_line":"        )"},{"line_number":279,"context_line":"        return parser"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"92feb3f1_f6e28341","line":277,"updated":"2024-05-07 10:16:46.000000000","message":"In PS5 you noted that setting these without setting `--remote-source` was handled but I don\u0027t see anything. Can we add a check for these (like you\u0027ve done for `--size`, `--hint` etc. below) and maybe in the help text indicating that these are only applicable with the `--remote-source` argument?","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5d9018096066250bf1c60a99e70a751e414eb63b","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                \"Cinder cluster on which the existing volume resides; \""},{"line_number":275,"context_line":"                \"takes the form: cluster@backend-name#pool. \""},{"line_number":276,"context_line":"                \"(supported by --os-volume-api-version 3.16 or above)\","},{"line_number":277,"context_line":"            ),"},{"line_number":278,"context_line":"        )"},{"line_number":279,"context_line":"        return parser"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7e739271_5c2ad9f3","line":277,"in_reply_to":"92feb3f1_f6e28341","updated":"2024-05-07 19:55:40.000000000","message":"Done","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b04ab8847ac0e3973d8a12de84d3958e970d5fc1","unresolved":true,"context_lines":[{"line_number":299,"context_line":"                or parsed_args.read_write"},{"line_number":300,"context_line":"            ):"},{"line_number":301,"context_line":"                msg \u003d _("},{"line_number":302,"context_line":"                    \"The options, --size, --consistency-group, --hint, \""},{"line_number":303,"context_line":"                    \"--read-only and --read-write are not supported along \""},{"line_number":304,"context_line":"                    \"with --remote-source parameter.\""},{"line_number":305,"context_line":"                )"},{"line_number":306,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"48a547d0_b072133f","line":303,"range":{"start_line":302,"start_character":25,"end_line":303,"end_character":49},"updated":"2024-05-07 10:16:46.000000000","message":"Can you reverse the ordering of these?\n\n``The --size, --consistency-group, ..., and --read-write options```","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5d9018096066250bf1c60a99e70a751e414eb63b","unresolved":false,"context_lines":[{"line_number":299,"context_line":"                or parsed_args.read_write"},{"line_number":300,"context_line":"            ):"},{"line_number":301,"context_line":"                msg \u003d _("},{"line_number":302,"context_line":"                    \"The options, --size, --consistency-group, --hint, \""},{"line_number":303,"context_line":"                    \"--read-only and --read-write are not supported along \""},{"line_number":304,"context_line":"                    \"with --remote-source parameter.\""},{"line_number":305,"context_line":"                )"},{"line_number":306,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1e26af2e_f84dae4e","line":303,"range":{"start_line":302,"start_character":25,"end_line":303,"end_character":49},"in_reply_to":"48a547d0_b072133f","updated":"2024-05-07 19:55:40.000000000","message":"Done","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b04ab8847ac0e3973d8a12de84d3958e970d5fc1","unresolved":true,"context_lines":[{"line_number":315,"context_line":"                    raise exceptions.CommandError(msg)"},{"line_number":316,"context_line":"            if parsed_args.cluster and parsed_args.host:"},{"line_number":317,"context_line":"                msg \u003d _("},{"line_number":318,"context_line":"                    \"Only one of the host or the cluster parameter needs to be \""},{"line_number":319,"context_line":"                    \"specified to manage a volume.\""},{"line_number":320,"context_line":"                )"},{"line_number":321,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5b284f2c_222d5a8c","line":318,"range":{"start_line":318,"start_character":33,"end_line":318,"end_character":66},"updated":"2024-05-07 10:16:46.000000000","message":"```\nOnly one of --host or --cluster needs to be\n```","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5d9018096066250bf1c60a99e70a751e414eb63b","unresolved":false,"context_lines":[{"line_number":315,"context_line":"                    raise exceptions.CommandError(msg)"},{"line_number":316,"context_line":"            if parsed_args.cluster and parsed_args.host:"},{"line_number":317,"context_line":"                msg \u003d _("},{"line_number":318,"context_line":"                    \"Only one of the host or the cluster parameter needs to be \""},{"line_number":319,"context_line":"                    \"specified to manage a volume.\""},{"line_number":320,"context_line":"                )"},{"line_number":321,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"a77d679a_ad4586e8","line":318,"range":{"start_line":318,"start_character":33,"end_line":318,"end_character":66},"in_reply_to":"5b284f2c_222d5a8c","updated":"2024-05-07 19:55:40.000000000","message":"Done","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b04ab8847ac0e3973d8a12de84d3958e970d5fc1","unresolved":true,"context_lines":[{"line_number":321,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":322,"context_line":"            if not parsed_args.cluster and not parsed_args.host:"},{"line_number":323,"context_line":"                msg \u003d _("},{"line_number":324,"context_line":"                    \"Either the host or the cluster parameter needs to be \""},{"line_number":325,"context_line":"                    \"specified to manage a volume.\""},{"line_number":326,"context_line":"                )"},{"line_number":327,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ddc8ceef_39a39c6b","line":324,"range":{"start_line":324,"start_character":21,"end_line":324,"end_character":61},"updated":"2024-05-07 10:16:46.000000000","message":"```\nOne of --host or --cluster needs to be\n```","commit_id":"4697b5529d4da16d9723233630a04f4551463542"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"5d9018096066250bf1c60a99e70a751e414eb63b","unresolved":false,"context_lines":[{"line_number":321,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":322,"context_line":"            if not parsed_args.cluster and not parsed_args.host:"},{"line_number":323,"context_line":"                msg \u003d _("},{"line_number":324,"context_line":"                    \"Either the host or the cluster parameter needs to be \""},{"line_number":325,"context_line":"                    \"specified to manage a volume.\""},{"line_number":326,"context_line":"                )"},{"line_number":327,"context_line":"                raise exceptions.CommandError(msg)"}],"source_content_type":"text/x-python","patch_set":6,"id":"6aefce10_af99d4e9","line":324,"range":{"start_line":324,"start_character":21,"end_line":324,"end_character":61},"in_reply_to":"ddc8ceef_39a39c6b","updated":"2024-05-07 19:55:40.000000000","message":"Done","commit_id":"4697b5529d4da16d9723233630a04f4551463542"}]}
