)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"466dfe349f581b3c8fd95d644dadb573e3e7d0c8","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Hironori Shiina \u003cshiina.hironori@jp.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-03-31 11:20:47 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Prevent temporal volume from being deleted accidentally"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A temporal volume can be deleted while it is in use by DELETE API"},{"line_number":10,"context_line":"accidentally because its status is `available`. To avoid this deletion,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"d65d7a91_77581547","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":16},"updated":"2022-04-20 15:47:01.000000000","message":"The standard way to describe this is as a \u0027temporary\u0027 volume (see, for example, [0]).  Please s/temporal/temporary/ here and throughout to avoid confusion.\n\n[0] https://docs.python.org/3/library/tempfile.html","commit_id":"62f1c43afd4a14188ab13f2b333ff9e242324821"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"f591f99a985b307988b22b66bfffea111390b0ef","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Hironori Shiina \u003cshiina.hironori@jp.fujitsu.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-03-31 11:20:47 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Prevent temporal volume from being deleted accidentally"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A temporal volume can be deleted while it is in use by DELETE API"},{"line_number":10,"context_line":"accidentally because its status is `available`. To avoid this deletion,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7c30a6ca_a24fefae","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":16},"in_reply_to":"d65d7a91_77581547","updated":"2022-04-21 01:27:52.000000000","message":"Done","commit_id":"62f1c43afd4a14188ab13f2b333ff9e242324821"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"258f17dc81d4368701af333430e1b20742e4ecff","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Prevent temporary volume from being deleted accidentally"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A temporary volume can be deleted while it is in use by DELETE API"},{"line_number":10,"context_line":"accidentally because its status is `available`. To avoid this deletion,"},{"line_number":11,"context_line":"this fix sets a value which doesn\u0027t accept deletion to volume status of"},{"line_number":12,"context_line":"a temporary volume. When a temporary volume is used for backing up,"},{"line_number":13,"context_line":"`backing-up` is set. When a temporary volume is used for reverting a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"28b0751a_cd06a70d","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":47},"updated":"2022-04-26 19:56:32.000000000","message":":-1: Would you please explain in what scenarios this could happen?\nDo you have any steps to reproduce this issue?\nI think it\u0027s best to create a bug case to track this issue, but I\u0027ll let others have their say as well.","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21267cf520d58079e42636926d141f81576baa9","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Prevent temporary volume from being deleted accidentally"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A temporary volume can be deleted while it is in use by DELETE API"},{"line_number":10,"context_line":"accidentally because its status is `available`. To avoid this deletion,"},{"line_number":11,"context_line":"this fix sets a value which doesn\u0027t accept deletion to volume status of"},{"line_number":12,"context_line":"a temporary volume. When a temporary volume is used for backing up,"},{"line_number":13,"context_line":"`backing-up` is set. When a temporary volume is used for reverting a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"b2a2a414_eea7be36","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":47},"in_reply_to":"28b0751a_cd06a70d","updated":"2022-04-28 14:50:25.000000000","message":"This can happen for example if we are creating a backup from a snapshot and then delete the temporary volume that is being used to do the actual backup.\n\nI agree that we need a bug created in launchpad, to have the reference added to this commit message:\n\n  Closes-Bug: #1234\n\nAnd then have a release note explaining what has been fixed, as mentioned here: https://docs.openstack.org/cinder/latest/contributor/releasenotes.html","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"07227abbaf1f6723ff6da6555a5c883dc348a0b4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Prevent temporary volume from being deleted accidentally"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A temporary volume can be deleted while it is in use by DELETE API"},{"line_number":10,"context_line":"accidentally because its status is `available`. To avoid this deletion,"},{"line_number":11,"context_line":"this fix sets a value which doesn\u0027t accept deletion to volume status of"},{"line_number":12,"context_line":"a temporary volume. When a temporary volume is used for backing up,"},{"line_number":13,"context_line":"`backing-up` is set. When a temporary volume is used for reverting a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"58fee141_a8a13d9f","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":47},"in_reply_to":"b2a2a414_eea7be36","updated":"2022-04-28 18:41:50.000000000","message":"Done","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"fd9465c8bdc6c42545cbca745cbace1ae4cdfaee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8543d951_b896b724","updated":"2022-02-02 09:42:09.000000000","message":"LGTM","commit_id":"12f3d0ebfac8bf9b8da3fc581653d2a372ac4d46"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"8bb5d1be41ac1d93be9f9d899ea1095adcceb5f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9a488aaa_66cce272","updated":"2022-03-21 17:58:17.000000000","message":"Tests look good and Zuul passed. I left 2 comments:","commit_id":"f357097742c10634947b17690e4715ec119ab1d3"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"1bccdd74257793adf7661f0574b5101a53dd4f85","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"51fabf9d_c065228c","updated":"2022-03-17 20:29:16.000000000","message":"Thank you for reviewing.\n\nI overlooked a case where a temporal volume is used for reverting to snapshot.\nI keep the methods to create temporal volumes generic.\n","commit_id":"f357097742c10634947b17690e4715ec119ab1d3"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"2e22cd725e44ed9faeac17d9a26c09b7a5680e25","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"51f0e5e9_dd683b29","updated":"2022-03-21 21:56:07.000000000","message":"Thank you for the review.\n","commit_id":"f357097742c10634947b17690e4715ec119ab1d3"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a30d0db86273e6cc423c7e1dc098366ad7f8e219","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"280482ec_b546e732","updated":"2022-03-17 23:54:11.000000000","message":"recheck","commit_id":"f357097742c10634947b17690e4715ec119ab1d3"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"8f982a61716ca3b1c8e3f586045956579c1aff16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"efd59303_d5c2ad45","updated":"2022-03-17 23:54:30.000000000","message":"recheck","commit_id":"f357097742c10634947b17690e4715ec119ab1d3"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"ca4952dfed48111a25717c1aaf6eb7f7cff4d653","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"52cbc9b8_091d10b2","updated":"2022-03-31 15:42:40.000000000","message":"All concerns were resolved.\n","commit_id":"62f1c43afd4a14188ab13f2b333ff9e242324821"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"466dfe349f581b3c8fd95d644dadb573e3e7d0c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c59663fb_debbccd3","updated":"2022-04-20 15:47:01.000000000","message":"Please update the commit message.","commit_id":"62f1c43afd4a14188ab13f2b333ff9e242324821"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"c3abd8f3c46ec4809635ddba55a40d6731b12686","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"57a44d13_eebe4149","updated":"2022-04-26 20:19:04.000000000","message":"Hey, not sure why but history comments were not showed until now. I can see the full history of this issue now. Dropping my vote.","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21267cf520d58079e42636926d141f81576baa9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1d3b464f_29a14291","updated":"2022-04-28 14:50:25.000000000","message":"Thank you for finding and fixing this painful bug.\nThe downvote is for the missing bug and release note, because the code looks fine to me from a functional perspective.\nThe rest of the comments are personal preferences and project specific guidelines (the usage of fields.VolumeStatus).","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"f591f99a985b307988b22b66bfffea111390b0ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9c007011_d141f6ce","updated":"2022-04-21 01:27:52.000000000","message":"Thank you for the review!\n","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a3ee542f7c110a88afbad5ce75bf4838f93108d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c3ea2fb6_172218aa","updated":"2022-04-28 16:24:49.000000000","message":"Patch is still missing the release note.  The link I added in previous patch explains how to do it.\n\nTo assist you, you can create file releasenotes/notes/backup-temp-vol-status-cd0685df10b5dbb7.yaml\nand commit it, contents would be:\n\n---\nfixes:\n  - |\n    `Bug #1970768 \u003chttps://bugs.launchpad.net/cinder/+bug/1970768\u003e`_: Fixed\n    status of temporary volumes when creating backups and reverting to a\n    snapshot, preventing accidental manual deletion of those resources.","commit_id":"57b34d27bd994a5b18e694e4c4991bde5bac56e1"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"86cd5422cb4a46a6454da98e0bdba0f817464856","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"2b84ee32_77e51737","updated":"2022-04-29 19:15:15.000000000","message":"Sounds good to me and the comments have been addressed.","commit_id":"53c13891b313d58923b223f6fbb1882e991f2785"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"07227abbaf1f6723ff6da6555a5c883dc348a0b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"02a50573_581c4a0d","updated":"2022-04-28 18:41:50.000000000","message":"Thank you for the review!\nI\u0027m sorry I updated patches with overlooking your comments at the last couple of patch sets.","commit_id":"53c13891b313d58923b223f6fbb1882e991f2785"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"96fd204e76ed01f4aea1867a9f1d73787bcce68a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3b1293d7_decb9cd0","updated":"2022-04-29 08:08:33.000000000","message":"Thanks for the fix and for adapting the patch to the project preferences.","commit_id":"53c13891b313d58923b223f6fbb1882e991f2785"}],"cinder/volume/driver.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ffac0ff033ac142d5bfcc360c2f84abd62321afc","unresolved":true,"context_lines":[{"line_number":1348,"context_line":"        temp_vol_ref.create()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""},{"line_number":1351,"context_line":"    def _create_temp_cloned_volume(self, context, volume):"},{"line_number":1352,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume)"},{"line_number":1353,"context_line":"        try:"},{"line_number":1354,"context_line":"            model_update \u003d self.create_cloned_volume(temp_vol_ref, volume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8fbf3711_adeec2d5","line":1351,"range":{"start_line":1351,"start_character":8,"end_line":1351,"end_character":34},"updated":"2022-03-17 14:43:18.000000000","message":"This sounds like a method that is useful for things other than just backup -- with this change, we should really also rename this to something like \"_create_temp_cloned_volume_for_backup\".  This would make it clear what this method does and when it is useful.","commit_id":"12f3d0ebfac8bf9b8da3fc581653d2a372ac4d46"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"2e22cd725e44ed9faeac17d9a26c09b7a5680e25","unresolved":true,"context_lines":[{"line_number":1348,"context_line":"        temp_vol_ref.create()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""},{"line_number":1351,"context_line":"    def _create_temp_cloned_volume(self, context, volume):"},{"line_number":1352,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume)"},{"line_number":1353,"context_line":"        try:"},{"line_number":1354,"context_line":"            model_update \u003d self.create_cloned_volume(temp_vol_ref, volume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"468ba2f6_ee2b1da6","line":1351,"range":{"start_line":1351,"start_character":8,"end_line":1351,"end_character":34},"in_reply_to":"157656e1_b2deb92a","updated":"2022-03-21 21:56:07.000000000","message":"No. I\u0027m going to keep the methods generic in the patch set 2 instead of specializing them for backup because I noticed create_temp_volume_from_snapshot() is used for backup and revert to snapshot.","commit_id":"12f3d0ebfac8bf9b8da3fc581653d2a372ac4d46"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"ca4952dfed48111a25717c1aaf6eb7f7cff4d653","unresolved":false,"context_lines":[{"line_number":1348,"context_line":"        temp_vol_ref.create()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""},{"line_number":1351,"context_line":"    def _create_temp_cloned_volume(self, context, volume):"},{"line_number":1352,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume)"},{"line_number":1353,"context_line":"        try:"},{"line_number":1354,"context_line":"            model_update \u003d self.create_cloned_volume(temp_vol_ref, volume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"2d470987_e56e5466","line":1351,"range":{"start_line":1351,"start_character":8,"end_line":1351,"end_character":34},"in_reply_to":"468ba2f6_ee2b1da6","updated":"2022-03-31 15:42:40.000000000","message":"Done","commit_id":"12f3d0ebfac8bf9b8da3fc581653d2a372ac4d46"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"8bb5d1be41ac1d93be9f9d899ea1095adcceb5f5","unresolved":true,"context_lines":[{"line_number":1348,"context_line":"        temp_vol_ref.create()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""},{"line_number":1351,"context_line":"    def _create_temp_cloned_volume(self, context, volume):"},{"line_number":1352,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume)"},{"line_number":1353,"context_line":"        try:"},{"line_number":1354,"context_line":"            model_update \u003d self.create_cloned_volume(temp_vol_ref, volume)"}],"source_content_type":"text/x-python","patch_set":1,"id":"157656e1_b2deb92a","line":1351,"range":{"start_line":1351,"start_character":8,"end_line":1351,"end_character":34},"in_reply_to":"8fbf3711_adeec2d5","updated":"2022-03-21 17:58:17.000000000","message":"This comment haven\u0027t been addressed yet. Are we going to create a new method for this?","commit_id":"12f3d0ebfac8bf9b8da3fc581653d2a372ac4d46"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ffac0ff033ac142d5bfcc360c2f84abd62321afc","unresolved":true,"context_lines":[{"line_number":1362,"context_line":"        temp_vol_ref.save()"},{"line_number":1363,"context_line":"        return temp_vol_ref"},{"line_number":1364,"context_line":""},{"line_number":1365,"context_line":"    def _create_temp_volume_from_snapshot(self, context, volume, snapshot,"},{"line_number":1366,"context_line":"                                          volume_options\u003dNone):"},{"line_number":1367,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume,"},{"line_number":1368,"context_line":"                                                volume_options\u003dvolume_options)"}],"source_content_type":"text/x-python","patch_set":1,"id":"41921e44_c91c855e","line":1365,"range":{"start_line":1365,"start_character":8,"end_line":1365,"end_character":41},"updated":"2022-03-17 14:43:18.000000000","message":"Same, see above.","commit_id":"12f3d0ebfac8bf9b8da3fc581653d2a372ac4d46"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"ca4952dfed48111a25717c1aaf6eb7f7cff4d653","unresolved":false,"context_lines":[{"line_number":1362,"context_line":"        temp_vol_ref.save()"},{"line_number":1363,"context_line":"        return temp_vol_ref"},{"line_number":1364,"context_line":""},{"line_number":1365,"context_line":"    def _create_temp_volume_from_snapshot(self, context, volume, snapshot,"},{"line_number":1366,"context_line":"                                          volume_options\u003dNone):"},{"line_number":1367,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume,"},{"line_number":1368,"context_line":"                                                volume_options\u003dvolume_options)"}],"source_content_type":"text/x-python","patch_set":1,"id":"250b8e7e_ea3959f1","line":1365,"range":{"start_line":1365,"start_character":8,"end_line":1365,"end_character":41},"in_reply_to":"41921e44_c91c855e","updated":"2022-03-31 15:42:40.000000000","message":"This method is used for backing up and reverting snapshot. This cannot be renamed only for backup.","commit_id":"12f3d0ebfac8bf9b8da3fc581653d2a372ac4d46"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"8bb5d1be41ac1d93be9f9d899ea1095adcceb5f5","unresolved":true,"context_lines":[{"line_number":1348,"context_line":"        temp_vol_ref.save()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""},{"line_number":1351,"context_line":"    def create_temp_volume_from_snapshot(self, context, volume, snapshot,"},{"line_number":1352,"context_line":"                                         volume_options\u003dNone,"},{"line_number":1353,"context_line":"                                         status\u003d\u0027available\u0027):"},{"line_number":1354,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume,"}],"source_content_type":"text/x-python","patch_set":2,"id":"67cec4b9_93e554e5","line":1351,"updated":"2022-03-21 17:58:17.000000000","message":":nit: \nFor the sake of consistency, i think the method name should keep the underscore.","commit_id":"f357097742c10634947b17690e4715ec119ab1d3"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"2e22cd725e44ed9faeac17d9a26c09b7a5680e25","unresolved":true,"context_lines":[{"line_number":1348,"context_line":"        temp_vol_ref.save()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""},{"line_number":1351,"context_line":"    def create_temp_volume_from_snapshot(self, context, volume, snapshot,"},{"line_number":1352,"context_line":"                                         volume_options\u003dNone,"},{"line_number":1353,"context_line":"                                         status\u003d\u0027available\u0027):"},{"line_number":1354,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume,"}],"source_content_type":"text/x-python","patch_set":2,"id":"dfc51206_02b7fb0e","line":1351,"in_reply_to":"67cec4b9_93e554e5","updated":"2022-03-21 21:56:07.000000000","message":"Unless we need to keep the driver interface consistent for out-of-tree drivers, I would like to rename this method to clarify that this method is called from outside of this class.","commit_id":"f357097742c10634947b17690e4715ec119ab1d3"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"ca4952dfed48111a25717c1aaf6eb7f7cff4d653","unresolved":false,"context_lines":[{"line_number":1348,"context_line":"        temp_vol_ref.save()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""},{"line_number":1351,"context_line":"    def create_temp_volume_from_snapshot(self, context, volume, snapshot,"},{"line_number":1352,"context_line":"                                         volume_options\u003dNone,"},{"line_number":1353,"context_line":"                                         status\u003d\u0027available\u0027):"},{"line_number":1354,"context_line":"        temp_vol_ref \u003d self._create_temp_volume(context, volume,"}],"source_content_type":"text/x-python","patch_set":2,"id":"48e76252_ec32d90b","line":1351,"in_reply_to":"dfc51206_02b7fb0e","updated":"2022-03-31 15:42:40.000000000","message":"Done","commit_id":"f357097742c10634947b17690e4715ec119ab1d3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21267cf520d58079e42636926d141f81576baa9","unresolved":true,"context_lines":[{"line_number":1219,"context_line":"        # then clean up the temp volume."},{"line_number":1220,"context_line":"        if snapshot:"},{"line_number":1221,"context_line":"            temp_vol_ref \u003d self._create_temp_volume_from_snapshot("},{"line_number":1222,"context_line":"                context, volume, snapshot, status\u003d\u0027backing-up\u0027)"},{"line_number":1223,"context_line":"            backup.temp_volume_id \u003d temp_vol_ref.id"},{"line_number":1224,"context_line":"            backup.save()"},{"line_number":1225,"context_line":"            device_to_backup \u003d temp_vol_ref"}],"source_content_type":"text/x-python","patch_set":4,"id":"aa0114fd_fc6b0038","line":1222,"range":{"start_line":1222,"start_character":50,"end_line":1222,"end_character":62},"updated":"2022-04-28 14:50:25.000000000","message":"Please use fields.VolumeStatus.BACKING_UP instead","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"07227abbaf1f6723ff6da6555a5c883dc348a0b4","unresolved":false,"context_lines":[{"line_number":1219,"context_line":"        # then clean up the temp volume."},{"line_number":1220,"context_line":"        if snapshot:"},{"line_number":1221,"context_line":"            temp_vol_ref \u003d self._create_temp_volume_from_snapshot("},{"line_number":1222,"context_line":"                context, volume, snapshot, status\u003d\u0027backing-up\u0027)"},{"line_number":1223,"context_line":"            backup.temp_volume_id \u003d temp_vol_ref.id"},{"line_number":1224,"context_line":"            backup.save()"},{"line_number":1225,"context_line":"            device_to_backup \u003d temp_vol_ref"}],"source_content_type":"text/x-python","patch_set":4,"id":"30d64178_a84fc0d7","line":1222,"range":{"start_line":1222,"start_character":50,"end_line":1222,"end_character":62},"in_reply_to":"aa0114fd_fc6b0038","updated":"2022-04-28 18:41:50.000000000","message":"Done","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21267cf520d58079e42636926d141f81576baa9","unresolved":true,"context_lines":[{"line_number":1231,"context_line":"            # volume; if \u0027available\u0027, just backup the volume."},{"line_number":1232,"context_line":"            previous_status \u003d volume.get(\u0027previous_status\u0027)"},{"line_number":1233,"context_line":"            if previous_status \u003d\u003d \"in-use\":"},{"line_number":1234,"context_line":"                temp_vol_ref \u003d self._create_temp_cloned_volume_for_backup("},{"line_number":1235,"context_line":"                    context, volume)"},{"line_number":1236,"context_line":"                backup.temp_volume_id \u003d temp_vol_ref.id"},{"line_number":1237,"context_line":"                backup.save()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5fcfb150_21e520dd","line":1234,"range":{"start_line":1234,"start_character":36,"end_line":1234,"end_character":73},"updated":"2022-04-28 14:50:25.000000000","message":"nit: I think it would be best to do the same thing that it is being done to \"_create_temp_volume_from_snapshot\".  Basically keeping the current name, changing the method to accept a status value (for example with the default of \u0027available\u0027) and then passing the fields.VolumeStatus.BACKING_UP status on this call.","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"07227abbaf1f6723ff6da6555a5c883dc348a0b4","unresolved":false,"context_lines":[{"line_number":1231,"context_line":"            # volume; if \u0027available\u0027, just backup the volume."},{"line_number":1232,"context_line":"            previous_status \u003d volume.get(\u0027previous_status\u0027)"},{"line_number":1233,"context_line":"            if previous_status \u003d\u003d \"in-use\":"},{"line_number":1234,"context_line":"                temp_vol_ref \u003d self._create_temp_cloned_volume_for_backup("},{"line_number":1235,"context_line":"                    context, volume)"},{"line_number":1236,"context_line":"                backup.temp_volume_id \u003d temp_vol_ref.id"},{"line_number":1237,"context_line":"                backup.save()"}],"source_content_type":"text/x-python","patch_set":4,"id":"4076e350_f628f775","line":1234,"range":{"start_line":1234,"start_character":36,"end_line":1234,"end_character":73},"in_reply_to":"5fcfb150_21e520dd","updated":"2022-04-28 18:41:50.000000000","message":"Done","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21267cf520d58079e42636926d141f81576baa9","unresolved":true,"context_lines":[{"line_number":1344,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1345,"context_line":"                temp_vol_ref.destroy()"},{"line_number":1346,"context_line":""},{"line_number":1347,"context_line":"        temp_vol_ref.status \u003d \u0027backing-up\u0027"},{"line_number":1348,"context_line":"        temp_vol_ref.save()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1109f210_6bbd96d7","line":1347,"range":{"start_line":1347,"start_character":30,"end_line":1347,"end_character":42},"updated":"2022-04-28 14:50:25.000000000","message":"I prefer to go with the suggestion from comment on L1234, but if we don\u0027t do that, we should use fields.VolumeStatus.BACKING_UP here instead","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"07227abbaf1f6723ff6da6555a5c883dc348a0b4","unresolved":false,"context_lines":[{"line_number":1344,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1345,"context_line":"                temp_vol_ref.destroy()"},{"line_number":1346,"context_line":""},{"line_number":1347,"context_line":"        temp_vol_ref.status \u003d \u0027backing-up\u0027"},{"line_number":1348,"context_line":"        temp_vol_ref.save()"},{"line_number":1349,"context_line":"        return temp_vol_ref"},{"line_number":1350,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"772be7db_bd1423a0","line":1347,"range":{"start_line":1347,"start_character":30,"end_line":1347,"end_character":42},"in_reply_to":"1109f210_6bbd96d7","updated":"2022-04-28 18:41:50.000000000","message":"Done","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"258f17dc81d4368701af333430e1b20742e4ecff","unresolved":true,"context_lines":[{"line_number":1362,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1363,"context_line":"                temp_vol_ref.destroy()"},{"line_number":1364,"context_line":""},{"line_number":1365,"context_line":"        temp_vol_ref.status \u003d status"},{"line_number":1366,"context_line":"        temp_vol_ref.save()"},{"line_number":1367,"context_line":"        return temp_vol_ref"},{"line_number":1368,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1d484554_6c598c9f","line":1365,"updated":"2022-04-26 19:56:32.000000000","message":"As far as I know (I am not familiar with temporary volumes), temporary volumes are created from a snapshot and then used to copy data to the destination volume. So I agree that temporary volumes should have \u0027in-use\u0027 status from the beginning.","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21267cf520d58079e42636926d141f81576baa9","unresolved":true,"context_lines":[{"line_number":1362,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1363,"context_line":"                temp_vol_ref.destroy()"},{"line_number":1364,"context_line":""},{"line_number":1365,"context_line":"        temp_vol_ref.status \u003d status"},{"line_number":1366,"context_line":"        temp_vol_ref.save()"},{"line_number":1367,"context_line":"        return temp_vol_ref"},{"line_number":1368,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a7cdbb9_c786f4f4","line":1365,"in_reply_to":"1d484554_6c598c9f","updated":"2022-04-28 14:50:25.000000000","message":"I think we are going for \u0027backing-up\u0027 status instead of \u0027in-use\u0027 to be more specific.","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"86cd5422cb4a46a6454da98e0bdba0f817464856","unresolved":false,"context_lines":[{"line_number":1362,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1363,"context_line":"                temp_vol_ref.destroy()"},{"line_number":1364,"context_line":""},{"line_number":1365,"context_line":"        temp_vol_ref.status \u003d status"},{"line_number":1366,"context_line":"        temp_vol_ref.save()"},{"line_number":1367,"context_line":"        return temp_vol_ref"},{"line_number":1368,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5aaa2805_b515b958","line":1365,"in_reply_to":"5a7cdbb9_c786f4f4","updated":"2022-04-29 19:15:15.000000000","message":"Done","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"}],"cinder/volume/manager.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21267cf520d58079e42636926d141f81576baa9","unresolved":true,"context_lines":[{"line_number":1069,"context_line":"            ctxt \u003d context.get_internal_tenant_context() or ctxt"},{"line_number":1070,"context_line":"            temp_vol \u003d self.driver._create_temp_volume_from_snapshot("},{"line_number":1071,"context_line":"                ctxt, volume, snapshot, volume_options\u003dv_options,"},{"line_number":1072,"context_line":"                status\u003d\u0027in-use\u0027)"},{"line_number":1073,"context_line":"            self._copy_volume_data(ctxt, temp_vol, volume)"},{"line_number":1074,"context_line":"            self.driver_delete_volume(temp_vol)"},{"line_number":1075,"context_line":"            temp_vol.destroy()"}],"source_content_type":"text/x-python","patch_set":4,"id":"6d6dd5de_056b9d22","line":1072,"range":{"start_line":1072,"start_character":23,"end_line":1072,"end_character":31},"updated":"2022-04-28 14:50:25.000000000","message":"Please use fields.VolumeStatus.IN_USE instead","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"07227abbaf1f6723ff6da6555a5c883dc348a0b4","unresolved":false,"context_lines":[{"line_number":1069,"context_line":"            ctxt \u003d context.get_internal_tenant_context() or ctxt"},{"line_number":1070,"context_line":"            temp_vol \u003d self.driver._create_temp_volume_from_snapshot("},{"line_number":1071,"context_line":"                ctxt, volume, snapshot, volume_options\u003dv_options,"},{"line_number":1072,"context_line":"                status\u003d\u0027in-use\u0027)"},{"line_number":1073,"context_line":"            self._copy_volume_data(ctxt, temp_vol, volume)"},{"line_number":1074,"context_line":"            self.driver_delete_volume(temp_vol)"},{"line_number":1075,"context_line":"            temp_vol.destroy()"}],"source_content_type":"text/x-python","patch_set":4,"id":"a4d06e2a_bf53d24f","line":1072,"range":{"start_line":1072,"start_character":23,"end_line":1072,"end_character":31},"in_reply_to":"6d6dd5de_056b9d22","updated":"2022-04-28 18:41:50.000000000","message":"Done","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d21267cf520d58079e42636926d141f81576baa9","unresolved":true,"context_lines":[{"line_number":1081,"context_line":"                    \" %(volume)s.\","},{"line_number":1082,"context_line":"                    {\u0027snapshot\u0027: snapshot.id,"},{"line_number":1083,"context_line":"                     \u0027volume\u0027: volume.id})"},{"line_number":1084,"context_line":"                if temp_vol and temp_vol.status \u003d\u003d \u0027in-use\u0027:"},{"line_number":1085,"context_line":"                    self.driver_delete_volume(temp_vol)"},{"line_number":1086,"context_line":"                    temp_vol.destroy()"},{"line_number":1087,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e463c3eb_a84b80f1","line":1084,"range":{"start_line":1084,"start_character":51,"end_line":1084,"end_character":59},"updated":"2022-04-28 14:50:25.000000000","message":"same as above","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"07227abbaf1f6723ff6da6555a5c883dc348a0b4","unresolved":false,"context_lines":[{"line_number":1081,"context_line":"                    \" %(volume)s.\","},{"line_number":1082,"context_line":"                    {\u0027snapshot\u0027: snapshot.id,"},{"line_number":1083,"context_line":"                     \u0027volume\u0027: volume.id})"},{"line_number":1084,"context_line":"                if temp_vol and temp_vol.status \u003d\u003d \u0027in-use\u0027:"},{"line_number":1085,"context_line":"                    self.driver_delete_volume(temp_vol)"},{"line_number":1086,"context_line":"                    temp_vol.destroy()"},{"line_number":1087,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"09c3a56c_d195e8bc","line":1084,"range":{"start_line":1084,"start_character":51,"end_line":1084,"end_character":59},"in_reply_to":"e463c3eb_a84b80f1","updated":"2022-04-28 18:41:50.000000000","message":"Done","commit_id":"3d890e5ad9d62975546b1bb9bebd071b67289508"}]}
