)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"46cd04f7c08b4d42698f0ef1bdbc3941ec6795a8","unresolved":true,"context_lines":[{"line_number":12,"context_line":"on the retype API (microversion 3.72) that allows operators to"},{"line_number":13,"context_line":"proceed."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"When used, Cinder will first attempt to disable replication via"},{"line_number":16,"context_line":"the storage driver before proceeding with migration."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The force_replicated parameter is only sent over RPC when the"},{"line_number":19,"context_line":"volume manager supports version 3.21, and driver errors during"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"e73cd178_078d6569","line":16,"range":{"start_line":15,"start_character":0,"end_line":16,"end_character":52},"updated":"2026-06-03 09:10:58.000000000","message":"I am not sure how this behaviour affects if the Cinder Volume is replicated at pool level. Since a lot of driver support pool level replication, wouldn\u0027t this end up forcing the entire Cinder pool get unreplicated?","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"86fe27d60ee3a3f8d84448cb3870ab9f708a1bf5","unresolved":false,"context_lines":[{"line_number":12,"context_line":"on the retype API (microversion 3.72) that allows operators to"},{"line_number":13,"context_line":"proceed."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"When used, Cinder will first attempt to disable replication via"},{"line_number":16,"context_line":"the storage driver before proceeding with migration."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The force_replicated parameter is only sent over RPC when the"},{"line_number":19,"context_line":"volume manager supports version 3.21, and driver errors during"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"e436ff06_a23020fd","line":16,"range":{"start_line":15,"start_character":0,"end_line":16,"end_character":52},"in_reply_to":"bf24bd3d_6cceb689","updated":"2026-07-03 14:41:50.000000000","message":"Acknowledged","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"16105d85833fd8f22aba9701fba55fd5502826cb","unresolved":true,"context_lines":[{"line_number":12,"context_line":"on the retype API (microversion 3.72) that allows operators to"},{"line_number":13,"context_line":"proceed."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"When used, Cinder will first attempt to disable replication via"},{"line_number":16,"context_line":"the storage driver before proceeding with migration."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The force_replicated parameter is only sent over RPC when the"},{"line_number":19,"context_line":"volume manager supports version 3.21, and driver errors during"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"bf24bd3d_6cceb689","line":16,"range":{"start_line":15,"start_character":0,"end_line":16,"end_character":52},"in_reply_to":"e73cd178_078d6569","updated":"2026-06-08 13:11:04.000000000","message":"From what I observed on a Purestorage driver, it only affects the volume itself. I have no idea how to test it on other types of volumes and drivers, I\u0027m open to suggestions.\"","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"75d8b0ca543c7535fe81a30c1ef8e6c2857c4279","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fa4c6c44_2abd2799","updated":"2026-04-08 15:16:31.000000000","message":"force_replicated is passing scheduler layer? Also i am not finding any entry in volume/api.py retype is not modified. Did you check functionality?","commit_id":"1881c8fae04ea8d153be75077190e2b6c0571a88"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"61ecb42ad52f4f2fa54aadd8c2ce7e963af8b5cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"68eb7549_993f7e0e","in_reply_to":"fa4c6c44_2abd2799","updated":"2026-04-23 14:48:26.000000000","message":"force_replicated is not passing the scheduler layer. volume/api.py retype has been modified to handle it. Functionality has been checked.","commit_id":"1881c8fae04ea8d153be75077190e2b6c0571a88"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"352b52bf59347c03412a540ca2ba0e603dbd8ee8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5e350a39_1de6445d","updated":"2026-04-20 09:33:56.000000000","message":"recheck","commit_id":"3171142dccf09c3a8910b13fd36b6b2bfb3fb9be"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"40664c1ecbdef8e2cfea52518d8b63541eb519a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e531e4c4_b3ef45db","updated":"2026-04-23 14:49:36.000000000","message":"recheck","commit_id":"3171142dccf09c3a8910b13fd36b6b2bfb3fb9be"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"61ecb42ad52f4f2fa54aadd8c2ce7e963af8b5cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5a0d2022_9a2fd79a","in_reply_to":"5e350a39_1de6445d","updated":"2026-04-23 14:48:26.000000000","message":"recheck","commit_id":"3171142dccf09c3a8910b13fd36b6b2bfb3fb9be"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"d06ed056103cae7a32bd28de92a6bbe7e2a98198","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b0894e29_207bea4e","in_reply_to":"e531e4c4_b3ef45db","updated":"2026-05-15 12:15:59.000000000","message":"recheck","commit_id":"3171142dccf09c3a8910b13fd36b6b2bfb3fb9be"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"d06ed056103cae7a32bd28de92a6bbe7e2a98198","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"6c908f87_d573cc82","updated":"2026-05-15 12:15:59.000000000","message":"recheck","commit_id":"ccd582d0bb984dbfcfb7c2128468c35a88fb2d1e"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"98ed6144fe54b55af77f749e1f688a6e1942aad2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"30db30db_1fdeb2d5","updated":"2026-05-15 14:01:51.000000000","message":"this feel like it need a spec first to discuss.\n\nsaw blueprint, was tis discussed to have a spec-less blueprint for this.","commit_id":"ccd582d0bb984dbfcfb7c2128468c35a88fb2d1e"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"7034d0e081c3fb3d8ac914eea13bc3cf10feb5d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"0b32be2b_a75babb4","in_reply_to":"076d304b_903e859c","updated":"2026-06-03 07:01:07.000000000","message":"Acknowledged","commit_id":"ccd582d0bb984dbfcfb7c2128468c35a88fb2d1e"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"7bd08340bb70f9336cf059faa98d5c148bc9e7db","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"076d304b_903e859c","in_reply_to":"30db30db_1fdeb2d5","updated":"2026-05-15 14:09:50.000000000","message":"I tried to make it : https://review.opendev.org/c/openstack/cinder-specs/+/979476","commit_id":"ccd582d0bb984dbfcfb7c2128468c35a88fb2d1e"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"4bfa5e8300d3d366d2041a4b753080294fe7ee38","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"fe130cfa_01a9787d","in_reply_to":"6c908f87_d573cc82","updated":"2026-07-03 14:23:41.000000000","message":"recheck","commit_id":"ccd582d0bb984dbfcfb7c2128468c35a88fb2d1e"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"b131832833318ade3d0e63f7b379c1d9f073102b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b32e954b_2c720db4","in_reply_to":"fe130cfa_01a9787d","updated":"2026-07-03 14:32:40.000000000","message":"Acknowledged","commit_id":"ccd582d0bb984dbfcfb7c2128468c35a88fb2d1e"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"46cd04f7c08b4d42698f0ef1bdbc3941ec6795a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f6ff555d_5b7e79d1","updated":"2026-06-03 09:10:58.000000000","message":"Provided some comments.","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"4bfa5e8300d3d366d2041a4b753080294fe7ee38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"742aeead_41708978","updated":"2026-07-03 14:23:41.000000000","message":"recheck","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"e7f9b756c57cbc1feb7c0eec06632b004178f9ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"762d3a84_d75b29e2","updated":"2026-07-06 07:08:29.000000000","message":"recheck","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"}],"cinder/api/contrib/volume_actions.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"75d8b0ca543c7535fe81a30c1ef8e6c2857c4279","unresolved":true,"context_lines":[{"line_number":309,"context_line":"    @wsgi.action(\u0027os-retype\u0027)"},{"line_number":310,"context_line":"    @validation.schema(schema.retype, mv.BASE_VERSION,"},{"line_number":311,"context_line":"                       mv.get_prior_version(mv.VOLUME_DETAIL_PROVIDER_ID))"},{"line_number":312,"context_line":"    @validation.schema(schema.retype_v321, mv.VOLUME_DETAIL_PROVIDER_ID)"},{"line_number":313,"context_line":"    def _retype(self, req, id, body):"},{"line_number":314,"context_line":"        \"\"\"Change type of existing volume.\"\"\""},{"line_number":315,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"f43aad9a_cfa64e6a","line":312,"updated":"2026-04-08 15:16:31.000000000","message":"force_replicated is added to all 3.21+ APIs. is this expected?","commit_id":"1881c8fae04ea8d153be75077190e2b6c0571a88"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"61ecb42ad52f4f2fa54aadd8c2ce7e963af8b5cc","unresolved":false,"context_lines":[{"line_number":309,"context_line":"    @wsgi.action(\u0027os-retype\u0027)"},{"line_number":310,"context_line":"    @validation.schema(schema.retype, mv.BASE_VERSION,"},{"line_number":311,"context_line":"                       mv.get_prior_version(mv.VOLUME_DETAIL_PROVIDER_ID))"},{"line_number":312,"context_line":"    @validation.schema(schema.retype_v321, mv.VOLUME_DETAIL_PROVIDER_ID)"},{"line_number":313,"context_line":"    def _retype(self, req, id, body):"},{"line_number":314,"context_line":"        \"\"\"Change type of existing volume.\"\"\""},{"line_number":315,"context_line":"        context \u003d req.environ[\u0027cinder.context\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"eeae180a_e289082e","line":312,"in_reply_to":"f43aad9a_cfa64e6a","updated":"2026-04-23 14:48:26.000000000","message":"Thanks I fix it.","commit_id":"1881c8fae04ea8d153be75077190e2b6c0571a88"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"46cd04f7c08b4d42698f0ef1bdbc3941ec6795a8","unresolved":true,"context_lines":[{"line_number":316,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":317,"context_line":"        new_type \u003d body[\u0027os-retype\u0027][\u0027new_type\u0027]"},{"line_number":318,"context_line":"        migration_policy \u003d body[\u0027os-retype\u0027].get(\u0027migration_policy\u0027)"},{"line_number":319,"context_line":"        force_replicated \u003d strutils.bool_from_string("},{"line_number":320,"context_line":"            body[\u0027os-retype\u0027].get(\u0027force_replicated\u0027, \u0027False\u0027),"},{"line_number":321,"context_line":"            strict\u003dTrue)"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ae66fbcd_976d4ef2","line":319,"updated":"2026-06-03 09:10:58.000000000","message":"may be the variable can be renamed to force_retype_replicated for maintainability?","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"54700f6732b225d0388dd772761430ed6c448bba","unresolved":false,"context_lines":[{"line_number":316,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":317,"context_line":"        new_type \u003d body[\u0027os-retype\u0027][\u0027new_type\u0027]"},{"line_number":318,"context_line":"        migration_policy \u003d body[\u0027os-retype\u0027].get(\u0027migration_policy\u0027)"},{"line_number":319,"context_line":"        force_replicated \u003d strutils.bool_from_string("},{"line_number":320,"context_line":"            body[\u0027os-retype\u0027].get(\u0027force_replicated\u0027, \u0027False\u0027),"},{"line_number":321,"context_line":"            strict\u003dTrue)"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"c00bb1a1_62c77490","line":319,"in_reply_to":"47fc5269_f197d271","updated":"2026-07-07 08:34:58.000000000","message":"@anoop.shukla@netapp.com : I fix it","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"86fe27d60ee3a3f8d84448cb3870ab9f708a1bf5","unresolved":false,"context_lines":[{"line_number":316,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":317,"context_line":"        new_type \u003d body[\u0027os-retype\u0027][\u0027new_type\u0027]"},{"line_number":318,"context_line":"        migration_policy \u003d body[\u0027os-retype\u0027].get(\u0027migration_policy\u0027)"},{"line_number":319,"context_line":"        force_replicated \u003d strutils.bool_from_string("},{"line_number":320,"context_line":"            body[\u0027os-retype\u0027].get(\u0027force_replicated\u0027, \u0027False\u0027),"},{"line_number":321,"context_line":"            strict\u003dTrue)"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"47fc5269_f197d271","line":319,"in_reply_to":"a9d18dcf_8e8ec1e9","updated":"2026-07-03 14:41:50.000000000","message":"Acknowledged","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"16105d85833fd8f22aba9701fba55fd5502826cb","unresolved":true,"context_lines":[{"line_number":316,"context_line":"        volume \u003d self.volume_api.get(context, id)"},{"line_number":317,"context_line":"        new_type \u003d body[\u0027os-retype\u0027][\u0027new_type\u0027]"},{"line_number":318,"context_line":"        migration_policy \u003d body[\u0027os-retype\u0027].get(\u0027migration_policy\u0027)"},{"line_number":319,"context_line":"        force_replicated \u003d strutils.bool_from_string("},{"line_number":320,"context_line":"            body[\u0027os-retype\u0027].get(\u0027force_replicated\u0027, \u0027False\u0027),"},{"line_number":321,"context_line":"            strict\u003dTrue)"},{"line_number":322,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"a9d18dcf_8e8ec1e9","line":319,"in_reply_to":"ae66fbcd_976d4ef2","updated":"2026-06-08 13:11:04.000000000","message":"I think we are already in the retype function, so the variable name might be a bit redundant.","commit_id":"5610cdcb310b2f0031d4f69962587b5ff0355b01"}],"cinder/volume/rpcapi.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"75d8b0ca543c7535fe81a30c1ef8e6c2857c4279","unresolved":true,"context_lines":[{"line_number":319,"context_line":"        cctxt \u003d self._get_cctxt(volume.service_topic_queue, version)"},{"line_number":320,"context_line":"        cctxt.cast(ctxt, \u0027retype\u0027, volume\u003dvolume, new_type_id\u003dnew_type_id,"},{"line_number":321,"context_line":"                   host\u003dbackend_p, migration_policy\u003dmigration_policy,"},{"line_number":322,"context_line":"                   force_replicated\u003dforce_replicated,"},{"line_number":323,"context_line":"                   reservations\u003dreservations,"},{"line_number":324,"context_line":"                   old_reservations\u003dold_reservations)"},{"line_number":325,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"205fc5e4_e5449004","line":322,"updated":"2026-04-08 15:16:31.000000000","message":"this is always send. i am not finding any version check?","commit_id":"1881c8fae04ea8d153be75077190e2b6c0571a88"},{"author":{"_account_id":38909,"name":"Thibaut Démaret","display_name":"Thibaut Démaret","email":"thidem@worteks.com","username":"worteks-thidem"},"change_message_id":"61ecb42ad52f4f2fa54aadd8c2ce7e963af8b5cc","unresolved":false,"context_lines":[{"line_number":319,"context_line":"        cctxt \u003d self._get_cctxt(volume.service_topic_queue, version)"},{"line_number":320,"context_line":"        cctxt.cast(ctxt, \u0027retype\u0027, volume\u003dvolume, new_type_id\u003dnew_type_id,"},{"line_number":321,"context_line":"                   host\u003dbackend_p, migration_policy\u003dmigration_policy,"},{"line_number":322,"context_line":"                   force_replicated\u003dforce_replicated,"},{"line_number":323,"context_line":"                   reservations\u003dreservations,"},{"line_number":324,"context_line":"                   old_reservations\u003dold_reservations)"},{"line_number":325,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"e0a3e39f_d54d59ff","line":322,"in_reply_to":"205fc5e4_e5449004","updated":"2026-04-23 14:48:26.000000000","message":"Normaly, it is ok know. I have a lot of issue to understand API check and sample for test. I make a lot of fix and rollback to make my PR. I hope, they are more sense now.","commit_id":"1881c8fae04ea8d153be75077190e2b6c0571a88"}]}
