)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c19a4a3fb1b9d7f3b95178d14867e7ef3809c1d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7d4b4c55_9c4fa52d","updated":"2026-08-27 13:32:08.000000000","message":"recheck unit tests timed out","commit_id":"ee60ef26ddbf1e7013d8567d3bd685ad2ffbbcb6"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e157e555c5ed2189657daf6b982a03a0919fd161","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3e87f21c_a6951809","updated":"2026-08-31 18:25:42.000000000","message":"Do we have a check that verifies that a backup of an encrypted volume is being restored to an encrypted type? (i.e. if the backup was an encrypted volume but the default type is not encrypted)\n\nWhat happens in that case?","commit_id":"bea1d1525ef60da37edc3ae37c60a530258add22"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1422051ab1c076f26c628a55eb114807c98ff853","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d1b502eb_b68bd765","in_reply_to":"3e87f21c_a6951809","updated":"2026-09-06 20:22:02.000000000","message":"No.\ncurrently we\u0027ve a very basic check in the backup driver.py code tht checks ir the destination volume type is same as source type and fail otherwise.\nInitially I started modifying the code there for a fix but realized that the decision for volume type should happen before destination volume creation hence the changes in backup/api.py\nBased on your recommendation, I\u0027ve proposed another patch[1] that checks the compatibility of the destination type rather than just a plain comparsion with the source type\n\n[1] https://review.opendev.org/c/openstack/cinder/+/1004328","commit_id":"bea1d1525ef60da37edc3ae37c60a530258add22"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1422051ab1c076f26c628a55eb114807c98ff853","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9d0c9b66_80ff26b0","updated":"2026-09-06 20:22:02.000000000","message":"Thanks Eric for the review.","commit_id":"da3258169370a843cdbbcae7a98d6a51b9e91982"}],"cinder/backup/api.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e157e555c5ed2189657daf6b982a03a0919fd161","unresolved":true,"context_lines":[{"line_number":384,"context_line":"        as possible -- including its volume type, which carries encryption,"},{"line_number":385,"context_line":"        QoS, and backend-specific settings. Assigning the type before the"},{"line_number":386,"context_line":"        volume is created also ensures the volume lands on the correct"},{"line_number":387,"context_line":"        backend. Users who want a different type can instead use the"},{"line_number":388,"context_line":"        create-volume-from-backup API, which does accept one."},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"        Returns the source volume\u0027s type, or None to let volume creation"},{"line_number":391,"context_line":"        fall back to the default type when the source volume or its type can"}],"source_content_type":"text/x-python","patch_set":4,"id":"0d7fd513_c3bac86f","line":388,"range":{"start_line":387,"start_character":17,"end_line":388,"end_character":61},"updated":"2026-08-31 18:25:42.000000000","message":"This is an odd place to document this.","commit_id":"bea1d1525ef60da37edc3ae37c60a530258add22"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1422051ab1c076f26c628a55eb114807c98ff853","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        as possible -- including its volume type, which carries encryption,"},{"line_number":385,"context_line":"        QoS, and backend-specific settings. Assigning the type before the"},{"line_number":386,"context_line":"        volume is created also ensures the volume lands on the correct"},{"line_number":387,"context_line":"        backend. Users who want a different type can instead use the"},{"line_number":388,"context_line":"        create-volume-from-backup API, which does accept one."},{"line_number":389,"context_line":""},{"line_number":390,"context_line":"        Returns the source volume\u0027s type, or None to let volume creation"},{"line_number":391,"context_line":"        fall back to the default type when the source volume or its type can"}],"source_content_type":"text/x-python","patch_set":4,"id":"c83aff71_e418d6fb","line":388,"range":{"start_line":387,"start_character":17,"end_line":388,"end_character":61},"in_reply_to":"0d7fd513_c3bac86f","updated":"2026-09-06 20:22:02.000000000","message":"Done","commit_id":"bea1d1525ef60da37edc3ae37c60a530258add22"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e157e555c5ed2189657daf6b982a03a0919fd161","unresolved":true,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":"            description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"            # The restore API does not accept a volume type, so reproduce the"},{"line_number":442,"context_line":"            # source volume\u0027s type on the auto-created volume. This preserves"},{"line_number":443,"context_line":"            # encryption (required for encrypted backups to restore at all)"},{"line_number":444,"context_line":"            # as well as QoS and backend placement. Assigning the type before"}],"source_content_type":"text/x-python","patch_set":4,"id":"53eb6dcf_94850a71","line":441,"range":{"start_line":441,"start_character":14,"end_line":441,"end_character":29},"updated":"2026-08-31 18:25:42.000000000","message":"```suggestion\n            # This API does not accept a volume type, so reproduce the\n```","commit_id":"bea1d1525ef60da37edc3ae37c60a530258add22"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1422051ab1c076f26c628a55eb114807c98ff853","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":"            description \u003d \u0027auto-created_from_restore_from_backup\u0027"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"            # The restore API does not accept a volume type, so reproduce the"},{"line_number":442,"context_line":"            # source volume\u0027s type on the auto-created volume. This preserves"},{"line_number":443,"context_line":"            # encryption (required for encrypted backups to restore at all)"},{"line_number":444,"context_line":"            # as well as QoS and backend placement. Assigning the type before"}],"source_content_type":"text/x-python","patch_set":4,"id":"a4397f75_ae052c4d","line":441,"range":{"start_line":441,"start_character":14,"end_line":441,"end_character":29},"in_reply_to":"53eb6dcf_94850a71","updated":"2026-09-06 20:22:02.000000000","message":"Done","commit_id":"bea1d1525ef60da37edc3ae37c60a530258add22"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"e157e555c5ed2189657daf6b982a03a0919fd161","unresolved":true,"context_lines":[{"line_number":442,"context_line":"            # source volume\u0027s type on the auto-created volume. This preserves"},{"line_number":443,"context_line":"            # encryption (required for encrypted backups to restore at all)"},{"line_number":444,"context_line":"            # as well as QoS and backend placement. Assigning the type before"},{"line_number":445,"context_line":"            # creation avoids landing the data on the wrong backend. Users"},{"line_number":446,"context_line":"            # who want a different type can use the create-volume-from-backup"},{"line_number":447,"context_line":"            # API instead."},{"line_number":448,"context_line":"            volume_type \u003d self._get_restore_volume_type(context, backup)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"            LOG.info(\"Creating volume of %(size)s GB for restore of \""}],"source_content_type":"text/x-python","patch_set":4,"id":"287629a7_d817420f","line":447,"range":{"start_line":445,"start_character":69,"end_line":447,"end_character":26},"updated":"2026-08-31 18:25:42.000000000","message":"Same comment as above","commit_id":"bea1d1525ef60da37edc3ae37c60a530258add22"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"1422051ab1c076f26c628a55eb114807c98ff853","unresolved":false,"context_lines":[{"line_number":442,"context_line":"            # source volume\u0027s type on the auto-created volume. This preserves"},{"line_number":443,"context_line":"            # encryption (required for encrypted backups to restore at all)"},{"line_number":444,"context_line":"            # as well as QoS and backend placement. Assigning the type before"},{"line_number":445,"context_line":"            # creation avoids landing the data on the wrong backend. Users"},{"line_number":446,"context_line":"            # who want a different type can use the create-volume-from-backup"},{"line_number":447,"context_line":"            # API instead."},{"line_number":448,"context_line":"            volume_type \u003d self._get_restore_volume_type(context, backup)"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":"            LOG.info(\"Creating volume of %(size)s GB for restore of \""}],"source_content_type":"text/x-python","patch_set":4,"id":"2fa0ce5e_79296410","line":447,"range":{"start_line":445,"start_character":69,"end_line":447,"end_character":26},"in_reply_to":"287629a7_d817420f","updated":"2026-09-06 20:22:02.000000000","message":"Done","commit_id":"bea1d1525ef60da37edc3ae37c60a530258add22"}]}
