)]}'
{".zuul.yaml":[{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"4caba67e6ced2ea3203218fae794f55784145f58","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    required-projects:"},{"line_number":143,"context_line":"      - openstack/cinderlib"},{"line_number":144,"context_line":"      - openstack/tempest"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"- job:"},{"line_number":147,"context_line":"    name: cinder-grenade-dsvm-mn-sub-bak"},{"line_number":148,"context_line":"    parent: legacy-dsvm-base-multinode"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1fa4df85_c79a79b7","line":145,"updated":"2020-03-06 15:43:40.000000000","message":"Please add also:\n   vars:\n      devstack_local_conf:\n        test-config:\n          $TEMPEST_CONFIG:\n            volume-feature-enabled:\n              volume_revert: True","commit_id":"28bb266ac925a4ab2634dfa48674d6fda15fb5ca"}],"/COMMIT_MSG":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"766bec7a9e1a1e7d6d068a5500df541901d48a95","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2020-04-01 18:18:46 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"RBD: add support for revert-to-snapshot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Co-authored-by: Brian Rosmaita \u003crosmaita.fossdev@gmail.com\u003e"},{"line_number":10,"context_line":"Implements: bp rbd-revert-to-snapshot"},{"line_number":11,"context_line":"Change-Id: If8a5eb3a03e18f9043ff29f7648234c9b46376a0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"df33271e_b58d2f33","line":8,"updated":"2020-04-06 12:56:28.000000000","message":"We really need to add some additional comments here considering that the docs recommend NOT doing this https://docs.ceph.com/docs/giant/rbd/rbd-snapshot/#rollback-snapshot","commit_id":"840eda91e8ff98b41912c7d4e0ee722d73c58c4f"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"766bec7a9e1a1e7d6d068a5500df541901d48a95","unresolved":false,"context_lines":[{"line_number":1238,"context_line":""},{"line_number":1239,"context_line":"    def revert_to_snapshot(self, context, volume, snapshot):"},{"line_number":1240,"context_line":"        \"\"\"Revert a volume to a given snapshot.\"\"\""},{"line_number":1241,"context_line":"        with RBDVolumeProxy(self, volume.name) as image:"},{"line_number":1242,"context_line":"            image.rollback_to_snap(snapshot.name)"},{"line_number":1243,"context_line":""},{"line_number":1244,"context_line":"    def _disable_replication(self, volume):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_f5ae9796","line":1241,"updated":"2020-04-06 12:56:28.000000000","message":"Should we add a note on how this  can be inefficient but how the alternative is a nightmare to handle in the driver?","commit_id":"840eda91e8ff98b41912c7d4e0ee722d73c58c4f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"59dde35b0cb9ba7fb9bf21ba1c9bef38fd6d701a","unresolved":false,"context_lines":[{"line_number":1238,"context_line":""},{"line_number":1239,"context_line":"    def revert_to_snapshot(self, context, volume, snapshot):"},{"line_number":1240,"context_line":"        \"\"\"Revert a volume to a given snapshot.\"\"\""},{"line_number":1241,"context_line":"        # NOTE: The Ceph documentation notes that this operation is inefficient"},{"line_number":1242,"context_line":"        # on the backend for large volumes, and that the preferred method of"},{"line_number":1243,"context_line":"        # returning to a pre-existing state in Ceph is to clone from a"},{"line_number":1244,"context_line":"        # snapshot.  So if you are reading this because you\u0027ve been asked to"},{"line_number":1245,"context_line":"        # look into why this operation is inefficient in Cinder, look no"},{"line_number":1246,"context_line":"        # farther."},{"line_number":1247,"context_line":"        with RBDVolumeProxy(self, volume.name) as image:"},{"line_number":1248,"context_line":"            image.rollback_to_snap(snapshot.name)"},{"line_number":1249,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_7961cf39","line":1246,"range":{"start_line":1241,"start_character":0,"end_line":1246,"end_character":18},"updated":"2020-04-07 07:29:52.000000000","message":"maybe it\u0027s just me but i was expecting a comment regarding the problems in using the clone snapshot functionality to do the revert and why we aren\u0027t doing that here.","commit_id":"5de244d663989337905028cbcc42d2da3e9acd27"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"3ae7bbf70e06862d8bb08a21444d40de1937b5bc","unresolved":false,"context_lines":[{"line_number":1238,"context_line":""},{"line_number":1239,"context_line":"    def revert_to_snapshot(self, context, volume, snapshot):"},{"line_number":1240,"context_line":"        \"\"\"Revert a volume to a given snapshot.\"\"\""},{"line_number":1241,"context_line":"        # NOTE: The Ceph documentation notes that this operation is inefficient"},{"line_number":1242,"context_line":"        # on the backend for large volumes, and that the preferred method of"},{"line_number":1243,"context_line":"        # returning to a pre-existing state in Ceph is to clone from a"},{"line_number":1244,"context_line":"        # snapshot.  So if you are reading this because you\u0027ve been asked to"},{"line_number":1245,"context_line":"        # look into why this operation is inefficient in Cinder, look no"},{"line_number":1246,"context_line":"        # farther."},{"line_number":1247,"context_line":"        with RBDVolumeProxy(self, volume.name) as image:"},{"line_number":1248,"context_line":"            image.rollback_to_snap(snapshot.name)"},{"line_number":1249,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_223b87d1","line":1246,"range":{"start_line":1241,"start_character":0,"end_line":1246,"end_character":18},"in_reply_to":"df33271e_732d68fc","updated":"2020-04-07 12:20:32.000000000","message":"I think the comment is missing the most important point, because even if you mention that you know that there is a problem and what\u0027s the recommended alternative, you don\u0027t mention WHY we still do it.\n\nOn the other hand we could provide a hint that better performance is achieved if they use BlueStore in Ceph.\n\n\nBasically a short version of what you say in the release notes.  ;-)","commit_id":"5de244d663989337905028cbcc42d2da3e9acd27"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b890fde0c3c99354e4e16f218e65d8a7bb87946f","unresolved":false,"context_lines":[{"line_number":1238,"context_line":""},{"line_number":1239,"context_line":"    def revert_to_snapshot(self, context, volume, snapshot):"},{"line_number":1240,"context_line":"        \"\"\"Revert a volume to a given snapshot.\"\"\""},{"line_number":1241,"context_line":"        # NOTE: The Ceph documentation notes that this operation is inefficient"},{"line_number":1242,"context_line":"        # on the backend for large volumes, and that the preferred method of"},{"line_number":1243,"context_line":"        # returning to a pre-existing state in Ceph is to clone from a"},{"line_number":1244,"context_line":"        # snapshot.  So if you are reading this because you\u0027ve been asked to"},{"line_number":1245,"context_line":"        # look into why this operation is inefficient in Cinder, look no"},{"line_number":1246,"context_line":"        # farther."},{"line_number":1247,"context_line":"        with RBDVolumeProxy(self, volume.name) as image:"},{"line_number":1248,"context_line":"            image.rollback_to_snap(snapshot.name)"},{"line_number":1249,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_732d68fc","line":1246,"range":{"start_line":1241,"start_character":0,"end_line":1246,"end_character":18},"in_reply_to":"df33271e_7961cf39","updated":"2020-04-07 11:26:53.000000000","message":"IMO, this is a backend issue.  Sure, we could try to fake it in the driver, but that introduces a bunch of logic in the driver that really doesn\u0027t need to be there, and which will introduce bugs.  A lot of backends are able to do this functionality efficiently, and if the efficiency of this operation becomes an issue, it should be addressed in the backend.\n\nIt seems like an easy thing to do, right?  We just do a clone here and rename the resulting volume and the end user thinks a revert has happened.  However, as far as the backend is concerned, it\u0027s a different image, and all the snapshots etc. associated in the backend with the original volume are not associated with this new thing.  So we\u0027d have to stuff to change all these associations.  And it gets worse.  If you want a sense of how big a nightmare it can become, talk to Jon Bernard.\n\nThe point of my comment here is just to flag that the backend acknowledges that this is an inefficient operation, there\u0027s not an easy way to speed it up out here in the driver.","commit_id":"5de244d663989337905028cbcc42d2da3e9acd27"}],"releasenotes/notes/rbd-support-revert-to-snapshot-c9ca62c9efbabf5f.yaml":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"28b4b9b3cb79a86dbd5c6165850d7553fef37661","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    RBD driver: support added for reverting a volume to the last"},{"line_number":5,"context_line":"    snapshot taken.  Be aware that the time it takes to complete"},{"line_number":6,"context_line":"    this operation increases with the size of the volume."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"df33271e_15b5fbee","line":4,"range":{"start_line":4,"start_character":60,"end_line":4,"end_character":64},"updated":"2020-04-06 12:58:55.000000000","message":"latest?","commit_id":"840eda91e8ff98b41912c7d4e0ee722d73c58c4f"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"766bec7a9e1a1e7d6d068a5500df541901d48a95","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    RBD driver: support added for reverting a volume to the last"},{"line_number":5,"context_line":"    snapshot taken.  Be aware that the time it takes to complete"},{"line_number":6,"context_line":"    this operation increases with the size of the volume."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"df33271e_75c5675b","line":6,"updated":"2020-04-06 12:56:28.000000000","message":"Should we mention that it\u0027s also dependent on Ceph\u0027s storage backend? Being more efficient if BlueStore is used?","commit_id":"840eda91e8ff98b41912c7d4e0ee722d73c58c4f"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"28b4b9b3cb79a86dbd5c6165850d7553fef37661","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    RBD driver: support added for reverting a volume to the last"},{"line_number":5,"context_line":"    snapshot taken.  Be aware that the time it takes to complete"},{"line_number":6,"context_line":"    this operation increases with the size of the volume."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"df33271e_95c8eb74","line":6,"range":{"start_line":5,"start_character":21,"end_line":6,"end_character":57},"updated":"2020-04-06 12:58:55.000000000","message":"is this case specific to rbd?","commit_id":"840eda91e8ff98b41912c7d4e0ee722d73c58c4f"}]}
