)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32704,"name":"Alfredo Garcia","display_name":"Alfredo Garcia","email":"alfrgarc@redhat.com","username":"alfrgarc","status":"Senior Software Quality Engineer @ Red Hat"},"change_message_id":"ddc4628bdc740be3b43a4726294652d4c2726d13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"15af3543_2752d2cf","updated":"2026-02-05 13:51:55.000000000","message":"(my mistake for not including the +1 in my previous comment)\n* This change makes sense and all issues have been resolved. LGTM","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32704,"name":"Alfredo Garcia","display_name":"Alfredo Garcia","email":"alfrgarc@redhat.com","username":"alfrgarc","status":"Senior Software Quality Engineer @ Red Hat"},"change_message_id":"f7f5f5a989a3e7efd8a2df55c6519de33d38db7f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b6b68663_00d9baab","updated":"2026-02-04 15:36:57.000000000","message":"The change makes sense","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"39ea3d8b8b11b1e58d0bb209af4c5a76bb6a88a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d0289db7_00cbe953","updated":"2026-07-13 09:16:17.000000000","message":"@gmaan, ping for review!","commit_id":"ccc37c6cd2de7122799bdf8bf533226aea709eab"},{"author":{"_account_id":32704,"name":"Alfredo Garcia","display_name":"Alfredo Garcia","email":"alfrgarc@redhat.com","username":"alfrgarc","status":"Senior Software Quality Engineer @ Red Hat"},"change_message_id":"6a7e9e814e9ca210bb9bc0e35837fed288e244fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"49175415_ac3d7f2e","updated":"2026-07-07 12:54:44.000000000","message":"LGTM","commit_id":"ccc37c6cd2de7122799bdf8bf533226aea709eab"}],"tempest/api/volume/admin/test_group_snapshots.py":[{"author":{"_account_id":35153,"name":"Ashish Gupta","email":"ashigupt@redhat.com","username":"ashigupt","status":"Redhat"},"change_message_id":"b587fc3c0ffbf42a64aa4c3055d29a6082f602ab","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    def setup_clients(cls):"},{"line_number":39,"context_line":"        super(BaseGroupSnapshotsTest, cls).setup_clients()"},{"line_number":40,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":41,"context_line":"            cls.reader_volumes_client \u003d ("},{"line_number":42,"context_line":"                cls.os_project_reader.volumes_client_latest)"},{"line_number":43,"context_line":"            cls.reader_snapshots_client \u003d ("},{"line_number":44,"context_line":"                cls.os_project_reader.snapshots_client_latest)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb02014_89f94187","line":41,"updated":"2026-01-30 20:34:28.000000000","message":"as mentioned in other patch, reader_volumes_client can be moved to base class and that could be reused everywhere else","commit_id":"153bc7685b3e0fbbd24f7c79c6b3382e5f9bb1e1"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"f5ee7ad1a4c99a0e6a904406bed3aff5841c7763","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    def setup_clients(cls):"},{"line_number":39,"context_line":"        super(BaseGroupSnapshotsTest, cls).setup_clients()"},{"line_number":40,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":41,"context_line":"            cls.reader_volumes_client \u003d ("},{"line_number":42,"context_line":"                cls.os_project_reader.volumes_client_latest)"},{"line_number":43,"context_line":"            cls.reader_snapshots_client \u003d ("},{"line_number":44,"context_line":"                cls.os_project_reader.snapshots_client_latest)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a470a240_762008ac","line":41,"in_reply_to":"9fb02014_89f94187","updated":"2026-02-03 13:56:35.000000000","message":"Thanks for the suggestion. I have removed the explicit reader_volumes_client definitions and called the same from base.py.","commit_id":"153bc7685b3e0fbbd24f7c79c6b3382e5f9bb1e1"}],"tempest/api/volume/admin/test_multi_backend.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e9970422e5251fd72cf0816dd26251fb5f98010c","unresolved":true,"context_lines":[{"line_number":39,"context_line":"    def setup_clients(cls):"},{"line_number":40,"context_line":"        super(VolumeMultiBackendTest, cls).setup_clients()"},{"line_number":41,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":42,"context_line":"            cls.reader_admin_volume_client \u003d ("},{"line_number":43,"context_line":"                cls.os_project_reader.volumes_client_latest)"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            cls.reader_admin_volume_client \u003d cls.admin_volume_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"8c069699_89eb7f5c","line":42,"range":{"start_line":42,"start_character":16,"end_line":42,"end_character":43},"updated":"2026-06-24 20:29:28.000000000","message":"I think we can use the base class client here? reader_volume_client","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"c61dfb4946ad1368e3ffa67089cf4c01dcf91355","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    def setup_clients(cls):"},{"line_number":40,"context_line":"        super(VolumeMultiBackendTest, cls).setup_clients()"},{"line_number":41,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":42,"context_line":"            cls.reader_admin_volume_client \u003d ("},{"line_number":43,"context_line":"                cls.os_project_reader.volumes_client_latest)"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            cls.reader_admin_volume_client \u003d cls.admin_volume_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"0f1cea86_675c60da","line":42,"range":{"start_line":42,"start_character":16,"end_line":42,"end_character":43},"in_reply_to":"8c069699_89eb7f5c","updated":"2026-07-02 12:00:18.000000000","message":"We need to handle cases that require both admin and non-admin personas to use the latest volume client (when the scope is disabled). So I added a new reader role in the admin base class \u0027reader_volume_client\u0027.","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"}],"tempest/api/volume/admin/test_snapshot_manage.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e9970422e5251fd72cf0816dd26251fb5f98010c","unresolved":true,"context_lines":[{"line_number":54,"context_line":"    def setup_clients(cls):"},{"line_number":55,"context_line":"        super(SnapshotManageAdminTest, cls).setup_clients()"},{"line_number":56,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":57,"context_line":"            cls.reader_admin_snapshots_client \u003d ("},{"line_number":58,"context_line":"                cls.os_project_reader.snapshots_client_latest)"},{"line_number":59,"context_line":"        else:"},{"line_number":60,"context_line":"            cls.reader_admin_snapshots_client \u003d cls.admin_snapshots_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"86e4cc49_8b1d9125","line":57,"range":{"start_line":57,"start_character":16,"end_line":57,"end_character":46},"updated":"2026-06-24 20:29:28.000000000","message":"reader_snapshots_client","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"c61dfb4946ad1368e3ffa67089cf4c01dcf91355","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def setup_clients(cls):"},{"line_number":55,"context_line":"        super(SnapshotManageAdminTest, cls).setup_clients()"},{"line_number":56,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":57,"context_line":"            cls.reader_admin_snapshots_client \u003d ("},{"line_number":58,"context_line":"                cls.os_project_reader.snapshots_client_latest)"},{"line_number":59,"context_line":"        else:"},{"line_number":60,"context_line":"            cls.reader_admin_snapshots_client \u003d cls.admin_snapshots_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"dde7af36_1e3b439a","line":57,"range":{"start_line":57,"start_character":16,"end_line":57,"end_character":46},"in_reply_to":"86e4cc49_8b1d9125","updated":"2026-07-02 12:00:18.000000000","message":"Done","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"}],"tempest/api/volume/admin/test_snapshots_actions.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e9970422e5251fd72cf0816dd26251fb5f98010c","unresolved":true,"context_lines":[{"line_number":36,"context_line":"    def setup_clients(cls):"},{"line_number":37,"context_line":"        super(SnapshotsActionsTest, cls).setup_clients()"},{"line_number":38,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":39,"context_line":"            cls.reader_admin_snapshots_client \u003d ("},{"line_number":40,"context_line":"                cls.os_project_reader.snapshots_client_latest)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            cls.reader_admin_snapshots_client \u003d cls.admin_snapshots_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"7ea187f1_168faa9a","line":39,"range":{"start_line":39,"start_character":16,"end_line":39,"end_character":46},"updated":"2026-06-24 20:29:28.000000000","message":"ditto","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"c61dfb4946ad1368e3ffa67089cf4c01dcf91355","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    def setup_clients(cls):"},{"line_number":37,"context_line":"        super(SnapshotsActionsTest, cls).setup_clients()"},{"line_number":38,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":39,"context_line":"            cls.reader_admin_snapshots_client \u003d ("},{"line_number":40,"context_line":"                cls.os_project_reader.snapshots_client_latest)"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            cls.reader_admin_snapshots_client \u003d cls.admin_snapshots_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"25607c2e_980c950c","line":39,"range":{"start_line":39,"start_character":16,"end_line":39,"end_character":46},"in_reply_to":"7ea187f1_168faa9a","updated":"2026-07-02 12:00:18.000000000","message":"Done","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"}],"tempest/api/volume/admin/test_volume_quotas.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e9970422e5251fd72cf0816dd26251fb5f98010c","unresolved":true,"context_lines":[{"line_number":44,"context_line":"        cls.transfer_client \u003d cls.os_primary.volume_transfers_client_latest"},{"line_number":45,"context_line":"        cls.alt_transfer_client \u003d cls.os_alt.volume_transfers_client_latest"},{"line_number":46,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":47,"context_line":"            cls.reader_admin_quotas_client \u003d ("},{"line_number":48,"context_line":"                cls.os_project_reader.volume_quotas_client_latest)"},{"line_number":49,"context_line":"        else:"},{"line_number":50,"context_line":"            cls.reader_admin_quotas_client \u003d cls.admin_quotas_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"7b844fb3_08f6f564","line":47,"range":{"start_line":47,"start_character":16,"end_line":47,"end_character":43},"updated":"2026-06-24 20:29:28.000000000","message":"ditto","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"c61dfb4946ad1368e3ffa67089cf4c01dcf91355","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        cls.transfer_client \u003d cls.os_primary.volume_transfers_client_latest"},{"line_number":45,"context_line":"        cls.alt_transfer_client \u003d cls.os_alt.volume_transfers_client_latest"},{"line_number":46,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":47,"context_line":"            cls.reader_admin_quotas_client \u003d ("},{"line_number":48,"context_line":"                cls.os_project_reader.volume_quotas_client_latest)"},{"line_number":49,"context_line":"        else:"},{"line_number":50,"context_line":"            cls.reader_admin_quotas_client \u003d cls.admin_quotas_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"2d5db85a_1cb4b2c8","line":47,"range":{"start_line":47,"start_character":16,"end_line":47,"end_character":43},"in_reply_to":"7b844fb3_08f6f564","updated":"2026-07-02 12:00:18.000000000","message":"Done","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"}],"tempest/api/volume/admin/test_volume_quotas_negative.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e9970422e5251fd72cf0816dd26251fb5f98010c","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    def setup_clients(cls):"},{"line_number":38,"context_line":"        super(VolumeQuotasNegativeTestJSON, cls).setup_clients()"},{"line_number":39,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":40,"context_line":"            cls.reader_admin_quotas_client \u003d ("},{"line_number":41,"context_line":"                cls.os_project_reader.volume_quotas_client_latest)"},{"line_number":42,"context_line":"        else:"},{"line_number":43,"context_line":"            cls.reader_admin_quotas_client \u003d cls.admin_quotas_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"f33c4121_8df5af10","line":40,"range":{"start_line":40,"start_character":16,"end_line":40,"end_character":43},"updated":"2026-06-24 20:29:28.000000000","message":"ditto","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"c61dfb4946ad1368e3ffa67089cf4c01dcf91355","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    def setup_clients(cls):"},{"line_number":38,"context_line":"        super(VolumeQuotasNegativeTestJSON, cls).setup_clients()"},{"line_number":39,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":40,"context_line":"            cls.reader_admin_quotas_client \u003d ("},{"line_number":41,"context_line":"                cls.os_project_reader.volume_quotas_client_latest)"},{"line_number":42,"context_line":"        else:"},{"line_number":43,"context_line":"            cls.reader_admin_quotas_client \u003d cls.admin_quotas_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"c414c595_0c113c9e","line":40,"range":{"start_line":40,"start_character":16,"end_line":40,"end_character":43},"in_reply_to":"f33c4121_8df5af10","updated":"2026-07-02 12:00:18.000000000","message":"Done","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"}],"tempest/api/volume/admin/test_volume_retype.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e9970422e5251fd72cf0816dd26251fb5f98010c","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    def setup_clients(cls):"},{"line_number":34,"context_line":"        super(VolumeRetypeTest, cls).setup_clients()"},{"line_number":35,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":36,"context_line":"            cls.reader_admin_volume_client \u003d ("},{"line_number":37,"context_line":"                cls.os_project_reader.volumes_client_latest)"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            cls.reader_admin_volume_client \u003d cls.admin_volume_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"8d524ec9_3eb9d516","line":36,"range":{"start_line":36,"start_character":16,"end_line":36,"end_character":43},"updated":"2026-06-24 20:29:28.000000000","message":"ditto, we can use it from base class","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"c61dfb4946ad1368e3ffa67089cf4c01dcf91355","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    def setup_clients(cls):"},{"line_number":34,"context_line":"        super(VolumeRetypeTest, cls).setup_clients()"},{"line_number":35,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":36,"context_line":"            cls.reader_admin_volume_client \u003d ("},{"line_number":37,"context_line":"                cls.os_project_reader.volumes_client_latest)"},{"line_number":38,"context_line":"        else:"},{"line_number":39,"context_line":"            cls.reader_admin_volume_client \u003d cls.admin_volume_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"68fe6f89_323dc96a","line":36,"range":{"start_line":36,"start_character":16,"end_line":36,"end_character":43},"in_reply_to":"8d524ec9_3eb9d516","updated":"2026-07-02 12:00:18.000000000","message":"Done","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"}],"tempest/api/volume/admin/test_volume_snapshot_quotas_negative.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e9970422e5251fd72cf0816dd26251fb5f98010c","unresolved":true,"context_lines":[{"line_number":43,"context_line":"    def setup_clients(cls):"},{"line_number":44,"context_line":"        super(VolumeSnapshotQuotasNegativeTestJSON, cls).setup_clients()"},{"line_number":45,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":46,"context_line":"            cls.reader_admin_quotas_client \u003d ("},{"line_number":47,"context_line":"                cls.os_project_reader.volume_quotas_client_latest)"},{"line_number":48,"context_line":"        else:"},{"line_number":49,"context_line":"            cls.reader_admin_quotas_client \u003d cls.admin_quotas_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"ad4fe983_73f0f4e7","line":46,"range":{"start_line":46,"start_character":16,"end_line":46,"end_character":43},"updated":"2026-06-24 20:29:28.000000000","message":"ditto and other places also if any","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"},{"author":{"_account_id":32102,"name":"Manpreet Kaur","email":"kaurmanpreet2620@gmail.com","username":"manpreet"},"change_message_id":"c61dfb4946ad1368e3ffa67089cf4c01dcf91355","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    def setup_clients(cls):"},{"line_number":44,"context_line":"        super(VolumeSnapshotQuotasNegativeTestJSON, cls).setup_clients()"},{"line_number":45,"context_line":"        if CONF.enforce_scope.cinder:"},{"line_number":46,"context_line":"            cls.reader_admin_quotas_client \u003d ("},{"line_number":47,"context_line":"                cls.os_project_reader.volume_quotas_client_latest)"},{"line_number":48,"context_line":"        else:"},{"line_number":49,"context_line":"            cls.reader_admin_quotas_client \u003d cls.admin_quotas_client"}],"source_content_type":"text/x-python","patch_set":5,"id":"a356c4a2_31dd9279","line":46,"range":{"start_line":46,"start_character":16,"end_line":46,"end_character":43},"in_reply_to":"ad4fe983_73f0f4e7","updated":"2026-07-02 12:00:18.000000000","message":"Done! Required changes are taken care.","commit_id":"00a9a81c6f4f15b1a6289c02e3b66f3726f8980c"}]}
