)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c9295f95e7c83eba12675074cffba4989cacf3ee","unresolved":true,"context_lines":[{"line_number":12,"context_line":"check. The contexts currently rely on passing the deprecated \"owner\""},{"line_number":13,"context_line":"rule, which simply checks the project_id. However, these contexts"},{"line_number":14,"context_line":"do not contain a list of roles, and therefore the policy check will"},{"line_number":15,"context_line":"fail when the \"owner\" rule is removed in zed."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The patch contains two components:"},{"line_number":18,"context_line":"1. Eliminate locally declared context objects when an equivalent"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7ca858d2_174b2c43","line":15,"range":{"start_line":15,"start_character":5,"end_line":15,"end_character":45},"updated":"2026-06-16 13:26:57.000000000","message":"I guess this didn\u0027t happen, we should update the info to be current?","commit_id":"d8f000543e1312d7bdab68a406f6a9d18f52046a"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"64fd7fabb60275714ea44bfc7778b8a7b7097eb4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"91f1b97b_433093d8","updated":"2022-02-17 10:53:03.000000000","message":"run-DellEMC SC CI","commit_id":"59aa9ef0bec6a865a22b61b85bdd0a7693a70cd8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366e17600fdc5ea3e453873d1bdd4b4009b3b2ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"60d19344_e71af092","updated":"2022-09-13 18:47:00.000000000","message":"This looks good.  Most of the comments voice my agreement with your changes.  The only thing I think you need to address is in cinder/tests/unit/api/fakes.py (line 74), which will cause problems for mypy eventually.  (I\u0027d say do it in a followup except that you\u0027ve made the change everywhere else already on this patch, so it should be part of this change.)","commit_id":"36934f2facbfa8c2a63d71ddc402f3ebad82b115"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"1e4f9e249f63c618bd4483b414364ba371697079","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"92ae64c4_f4b0d189","updated":"2022-09-13 19:15:36.000000000","message":"Revision LGTM.","commit_id":"5168cd214b385f93502ff2aeaad66a8ea563bb07"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"4229e05a790acf669a0a17dcfd3014eadd930bec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"23d666d0_0ea40c5f","updated":"2026-05-26 09:39:28.000000000","message":"fixed the conflicts","commit_id":"167d42e9793dc99c2d176294b5ae71475c7cd9a4"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"256e5c4b8cf1a03b93584e6229b742d437d07fcb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2e392f9e_cac03126","updated":"2026-05-26 15:25:28.000000000","message":"added patch https://review.opendev.org/c/openstack/cinder/+/990130 to fix this\n\n```\n2026-05-26 14:22:11.485786 | ubuntu-noble | cinder/volume/manager.py:307: error: Unused \"type: ignore\" comment\n2026-05-26 14:22:11.485837 | ubuntu-noble | [unused-ignore]\n2026-05-26 14:22:11.485850 | ubuntu-noble |                 rpu \u003d requests.packages.urllib3  # type: ignore\n2026-05-26 14:22:11.485860 | ubuntu-noble |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n2026-05-26 14:22:11.485876 |\n\n```","commit_id":"f1a88909ea6abc4faeb162438e9d1e239ffb1182"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"9d422c3ea4b6bf5e9f209459a9a4464b3c46d373","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"f6db9d76_6fa9f2ae","updated":"2026-06-09 13:39:14.000000000","message":"Needs rebase","commit_id":"c1e201f08b3f5693906ed27800200de3fc884b24"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"681ae12ffa6b8d0f681d539313f32b7b9c099f0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"5bab9b9f_a04872d9","updated":"2026-06-16 08:48:50.000000000","message":"@jobernar@redhat.com @rosmaita.fossdev@gmail.com, I dont have button to but would like to priotize this for reviews.\n\nI think this is a good value addition","commit_id":"d8f000543e1312d7bdab68a406f6a9d18f52046a"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"54b501b729c621b0e61c210a7f1c133eed2f73c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"de55ea9c_b9557dc5","updated":"2026-06-25 08:01:20.000000000","message":"why mutable object is used as default argument value? any changes to this object will be reflected to all function call. Is it intended?","commit_id":"d8f000543e1312d7bdab68a406f6a9d18f52046a"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"33ae7fadeb53f327db6b1d11ba368550d1deb313","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":11,"id":"e869123a_cdcb3ac5","in_reply_to":"5bab9b9f_a04872d9","updated":"2026-06-16 08:51:20.000000000","message":"it had +2 already from Brian, but with time merge conflicts occurred, I have recently rebased it.\ncan we please prioritize this for reviews","commit_id":"d8f000543e1312d7bdab68a406f6a9d18f52046a"}],"cinder/tests/unit/api/contrib/test_extended_snapshot_attributes.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366e17600fdc5ea3e453873d1bdd4b4009b3b2ca","unresolved":true,"context_lines":[{"line_number":63,"context_line":"    def setUp(self):"},{"line_number":64,"context_line":"        super(ExtendedSnapshotAttributesTest, self).setUp()"},{"line_number":65,"context_line":"        self.user_ctxt \u003d context.RequestContext("},{"line_number":66,"context_line":"            fake.USER_ID, fake.PROJECT_ID, auth_token\u003dTrue)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    def _make_request(self, url):"},{"line_number":69,"context_line":"        req \u003d webob.Request.blank(url)"}],"source_content_type":"text/x-python","patch_set":5,"id":"d8a76293_64ba25c2","side":"PARENT","line":66,"range":{"start_line":66,"start_character":43,"end_line":66,"end_character":58},"updated":"2022-09-13 18:47:00.000000000","message":"At first I thought you missed something, but the cinder.context.RC doesn\u0027t have this as a parameter, so it would be passed in the kwargs to the superclass, but there it\u0027s annotated to be an Optional[str] type [0].  I\u0027m not sure what we thought this was supposed to do, but I agree with your decision to remove it.\n\n\n[0] https://opendev.org/openstack/oslo.context/src/commit/926dd4d9811792e3b247a7f6bf8ce04a14b99c59/oslo_context/context.py#L192","commit_id":"2aa4922bdd171143bc2346f180d1ddfc2d0cbbce"}],"cinder/tests/unit/api/contrib/test_volume_transfer.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366e17600fdc5ea3e453873d1bdd4b4009b3b2ca","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        self.volume_transfer_api \u003d cinder.transfer.API()"},{"line_number":43,"context_line":"        self.controller \u003d volume_transfer.VolumeTransferController()"},{"line_number":44,"context_line":"        self.user_ctxt \u003d context.RequestContext("},{"line_number":45,"context_line":"            fake.USER_ID, fake.PROJECT_ID, auth_token\u003dTrue, is_admin\u003dTrue)"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def _create_transfer(self, volume_id\u003dfake.VOLUME_ID,"},{"line_number":48,"context_line":"                         display_name\u003d\u0027test_transfer\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"867ce9fa_2f65660e","side":"PARENT","line":45,"range":{"start_line":45,"start_character":60,"end_line":45,"end_character":73},"updated":"2022-09-13 18:47:00.000000000","message":"Looks like we weren\u0027t really working with a user context here!  Glad to see that the tests still passed using only a user context.","commit_id":"2aa4922bdd171143bc2346f180d1ddfc2d0cbbce"}],"cinder/tests/unit/api/fakes.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366e17600fdc5ea3e453873d1bdd4b4009b3b2ca","unresolved":true,"context_lines":[{"line_number":71,"context_line":"            ctxt \u003d fake_auth_context"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            ctxt \u003d context.RequestContext(fake.USER_ID, fake.PROJECT_ID,"},{"line_number":74,"context_line":"                                          auth_token\u003dTrue,"},{"line_number":75,"context_line":"                                          roles\u003d[\u0027member\u0027, \u0027reader\u0027])"},{"line_number":76,"context_line":"        api_v3 \u003d fault.FaultWrapper(auth.InjectContext(ctxt,"},{"line_number":77,"context_line":"                                                       inner_app_v3))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aace36d_7ca1b9e8","line":74,"range":{"start_line":74,"start_character":42,"end_line":74,"end_character":58},"updated":"2022-09-13 18:47:00.000000000","message":"I think you should remove this (like you have everywhere else so far).  See my comment at https://review.opendev.org/c/openstack/cinder/+/828805/5/cinder/tests/unit/api/contrib/test_extended_snapshot_attributes.py#b66","commit_id":"36934f2facbfa8c2a63d71ddc402f3ebad82b115"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366e17600fdc5ea3e453873d1bdd4b4009b3b2ca","unresolved":true,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"class FakeRequestContext(context.RequestContext):"},{"line_number":105,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":106,"context_line":"        kwargs[\u0027auth_token\u0027] \u003d kwargs.get(fake.USER_ID, fake.PROJECT_ID)"},{"line_number":107,"context_line":"        super(FakeRequestContext, self).__init__(*args, **kwargs)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"be8fc3d6_48315a9b","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":72},"updated":"2022-09-13 18:47:00.000000000","message":"Not part of your change, but this is super-weird.  fake.USER_ID is a string representation of a UUID in canonical form (very unlikely to be a key in kwargs!), so this is just going to set the auth token in the context to fake.PROJECT_ID.","commit_id":"36934f2facbfa8c2a63d71ddc402f3ebad82b115"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"4fdd3d17cde920beef8897036171264e9e449425","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"class FakeRequestContext(context.RequestContext):"},{"line_number":105,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":106,"context_line":"        kwargs[\u0027auth_token\u0027] \u003d kwargs.get(fake.USER_ID, fake.PROJECT_ID)"},{"line_number":107,"context_line":"        super(FakeRequestContext, self).__init__(*args, **kwargs)"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"f3442617_2da1b568","line":106,"range":{"start_line":106,"start_character":8,"end_line":106,"end_character":72},"in_reply_to":"be8fc3d6_48315a9b","updated":"2022-09-13 19:03:30.000000000","message":"Done","commit_id":"36934f2facbfa8c2a63d71ddc402f3ebad82b115"}],"cinder/tests/unit/api/v3/test_snapshots.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366e17600fdc5ea3e453873d1bdd4b4009b3b2ca","unresolved":true,"context_lines":[{"line_number":191,"context_line":"        test_utils.create_snapshot(self.user_ctxt, volume1.id)"},{"line_number":192,"context_line":"        other_ctxt \u003d test_utils.get_test_user_context("},{"line_number":193,"context_line":"            project_id\u003dfake.PROJECT2_ID)"},{"line_number":194,"context_line":"        volume2 \u003d test_utils.create_volume(other_ctxt,"},{"line_number":195,"context_line":"                                           project\u003dfake.PROJECT2_ID)"},{"line_number":196,"context_line":"        test_utils.create_snapshot(other_ctxt, volume2.id)"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"41d67ad3_108e2e98","line":194,"range":{"start_line":194,"start_character":43,"end_line":194,"end_character":53},"updated":"2022-09-13 18:47:00.000000000","message":"This is slightly different because volume2 was created with an admin context in the base patch, but the way you\u0027re doing it here makes more sense.","commit_id":"36934f2facbfa8c2a63d71ddc402f3ebad82b115"}],"cinder/tests/unit/api/v3/test_volume_transfer.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366e17600fdc5ea3e453873d1bdd4b4009b3b2ca","unresolved":true,"context_lines":[{"line_number":53,"context_line":"        self.controller \u003d volume_transfer.VolumeTransferController()"},{"line_number":54,"context_line":"        self.v3_controller \u003d volume_transfer_v3.VolumeTransferController()"},{"line_number":55,"context_line":"        self.user_ctxt \u003d context.RequestContext("},{"line_number":56,"context_line":"            fake.USER_ID, fake.PROJECT_ID, auth_token\u003dTrue, is_admin\u003dTrue)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def _create_transfer(self, volume_id\u003dfake.VOLUME_ID,"},{"line_number":59,"context_line":"                         display_name\u003d\u0027test_transfer\u0027):"}],"source_content_type":"text/x-python","patch_set":5,"id":"af1cd6a8_6da027c9","side":"PARENT","line":56,"range":{"start_line":56,"start_character":60,"end_line":56,"end_character":73},"updated":"2022-09-13 18:47:00.000000000","message":"Another one of these things called user_ctxt that is really an admin context!","commit_id":"2aa4922bdd171143bc2346f180d1ddfc2d0cbbce"}],"cinder/tests/unit/backup/test_backup.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"366e17600fdc5ea3e453873d1bdd4b4009b3b2ca","unresolved":true,"context_lines":[{"line_number":1976,"context_line":""},{"line_number":1977,"context_line":"    @mock.patch.object(objects, \u0027BackupList\u0027)"},{"line_number":1978,"context_line":"    def test_get_all_true_value_all_tenants_non_admin(self, mock_backuplist):"},{"line_number":1979,"context_line":"        ctxt \u003d context.RequestContext(uuid.uuid4(), uuid.uuid4())"},{"line_number":1980,"context_line":"        result \u003d self.api.get_all(ctxt, {\u0027all_tenants\u0027: \u00271\u0027,"},{"line_number":1981,"context_line":"                                         \u0027key\u0027: \u0027value\u0027})"},{"line_number":1982,"context_line":"        self.assertFalse(mock_backuplist.get_all.called)"}],"source_content_type":"text/x-python","patch_set":5,"id":"e78f3cdf_f2920602","side":"PARENT","line":1979,"range":{"start_line":1979,"start_character":38,"end_line":1979,"end_character":64},"updated":"2022-09-13 18:47:00.000000000","message":"The random user/project ids don\u0027t bring anything to this test, good call to remove them.","commit_id":"2aa4922bdd171143bc2346f180d1ddfc2d0cbbce"}],"cinder/tests/unit/utils.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"54b501b729c621b0e61c210a7f1c133eed2f73c0","unresolved":true,"context_lines":[{"line_number":42,"context_line":"def get_test_context(user_id\u003dfake.USER_ID,"},{"line_number":43,"context_line":"                     project_id\u003dfake.PROJECT_ID,"},{"line_number":44,"context_line":"                     roles\u003d[\u0027member\u0027, \u0027reader\u0027],"},{"line_number":45,"context_line":"                     # secure RBAC will eventually include a default scope"},{"line_number":46,"context_line":"                     **kwargs):"},{"line_number":47,"context_line":"    ctxt \u003d context.RequestContext(user_id\u003duser_id,"},{"line_number":48,"context_line":"                                  project_id\u003dproject_id,"}],"source_content_type":"text/x-python","patch_set":11,"id":"b8e4d28c_a781742b","line":45,"updated":"2026-06-25 08:01:20.000000000","message":"why mutable object is used as default argument value? any changes to this object will be reflected to all function call. Is it intended?","commit_id":"d8f000543e1312d7bdab68a406f6a9d18f52046a"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"54b501b729c621b0e61c210a7f1c133eed2f73c0","unresolved":true,"context_lines":[{"line_number":55,"context_line":"    return get_test_context(**kwargs)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"def get_test_admin_context(roles\u003d[\u0027admin\u0027, \u0027member\u0027, \u0027reader\u0027], **kwargs):"},{"line_number":59,"context_line":"    return get_test_context(roles\u003droles, is_admin\u003dTrue, **kwargs)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"ff0a26ac_c712be6c","line":58,"updated":"2026-06-25 08:01:20.000000000","message":"why mutable object is used as default argument value? any changes to this object will be reflected to all function call. Is it intended?","commit_id":"d8f000543e1312d7bdab68a406f6a9d18f52046a"}]}
