)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"5f836538b8354d914dcf44df1cd156133be206da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"37ed6bf8_bb3eaba1","updated":"2026-07-28 04:42:35.000000000","message":"recheck\n\nthe failing tempest test `test_instances_with_cinder_volumes.TestInstancesWithCinderVolumes.test_instances_with_cinder_volumes_on_all_compute_nodes` unrelated to this cahnge","commit_id":"15b709618af321b04a47f6760bd47e49517a6dbf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"13b4a5437d5a833384bbbfaa7ac39b08358878d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d9fd4d6e_77f50710","updated":"2026-08-14 17:03:53.000000000","message":"This is fine except for the log message change; see comment inline.","commit_id":"29ea142fbcfe2c5df5ef73e73b89caec7cf8f76b"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"61a10e9f6915190e1fc228888e605a52d175d30a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2cd3f58c_d7a0dd4b","updated":"2026-08-03 09:26:42.000000000","message":"recheck\nunrelated test fail\n\n```\n File \"/opt/stack/tempest/.tox/tempest/lib/python3.13/site-packages/cinder_tempest_plugin/api/volume/admin/test_volume_backup.py\", line 91, in test_incremental_backup_respective_parents\n    self.assertTrue(backup_adm[\u0027has_dependent_backups\u0027])\n    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/usr/lib/python3.13/unittest/case.py\", line 744, in assertTrue\n    raise self.failureException(msg)\nAssertionError: False is not true\n\n\n```","commit_id":"29ea142fbcfe2c5df5ef73e73b89caec7cf8f76b"}],"cinder/backup/manager.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b33aa106472fc0112d6e4722f9021fa22508f523","unresolved":true,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        self._notify_about_backup_usage(context, backup, \"create.start\")"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        expected_status \u003d fields.VolumeStatus.BACKING_UP"},{"line_number":392,"context_line":"        if snapshot:"},{"line_number":393,"context_line":"            actual_status \u003d snapshot[\u0027status\u0027]"},{"line_number":394,"context_line":"            if actual_status !\u003d expected_status:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1b5c6673_7f427dd9","line":391,"updated":"2026-07-27 13:04:55.000000000","message":"I\u0027ve been skeptical of usage like this in our code for a while -- it seems like it\u0027s much harder to read than just using strings?\n\nWe could at least change the imports so that it\u0027s just VolumeStatus.BACKING_UP if we want to do this.","commit_id":"15b709618af321b04a47f6760bd47e49517a6dbf"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"a70d33b11c6924ef2bcbcf71ed844ede4adf4cb3","unresolved":true,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        self._notify_about_backup_usage(context, backup, \"create.start\")"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        expected_status \u003d fields.VolumeStatus.BACKING_UP"},{"line_number":392,"context_line":"        if snapshot:"},{"line_number":393,"context_line":"            actual_status \u003d snapshot[\u0027status\u0027]"},{"line_number":394,"context_line":"            if actual_status !\u003d expected_status:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff9e7a5c_5a1eefe8","line":391,"in_reply_to":"03c04add_7605b7e9","updated":"2026-08-03 05:53:54.000000000","message":"```\n$ ag \"fields\\..*Status\" | wc -l\n2028\n```","commit_id":"15b709618af321b04a47f6760bd47e49517a6dbf"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"e23e9a295061b619f0467b1c6b1cd70ec1d60559","unresolved":true,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        self._notify_about_backup_usage(context, backup, \"create.start\")"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        expected_status \u003d fields.VolumeStatus.BACKING_UP"},{"line_number":392,"context_line":"        if snapshot:"},{"line_number":393,"context_line":"            actual_status \u003d snapshot[\u0027status\u0027]"},{"line_number":394,"context_line":"            if actual_status !\u003d expected_status:"}],"source_content_type":"text/x-python","patch_set":1,"id":"03c04add_7605b7e9","line":391,"in_reply_to":"1b5c6673_7f427dd9","updated":"2026-07-28 04:28:08.000000000","message":"in this module and others using fields.XStatus.*, these were the last few raw strings. I think its worth converting since hardcoding status strings that have defined contants can be fragile (like by typo  silently passes) and inconsistent with the rest of the module.\n\ngood point on import style though - `fields.XStatus` is th established pattern across cinder \n```\ncinder$ ag \"fields\\.[A-Z]\" | wc -l\n2376\n\n```\nchanging it here would be inconsistent. if we want to standardize on shorter imports `( just VolumeStatus.BACKING_UP )`, that could be a  a separate cleanup across all of cinder.","commit_id":"15b709618af321b04a47f6760bd47e49517a6dbf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"1c1fa010096bd72e20240f672a6c95218dd2a373","unresolved":true,"context_lines":[{"line_number":388,"context_line":""},{"line_number":389,"context_line":"        self._notify_about_backup_usage(context, backup, \"create.start\")"},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"        expected_status \u003d fields.VolumeStatus.BACKING_UP"},{"line_number":392,"context_line":"        if snapshot:"},{"line_number":393,"context_line":"            actual_status \u003d snapshot[\u0027status\u0027]"},{"line_number":394,"context_line":"            if actual_status !\u003d expected_status:"}],"source_content_type":"text/x-python","patch_set":1,"id":"a4d01850_0581eb99","line":391,"in_reply_to":"ff9e7a5c_5a1eefe8","updated":"2026-08-14 14:18:28.000000000","message":"I prefer using a \"constant\" name as opposed to a string (eliminates the misspelling problem), but I can go either way on the \u0027fields\u0027 prefix.  In any case, that could be a followup, since as Amit points out, we mostly use the prefix throughout the code.","commit_id":"15b709618af321b04a47f6760bd47e49517a6dbf"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"13b4a5437d5a833384bbbfaa7ac39b08358878d8","unresolved":true,"context_lines":[{"line_number":427,"context_line":"        try:"},{"line_number":428,"context_line":"            if not self.is_working():"},{"line_number":429,"context_line":"                err \u003d _(\u0027Create backup aborted due to backup \u0027"},{"line_number":430,"context_line":"                        \u0027backend not available.\u0027)"},{"line_number":431,"context_line":"                volume_utils.update_backup_error(backup, err)"},{"line_number":432,"context_line":"                self.message_api.create_from_request_context("},{"line_number":433,"context_line":"                    context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ad7e956_5964a56e","line":430,"updated":"2026-08-14 17:03:53.000000000","message":"We discussed this and decided that Amit is correct that the original message is misleading because it can occur in situations when the service itself is not down.  But while discussing this, we decided that it\u0027s difficult to be more specific because there could be several reasons for why this would happen.  On the theory that the real reason will already be logged, let\u0027s say something like:\n\n    Create backup aborted due to problems with the backup service.\n\nThat way we\u0027re not committed to any particular cause, and this message should indicate to the operator that they should look earlier in the logs to see what happened.","commit_id":"29ea142fbcfe2c5df5ef73e73b89caec7cf8f76b"}]}
