)]}'
{"/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":"c73a0bf1c65e211568272201a677010d6b93232e","unresolved":true,"context_lines":[{"line_number":18,"context_line":"manage and unmanage events follows the existing share usage"},{"line_number":19,"context_line":"notifications; the revert events carry the state of both the share and"},{"line_number":20,"context_line":"the snapshot, since a revert changes both."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"A snapshot of a replicated share spans several snapshot instances."},{"line_number":23,"context_line":"Rather than emitting one event per instance, a single snapshot level"},{"line_number":24,"context_line":"event is emitted per operation, described by the snapshot instance of"},{"line_number":25,"context_line":"the \u0027active\u0027 replica, the same instance whose status and progress the"},{"line_number":26,"context_line":"snapshot object proxies. Since such a deletion can be completed"},{"line_number":27,"context_line":"asynchronously by a periodic task, share.snapshot.delete.end is only"},{"line_number":28,"context_line":"emitted once snapshot instances have actually been removed, so that the"},{"line_number":29,"context_line":"event is never a false report of completion."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"No API, RPC or database changes are required and no existing"},{"line_number":32,"context_line":"notification payload is modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5d04754f_3297b98a","line":29,"range":{"start_line":21,"start_character":0,"end_line":29,"end_character":44},"updated":"2026-08-12 12:19:46.000000000","message":"I think commit message can be shortened. Releasenote can contain the implementation details.","commit_id":"a94ba7c4322514cfef64bc78662cf70917edd327"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"9c78a067f5cbdc178e5fcd1106447076be63f7c9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"manage and unmanage events follows the existing share usage"},{"line_number":19,"context_line":"notifications; the revert events carry the state of both the share and"},{"line_number":20,"context_line":"the snapshot, since a revert changes both."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"A snapshot of a replicated share spans several snapshot instances."},{"line_number":23,"context_line":"Rather than emitting one event per instance, a single snapshot level"},{"line_number":24,"context_line":"event is emitted per operation, described by the snapshot instance of"},{"line_number":25,"context_line":"the \u0027active\u0027 replica, the same instance whose status and progress the"},{"line_number":26,"context_line":"snapshot object proxies. Since such a deletion can be completed"},{"line_number":27,"context_line":"asynchronously by a periodic task, share.snapshot.delete.end is only"},{"line_number":28,"context_line":"emitted once snapshot instances have actually been removed, so that the"},{"line_number":29,"context_line":"event is never a false report of completion."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"No API, RPC or database changes are required and no existing"},{"line_number":32,"context_line":"notification payload is modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"d66aaced_7d860bd5","line":29,"range":{"start_line":21,"start_character":0,"end_line":29,"end_character":44},"in_reply_to":"30e2cb40_04316af4","updated":"2026-08-18 17:03:01.000000000","message":"Done","commit_id":"a94ba7c4322514cfef64bc78662cf70917edd327"},{"author":{"_account_id":38929,"name":"sehun Jeong","display_name":"sehun","email":"sehun.jeong@samsung.com","username":"sehun","status":"Samsung SDS"},"change_message_id":"18e1c35861bccb4869164b8cc10939d2b8155f8f","unresolved":true,"context_lines":[{"line_number":18,"context_line":"manage and unmanage events follows the existing share usage"},{"line_number":19,"context_line":"notifications; the revert events carry the state of both the share and"},{"line_number":20,"context_line":"the snapshot, since a revert changes both."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"A snapshot of a replicated share spans several snapshot instances."},{"line_number":23,"context_line":"Rather than emitting one event per instance, a single snapshot level"},{"line_number":24,"context_line":"event is emitted per operation, described by the snapshot instance of"},{"line_number":25,"context_line":"the \u0027active\u0027 replica, the same instance whose status and progress the"},{"line_number":26,"context_line":"snapshot object proxies. Since such a deletion can be completed"},{"line_number":27,"context_line":"asynchronously by a periodic task, share.snapshot.delete.end is only"},{"line_number":28,"context_line":"emitted once snapshot instances have actually been removed, so that the"},{"line_number":29,"context_line":"event is never a false report of completion."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"No API, RPC or database changes are required and no existing"},{"line_number":32,"context_line":"notification payload is modified."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"30e2cb40_04316af4","line":29,"range":{"start_line":21,"start_character":0,"end_line":29,"end_character":44},"in_reply_to":"5d04754f_3297b98a","updated":"2026-08-13 23:41:53.000000000","message":"Thanks for the suggestion. I\u0027ve shortened the commit message and moved the implementation details to the release note.","commit_id":"a94ba7c4322514cfef64bc78662cf70917edd327"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"c73a0bf1c65e211568272201a677010d6b93232e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"95ba9e95_2fbecd3c","updated":"2026-08-12 12:19:46.000000000","message":"Thanks for the patch. The code looks clean and its an important addition to the snapshot workflows. I have one minor comment on the commit message.","commit_id":"a94ba7c4322514cfef64bc78662cf70917edd327"},{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"e3439d4a59a02973791f20f9e4b23ed7673ffa6c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a2cc652a_2ea87b74","updated":"2026-08-14 12:02:47.000000000","message":"thanks for the adding notifications, please see the below comments.","commit_id":"210b1a8cad381576642e870f5eeb22f91011120a"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"9c78a067f5cbdc178e5fcd1106447076be63f7c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0c722dd3_eea01162","updated":"2026-08-18 17:03:01.000000000","message":"Some additional comments. Please look at them.","commit_id":"ccc285332fa1d16c87f5806e0161b428375e1e78"}],"manila/share/manager.py":[{"author":{"_account_id":36686,"name":"Inyong Hong","display_name":"hongp","email":"inyong.hong@samsung.com","username":"hong-p"},"change_message_id":"e3439d4a59a02973791f20f9e4b23ed7673ffa6c","unresolved":true,"context_lines":[{"line_number":3276,"context_line":"            snapshot_ref \u003d self.db.share_snapshot_update("},{"line_number":3277,"context_line":"                context, snapshot_id,"},{"line_number":3278,"context_line":"                {\u0027status\u0027: constants.STATUS_MANAGE_ERROR, \u0027size\u0027: 1})"},{"line_number":3279,"context_line":"            self._notify_about_snapshot(context, snapshot_ref,"},{"line_number":3280,"context_line":"                                        \"snapshot.manage.fail\","},{"line_number":3281,"context_line":"                                        snapshot_ref[\u0027instance\u0027])"},{"line_number":3282,"context_line":"            raise"},{"line_number":3283,"context_line":""},{"line_number":3284,"context_line":"    def _update_quota_usages(self, context, project_id, usages):"}],"source_content_type":"text/x-python","patch_set":3,"id":"17befe72_f1839697","line":3281,"range":{"start_line":3279,"start_character":12,"end_line":3281,"end_character":65},"updated":"2026-08-14 12:02:47.000000000","message":"Manila only notify `.start`/`.end` now, but `.fail` is a new notification suffix. So I think adding a `fail` (or `error`) event suffix should be discussed separately discussion.","commit_id":"210b1a8cad381576642e870f5eeb22f91011120a"},{"author":{"_account_id":38929,"name":"sehun Jeong","display_name":"sehun","email":"sehun.jeong@samsung.com","username":"sehun","status":"Samsung SDS"},"change_message_id":"a4c92931c4f9e70966e00567fdef80ccc3764809","unresolved":true,"context_lines":[{"line_number":3276,"context_line":"            snapshot_ref \u003d self.db.share_snapshot_update("},{"line_number":3277,"context_line":"                context, snapshot_id,"},{"line_number":3278,"context_line":"                {\u0027status\u0027: constants.STATUS_MANAGE_ERROR, \u0027size\u0027: 1})"},{"line_number":3279,"context_line":"            self._notify_about_snapshot(context, snapshot_ref,"},{"line_number":3280,"context_line":"                                        \"snapshot.manage.fail\","},{"line_number":3281,"context_line":"                                        snapshot_ref[\u0027instance\u0027])"},{"line_number":3282,"context_line":"            raise"},{"line_number":3283,"context_line":""},{"line_number":3284,"context_line":"    def _update_quota_usages(self, context, project_id, usages):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3569e6f5_f0e14ad9","line":3281,"range":{"start_line":3279,"start_character":12,"end_line":3281,"end_character":65},"in_reply_to":"17befe72_f1839697","updated":"2026-08-18 10:45:05.000000000","message":"Agreed. Manila currently only emits .start / .end notifications, so adding a new .fail suffix should be discussed separately. I removed all fail-related notification changes from this patch.","commit_id":"210b1a8cad381576642e870f5eeb22f91011120a"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"9c78a067f5cbdc178e5fcd1106447076be63f7c9","unresolved":true,"context_lines":[{"line_number":4275,"context_line":"    @periodic_task.periodic_task("},{"line_number":4276,"context_line":"        spacing\u003dCONF.periodic_deferred_delete_interval)"},{"line_number":4277,"context_line":"    @utils.require_driver_initialized"},{"line_number":4278,"context_line":"    def do_deferred_snapshot_deletion(self, ctxt):"},{"line_number":4279,"context_line":"        LOG.debug(\"Checking for snapshots in \u0027deferred_deleting\u0027 status to \""},{"line_number":4280,"context_line":"                  \"process their deletion.\")"},{"line_number":4281,"context_line":"        ctxt \u003d ctxt.elevated()"}],"source_content_type":"text/x-python","patch_set":5,"id":"cd0e21ec_a2b2a313","line":4278,"updated":"2026-08-18 17:03:01.000000000","message":"Dont we need a notification for deferred delete of snapshots?","commit_id":"ccc285332fa1d16c87f5806e0161b428375e1e78"}],"releasenotes/notes/add-share-snapshot-notifications-230faea4973665a9.yaml":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"9c78a067f5cbdc178e5fcd1106447076be63f7c9","unresolved":true,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    - ``share.snapshot.create.*``"},{"line_number":9,"context_line":"    - ``share.snapshot.delete.*``"},{"line_number":10,"context_line":"    - ``share.snapshot.manage.*``"},{"line_number":11,"context_line":"    - ``share.snapshot.unmanage.*``"},{"line_number":12,"context_line":"    - ``share.snapshot.revert.*``"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    The payload of the create, delete, manage and unmanage notifications"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"f845c0e0_d69f7bce","line":11,"range":{"start_line":10,"start_character":0,"end_line":11,"end_character":35},"updated":"2026-08-18 17:03:01.000000000","message":"manage/unmanage are not covered in UTs. Can we add tests to cover these as well?","commit_id":"ccc285332fa1d16c87f5806e0161b428375e1e78"}]}
