)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"6e4dd2a0a9e2975e17685ddf4fb51ef7ec79f8fb","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This commit changes the os-reset_status group-snapshot-api"},{"line_number":10,"context_line":"to handle the below use cases"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"1.reset group-snapshot to the \"ing\" state"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partial implement blueprint reset-state-robustification"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"3e768c0e_6272e950","line":12,"range":{"start_line":12,"start_character":31,"end_line":12,"end_character":34},"updated":"2022-03-07 16:03:24.000000000","message":"what do you mean by this?","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"fd9dd77728ede7f739cf522ba059a5dbe43c6133","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This commit changes the os-reset_status group-snapshot-api"},{"line_number":10,"context_line":"to handle the below use cases"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"1.reset group-snapshot to the \"ing\" state"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partial implement blueprint reset-state-robustification"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"1bc69a09_b00e2fce","line":12,"range":{"start_line":12,"start_character":31,"end_line":12,"end_character":34},"in_reply_to":"2215238e_17307e97","updated":"2022-03-10 03:00:40.000000000","message":"Done","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"92dea1919b8601b43b13ca41a6031f36f6300aa3","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This commit changes the os-reset_status group-snapshot-api"},{"line_number":10,"context_line":"to handle the below use cases"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"1.reset group-snapshot to the \"ing\" state"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partial implement blueprint reset-state-robustification"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"c9db811a_61283108","line":12,"range":{"start_line":12,"start_character":31,"end_line":12,"end_character":34},"in_reply_to":"3e768c0e_6272e950","updated":"2022-03-07 16:22:16.000000000","message":"Done","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"175b4075c07be74c28e83d998101ec32c583b743","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This commit changes the os-reset_status group-snapshot-api"},{"line_number":10,"context_line":"to handle the below use cases"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"1.reset group-snapshot to the \"ing\" state"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partial implement blueprint reset-state-robustification"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"2215238e_17307e97","line":12,"range":{"start_line":12,"start_character":31,"end_line":12,"end_character":34},"in_reply_to":"c9db811a_61283108","updated":"2022-03-07 23:23:29.000000000","message":"For people who haven\u0027t read the spec, this is confusing.  You should explicitly state that what you are doing is:\n\n 1. reset a group-snapshot to the \u0027deleting\u0027 or \u0027error_deleting\u0027 status is now disallowed\n\nAlso, don\u0027t forget to add the \"boilerplate\" text from https://etherpad.opendev.org/p/no-foot-shooting in this commit message.","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"30aa4e283408bd5102e8f736cfc95e226493f5f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"0ef78305_12fe3a56","updated":"2022-02-14 20:51:17.000000000","message":"We need this check. ","commit_id":"82a050f3550507706d18127410245775df3bd361"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"7719cb1082d5cd2dbbbcf1bfbbffc33176b5bb9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"42d5eeea_3b5ba3fb","updated":"2022-01-21 08:35:57.000000000","message":"recheck","commit_id":"82a050f3550507706d18127410245775df3bd361"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"04625e0ee67ba26171a11ddc144f254a302b6bea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"b3154ccd_4503da39","updated":"2022-02-16 09:53:44.000000000","message":"recheck","commit_id":"047f184a357101c9699c498148a2a947cb3e4974"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"d8512fd14a65db5667917df5d93c471dd58cd673","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"ccdd29f5_cd8ceaad","updated":"2022-02-22 07:51:45.000000000","message":"recheck","commit_id":"86d79d207b1ae8bca21440cc6bb5d781b4267ed5"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"175b4075c07be74c28e83d998101ec32c583b743","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"f894f5a5_1638ba6f","updated":"2022-03-07 23:23:29.000000000","message":"See comments inline.","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"cf2bfcbc983fa976e283da1a5b56c2194669b42c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"84141087_eaf527f3","updated":"2022-03-10 03:18:55.000000000","message":"See comment inline.","commit_id":"548e1ae6e77cdaa6d14d784ea80d026c789eebd4"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"52ce56872b5441a34bdb44e240763cf218de7a04","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"68e465eb_dbab8431","updated":"2022-09-01 10:35:38.000000000","message":"hi core reviewers could you help me to merge this patch","commit_id":"d8b463809d2e26427332c564e0722cada443da46"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"9dcf9bea833caaf63e7cbdf92c2954654188ccd3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"6cc0e280_4397cfa0","updated":"2025-02-14 16:32:41.000000000","message":"Since this is affecting the API, even for a bug fix, we need some release notes along with it.","commit_id":"48dea8a7005fe7dd3eaa7e0d6d46ae8d02ad0e37"}],"cinder/api/v3/group_snapshots.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"175b4075c07be74c28e83d998101ec32c583b743","unresolved":true,"context_lines":[{"line_number":200,"context_line":"                          {\u0027id\u0027: id,"},{"line_number":201,"context_line":"                           \u0027update\u0027: status})"},{"line_number":202,"context_line":"            gsnapshot \u003d self.group_snapshot_api.get_group_snapshot(context, id)"},{"line_number":203,"context_line":"            if gsnapshot in (\u0027deleting\u0027, \u0027error_deleting\u0027):"},{"line_number":204,"context_line":"                msg \u003d _(\"Cannot reset-state to %s\" % gsnapshot)"},{"line_number":205,"context_line":"                raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":206,"context_line":"            self.group_snapshot_api.reset_group_snapshot_status(context,"},{"line_number":207,"context_line":"                                                                gsnapshot,"},{"line_number":208,"context_line":"                                                                status)"}],"source_content_type":"text/x-python","patch_set":24,"id":"1ad95a4d_72eda117","line":205,"range":{"start_line":203,"start_character":0,"end_line":205,"end_character":63},"updated":"2022-03-07 23:23:29.000000000","message":"A few things here:\n\n1. Shouldn\u0027t you be checking \"gsnapshot.status in (\u0027d\u0027, \u0027e_d\u0027)\" ? Right now you\u0027re testing whether the group snapshot object itself is in the tuple of strings.\n\n2. actually, for #1, gsnapshot.status is the current status of the group snapshot, whereas what the caller wants to update to is contained in the \u0027status\u0027 variable. We don\u0027t need to have access to the gsnapshot when we do this check, so why don\u0027t you move it to before line 194:\n\n  if status in (\u0027deleting\u0027, \u0027error_deleting\u0027):\n      msg \u003d _(\"Cannot reset-state to %s\" % gsnapshot)\n      raise webob.exc.HTTPBadRequest(explanation\u003dmsg)\n\n3. This change will break some of your unit tests (test_reset_group_snapshot_error_deleting_to_error_deleting and test_reset_group_snapshot_deleting_to_deleting), but I think that\u0027s OK.  What I mean is, I think it would be correct that an operator get a 400 for *any* attempt to reset-state to \u0027deleting\u0027 or \u0027error_deleting\u0027 regardless of the current status of the group snapshot.","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"fd9dd77728ede7f739cf522ba059a5dbe43c6133","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                          {\u0027id\u0027: id,"},{"line_number":201,"context_line":"                           \u0027update\u0027: status})"},{"line_number":202,"context_line":"            gsnapshot \u003d self.group_snapshot_api.get_group_snapshot(context, id)"},{"line_number":203,"context_line":"            if gsnapshot in (\u0027deleting\u0027, \u0027error_deleting\u0027):"},{"line_number":204,"context_line":"                msg \u003d _(\"Cannot reset-state to %s\" % gsnapshot)"},{"line_number":205,"context_line":"                raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":206,"context_line":"            self.group_snapshot_api.reset_group_snapshot_status(context,"},{"line_number":207,"context_line":"                                                                gsnapshot,"},{"line_number":208,"context_line":"                                                                status)"}],"source_content_type":"text/x-python","patch_set":24,"id":"6792d782_f03e8443","line":205,"range":{"start_line":203,"start_character":0,"end_line":205,"end_character":63},"in_reply_to":"1ad95a4d_72eda117","updated":"2022-03-10 03:00:40.000000000","message":"Done","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"cf2bfcbc983fa976e283da1a5b56c2194669b42c","unresolved":true,"context_lines":[{"line_number":201,"context_line":"                           \u0027update\u0027: status})"},{"line_number":202,"context_line":"            gsnapshot \u003d self.group_snapshot_api.get_group_snapshot(context, id)"},{"line_number":203,"context_line":"            if status in (\u0027deleting\u0027, \u0027error_deleting\u0027):"},{"line_number":204,"context_line":"                msg \u003d _(\"Cannot reset-state to %s\" % gsnapshot)"},{"line_number":205,"context_line":"                raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":206,"context_line":"            self.group_snapshot_api.reset_group_snapshot_status(context,"},{"line_number":207,"context_line":"                                                                gsnapshot,"}],"source_content_type":"text/x-python","patch_set":25,"id":"876eca33_cf218d9b","line":204,"range":{"start_line":204,"start_character":53,"end_line":204,"end_character":62},"updated":"2022-03-10 03:18:55.000000000","message":"Two things:\n\n1. Shouldn\u0027t this be \u0027status\u0027 ?\n\n2. I still think you should move lines 203-205 before the \u0027start\u0027 notification is set, and since you\u0027re just looking at the status that\u0027s in the request, you don\u0027t need to do this check inside the try block.  So I\u0027d advise moving this to before line 197.","commit_id":"548e1ae6e77cdaa6d14d784ea80d026c789eebd4"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"133c870aa8db47a3f8d5d618ad1b57d3993e9728","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                           \u0027update\u0027: status})"},{"line_number":202,"context_line":"            gsnapshot \u003d self.group_snapshot_api.get_group_snapshot(context, id)"},{"line_number":203,"context_line":"            if status in (\u0027deleting\u0027, \u0027error_deleting\u0027):"},{"line_number":204,"context_line":"                msg \u003d _(\"Cannot reset-state to %s\" % gsnapshot)"},{"line_number":205,"context_line":"                raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":206,"context_line":"            self.group_snapshot_api.reset_group_snapshot_status(context,"},{"line_number":207,"context_line":"                                                                gsnapshot,"}],"source_content_type":"text/x-python","patch_set":25,"id":"76fe1f46_b354ba88","line":204,"range":{"start_line":204,"start_character":53,"end_line":204,"end_character":62},"in_reply_to":"876eca33_cf218d9b","updated":"2022-03-10 05:18:15.000000000","message":"Done","commit_id":"548e1ae6e77cdaa6d14d784ea80d026c789eebd4"}],"cinder/tests/unit/group/test_groups_api.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"175b4075c07be74c28e83d998101ec32c583b743","unresolved":true,"context_lines":[{"line_number":897,"context_line":"                        \u0027status\u0027: fields.GroupSnapshotStatus.ERROR_DELETING}"},{"line_number":898,"context_line":"        mock_group_snapshot.update.assert_called_once_with(update_field)"},{"line_number":899,"context_line":"        mock_group_snapshot.save.assert_called_once_with()"},{"line_number":900,"context_line":""},{"line_number":901,"context_line":"    @mock.patch(\u0027cinder.scheduler.rpcapi.SchedulerAPI.validate_host_capacity\u0027)"},{"line_number":902,"context_line":"    def test_create_group_from_src_frozen(self, mock_validate_host):"},{"line_number":903,"context_line":"        service \u003d utils.create_service(self.ctxt, {\u0027frozen\u0027: True})"}],"source_content_type":"text/x-python","patch_set":24,"id":"d67dc99b_492b3ee8","line":900,"updated":"2022-03-07 23:23:29.000000000","message":"I don\u0027t see any new tests here to check for a bad request.","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"fd9dd77728ede7f739cf522ba059a5dbe43c6133","unresolved":false,"context_lines":[{"line_number":897,"context_line":"                        \u0027status\u0027: fields.GroupSnapshotStatus.ERROR_DELETING}"},{"line_number":898,"context_line":"        mock_group_snapshot.update.assert_called_once_with(update_field)"},{"line_number":899,"context_line":"        mock_group_snapshot.save.assert_called_once_with()"},{"line_number":900,"context_line":""},{"line_number":901,"context_line":"    @mock.patch(\u0027cinder.scheduler.rpcapi.SchedulerAPI.validate_host_capacity\u0027)"},{"line_number":902,"context_line":"    def test_create_group_from_src_frozen(self, mock_validate_host):"},{"line_number":903,"context_line":"        service \u003d utils.create_service(self.ctxt, {\u0027frozen\u0027: True})"}],"source_content_type":"text/x-python","patch_set":24,"id":"2ce85420_54665d44","line":900,"in_reply_to":"d67dc99b_492b3ee8","updated":"2022-03-10 03:00:40.000000000","message":"ok i\u0027ll update","commit_id":"e89ac691953531db63f1b1d39d8c34f448a3ec10"}]}
