)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e5bcf66aebdd270ac7f62274252911a866377d9c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a732ecb7_4e2f9635","updated":"2026-02-11 13:46:35.000000000","message":"Thanks Eric for the review, please find my response inline.","commit_id":"296a19054dbbf15a655259103b4e528b8ad602af"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7e71204f63fb303421146c8ef6cc50ac8cfe81ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"53bf0dd2_a60502bc","updated":"2026-02-16 19:42:16.000000000","message":"recheck","commit_id":"296a19054dbbf15a655259103b4e528b8ad602af"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f2b375aed5dbf0fdd81795bcc327842789f95f29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4d380bed_df79a98f","updated":"2026-02-11 13:48:15.000000000","message":"unit tests are failing due to os-win being broken\n\n    2026-02-11 09:50:34.095898 | debian-trixie |     from os_win import _utils\n    2026-02-11 09:50:34.095906 | debian-trixie |   File \n    \"/home/zuul/src/opendev.org/openstack/cinder/.tox/py313/lib/python3.13/site-\n    packages/os_win/_utils.py\", line 19, in \u003cmodule\u003e\n    2026-02-11 09:50:34.095913 | debian-trixie |     from pkg_resources import \n    parse_version\n    2026-02-11 09:50:34.095920 | debian-trixie | ModuleNotFoundError: No module \n    named \u0027pkg_resources\u0027","commit_id":"296a19054dbbf15a655259103b4e528b8ad602af"}],"cinder/volume/api.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ac8c87db17a772979f99f6428afc1f6f5cf46a7f","unresolved":true,"context_lines":[{"line_number":1960,"context_line":"        # the driver retype fails, and volumes with snapshots cannot be"},{"line_number":1961,"context_line":"        # migrated. When migration_policy is \u0027never\u0027, only driver retype is"},{"line_number":1962,"context_line":"        # attempted and snapshots are allowed."},{"line_number":1963,"context_line":"        if migration_policy \u003d\u003d \u0027on-demand\u0027:"},{"line_number":1964,"context_line":"            snaps \u003d objects.SnapshotList.get_all_for_volume(context, volume.id)"},{"line_number":1965,"context_line":"            if snaps:"},{"line_number":1966,"context_line":"                msg \u003d _(\u0027Volume must not have snapshots when retyping with \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"0c1b2d28_f41363be","line":1963,"updated":"2026-02-11 12:33:07.000000000","message":"This check doesn\u0027t seem correct -- if the volume has snapshots and the migration-policy is on-demand, the retype can still succeed if a migration is not actually required. We don\u0027t want to block that situation here.","commit_id":"296a19054dbbf15a655259103b4e528b8ad602af"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e5bcf66aebdd270ac7f62274252911a866377d9c","unresolved":true,"context_lines":[{"line_number":1960,"context_line":"        # the driver retype fails, and volumes with snapshots cannot be"},{"line_number":1961,"context_line":"        # migrated. When migration_policy is \u0027never\u0027, only driver retype is"},{"line_number":1962,"context_line":"        # attempted and snapshots are allowed."},{"line_number":1963,"context_line":"        if migration_policy \u003d\u003d \u0027on-demand\u0027:"},{"line_number":1964,"context_line":"            snaps \u003d objects.SnapshotList.get_all_for_volume(context, volume.id)"},{"line_number":1965,"context_line":"            if snaps:"},{"line_number":1966,"context_line":"                msg \u003d _(\u0027Volume must not have snapshots when retyping with \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9b7173ef_0ad005a6","line":1963,"in_reply_to":"0c1b2d28_f41363be","updated":"2026-02-11 13:46:35.000000000","message":"I can see that our support matrix doesn\u0027t say anything about retype support[1] but even if that operation fails, the right way to approach this would be to pass migration-policy as \"never\" which the error message states below:\n\n    use migration_policy\u003dnever if the driver supports retype without migration.\n\n    $ cinder retype --migration-policy on-demand test-migrate-iscsi-to-iscsi lvmdriver-2\n    ERROR: Invalid volume: Volume must not have snapshots when retyping with\n    migration_policy\u003don-demand. Either delete the snapshots or use \n    migration_policy\u003dnever if the driver supports retype without migration. (HTTP \n    400) (Request-ID: req-21bc5847-45e2-489d-ab5b-0b228fec05bf)\n\n[1] https://docs.openstack.org/cinder/latest/reference/support-matrix.html","commit_id":"296a19054dbbf15a655259103b4e528b8ad602af"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"c9ca367351b4cbeeef1a42e795cca40c778e26b7","unresolved":true,"context_lines":[{"line_number":1963,"context_line":"        if migration_policy \u003d\u003d \u0027on-demand\u0027:"},{"line_number":1964,"context_line":"            snaps \u003d objects.SnapshotList.get_all_for_volume(context, volume.id)"},{"line_number":1965,"context_line":"            if snaps:"},{"line_number":1966,"context_line":"                msg \u003d _(\u0027Volume must not have snapshots when retyping with \u0027"},{"line_number":1967,"context_line":"                        \u0027migration_policy\u003don-demand. Either delete the \u0027"},{"line_number":1968,"context_line":"                        \u0027snapshots or use migration_policy\u003dnever if the \u0027"},{"line_number":1969,"context_line":"                        \u0027driver supports retype without migration.\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"54a54047_1cc83603","line":1966,"updated":"2026-04-08 16:07:19.000000000","message":"based on comments can we reword error message? \u0027Volume must not have snapshots when migration is required for retype. Either delete the snapshots or use a volume type that your driver can retype without migration.\u0027","commit_id":"296a19054dbbf15a655259103b4e528b8ad602af"}]}
