)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"650ce534508425df0bff53cb40db106a3212ff39","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Rajat Dhasmana \u003crajatdhasmana@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-03-05 03:36:30 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use normal credentials for legacy image update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When updating legacy images, we use the user\u0027s context and elevate"},{"line_number":10,"context_line":"priviledges. However, neither do we require admin priviledges for"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"a672d9df_582b5c97","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":2},"updated":"2024-03-05 05:23:55.000000000","message":"We should report bug in glance-store and backport it to previous release(s) as well","commit_id":"520076019319da897de5cd4747291b2f1f9aa60e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4efa5d688eb2d4615feb6585563972d5c28db35f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rajat Dhasmana \u003crajatdhasmana@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-03-05 03:36:30 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Use normal credentials for legacy image update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When updating legacy images, we use the user\u0027s context and elevate"},{"line_number":10,"context_line":"priviledges. However, neither do we require admin priviledges for"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"301acea5_30c07d4a","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":2},"in_reply_to":"a672d9df_582b5c97","updated":"2024-03-05 12:20:42.000000000","message":"Done","commit_id":"520076019319da897de5cd4747291b2f1f9aa60e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"650ce534508425df0bff53cb40db106a3212ff39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1cfc590f_c3da20ec","updated":"2024-03-05 05:23:55.000000000","message":"Need bug and fix in tests as well.","commit_id":"520076019319da897de5cd4747291b2f1f9aa60e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"90e758c52c2b49fe0ebd5477328138990df2907c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"29693b7d_40a64a4a","updated":"2024-03-05 14:06:38.000000000","message":"Just a question inside.","commit_id":"82aee3b195bad7db3647a517bad84e994672aa56"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"4efa5d688eb2d4615feb6585563972d5c28db35f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"99238058_d59fc568","updated":"2024-03-05 12:20:42.000000000","message":"Thanks Abhishek for the review. created a bug, updated tests, added releasenote.","commit_id":"82aee3b195bad7db3647a517bad84e994672aa56"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"87161e5788e49b5c590ff12f33436895b2d993fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c6176fcb_b2345b87","updated":"2024-03-05 12:48:15.000000000","message":"Thanks Rajat !","commit_id":"82aee3b195bad7db3647a517bad84e994672aa56"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d6afbc89442f61248770895c1607e8b35266e951","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"05465b07_da0a1cb1","updated":"2024-03-06 06:44:30.000000000","message":"It is broken on upgrade case, cinder url is not updating while upgrading from single store to multiple store.\n\nNeed to verify logic while performing lazy_loading on get call.","commit_id":"4de86d30a4a208e2fe25507b70e44867b2877564"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"a80d1751f35a9cc835e40655cc1af9c6caee6a3e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4ee3df7e_fa4744bb","updated":"2024-03-05 18:05:03.000000000","message":"Thank you!","commit_id":"4de86d30a4a208e2fe25507b70e44867b2877564"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"22135abbb756baaba0fa1b47168d1db79f92223f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"464f1ac1_80c00613","updated":"2024-03-07 13:05:14.000000000","message":"Verified the Upgrade scenario. Thanks Rajat !!","commit_id":"4de86d30a4a208e2fe25507b70e44867b2877564"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"b3542f580cfcc9822242d998c84b2ff31a64d29d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1a091efd_2279486a","in_reply_to":"05465b07_da0a1cb1","updated":"2024-03-07 12:50:48.000000000","message":"The testing was done with the following details:\n\n1. single store: used context instead of service credentials in config\nresult: the image-volume was created in admin project with admin user\n\nAfter upgrade\n\n2. multi store: used service credentials in config\nresult: not able to update url since glance was searching for in \u0027service\u0027 project with \u0027glance\u0027 user but the image-volume was in \u0027admin\u0027 project\n\nTested this again with the following details:\n\n1. single store: used service credentials in config\nresult: the image-volume was created in service project with glance user\n\nAfter upgrade\n\n2. multi store: used service credentials in config\nresult: location was updated successfully from cinder://\u003cvol-id\u003e to cinder://\u003cstore-id\u003e/\u003cvol-id\u003e","commit_id":"4de86d30a4a208e2fe25507b70e44867b2877564"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"af0720e77a7fb2198467a5c444638f1ca62fa56f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e1535fb8_833dbbe5","in_reply_to":"1a091efd_2279486a","updated":"2024-03-08 09:03:15.000000000","message":"I still think we need something to offer for scenario 1 mentioned here. What if deployer has single store configured without service credentials in config?\n\nAlso I would like to test one more scenario;\nsinge store use context instead of service credentials in config\nupgrade\nmultistore use context instead of service credentials in config","commit_id":"4de86d30a4a208e2fe25507b70e44867b2877564"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"85f0dc6f927f77c789cae02c8eca8a42614a9fb9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ddef069b_6d48f0b8","updated":"2024-04-04 14:34:34.000000000","message":"-1 for test coverage","commit_id":"5062a9210ac90760062fe381a544d301bb5f15ca"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c09a98370d80127cfb03f627b337ffbf58b61a69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e83e7bdb_cd38c26c","updated":"2024-03-11 19:27:10.000000000","message":"As discussed, added a warning when the location fails to update because of wrong credentials being used.\nNeed to test this patch in upgrade scenario where\nSingle store doesn\u0027t have service credentials in config file\nMulti store has service credentials in config file","commit_id":"5062a9210ac90760062fe381a544d301bb5f15ca"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ee82f5074f1cc9bd5f4b2bad973778f7b58d65df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"96d2a853_9ca7e006","updated":"2024-03-11 19:40:43.000000000","message":"Will vote once manual test is performed","commit_id":"5062a9210ac90760062fe381a544d301bb5f15ca"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"74ac19bfdc654ab97bf49155f4a5355f10f5ce39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"67987958_c4f7c1a5","in_reply_to":"96d2a853_9ca7e006","updated":"2024-04-04 14:23:02.000000000","message":"I have tested it locally, and works as expected.\nhttps://paste.opendev.org/show/b5lj3rXD5hV7BNIoww0c/","commit_id":"5062a9210ac90760062fe381a544d301bb5f15ca"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4b3c0e37f686053c5e16603147a872765b359120","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"34ffa878_96453d5a","updated":"2024-04-09 05:04:34.000000000","message":"Looks good, thank you for the test.\nOne suggestion inline!!","commit_id":"392217486ffc5383b5b12d7cc83a9554fb9bb2dd"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"36e28af9c3810f9f387a97c33ba44640384ff4ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1e874da7_1115ba36","updated":"2024-04-08 18:07:29.000000000","message":"Thanks Abhishek","commit_id":"392217486ffc5383b5b12d7cc83a9554fb9bb2dd"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"6b1f134259843f15cd1e76b47fc602550edd2d92","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"acdf67f9_b673329e","updated":"2024-04-22 10:31:52.000000000","message":"Thank you Rajat !","commit_id":"c2b7b78d4ff55ea079ea6172241011edc68f5b23"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3591009e0829dd23b11014495bde2adc3684be5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"670d5ca0_7a03f2f0","updated":"2024-04-09 06:02:55.000000000","message":"Thanks Abhishek","commit_id":"c2b7b78d4ff55ea079ea6172241011edc68f5b23"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ea9857d00edf8e5ea1d7f1a58d2929983eb095c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1c97ae74_d3fa53c2","updated":"2024-04-09 06:30:07.000000000","message":"thank you!","commit_id":"c2b7b78d4ff55ea079ea6172241011edc68f5b23"}],"glance_store/_drivers/cinder/store.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c4ab8ad40a694c13631828ab11ecfa76417b12be","unresolved":true,"context_lines":[{"line_number":555,"context_line":"        If above both conditions doesn\u0027t meet, it returns false."},{"line_number":556,"context_line":"        \"\"\""},{"line_number":557,"context_line":"        try:"},{"line_number":558,"context_line":"            cinder_client \u003d self.get_cinderclient(context\u003dcontext)"},{"line_number":559,"context_line":"            cinder_volume_type \u003d self.store_conf.cinder_volume_type"},{"line_number":560,"context_line":"            volume \u003d cinder_client.volumes.get(volume_id)"},{"line_number":561,"context_line":"            if cinder_volume_type and volume.volume_type \u003d\u003d cinder_volume_type:"}],"source_content_type":"text/x-python","patch_set":1,"id":"677d68c0_08eab03f","line":558,"range":{"start_line":558,"start_character":12,"end_line":558,"end_character":66},"updated":"2024-03-04 22:32:11.000000000","message":"When performing upload volume to image operation in optimized way, there is a corner case where this could be problematic.\nIf we don\u0027t set image_upload_use_internal_tenant, then while cloning image-volume, it will have the context\u0027s user and project and we might not be able to fetch the volume if it doesn\u0027t match with the credentials configured on the glance side (if not using context).\n\nHowever, in an ideal deployment, we should always store the image-volumes in internal tenant and the values for internal tenant on cinder side (user: cinder, project: service) should match the ones configured in glance-api.conf file else the image-volume\u0027s will start showing up in user\u0027s project and that could be a vulnerability issue.","commit_id":"520076019319da897de5cd4747291b2f1f9aa60e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"57176d38c49b140d486dc256db70278a403dd825","unresolved":false,"context_lines":[{"line_number":555,"context_line":"        If above both conditions doesn\u0027t meet, it returns false."},{"line_number":556,"context_line":"        \"\"\""},{"line_number":557,"context_line":"        try:"},{"line_number":558,"context_line":"            cinder_client \u003d self.get_cinderclient(context\u003dcontext)"},{"line_number":559,"context_line":"            cinder_volume_type \u003d self.store_conf.cinder_volume_type"},{"line_number":560,"context_line":"            volume \u003d cinder_client.volumes.get(volume_id)"},{"line_number":561,"context_line":"            if cinder_volume_type and volume.volume_type \u003d\u003d cinder_volume_type:"}],"source_content_type":"text/x-python","patch_set":1,"id":"b223397d_8c6a4cd1","line":558,"range":{"start_line":558,"start_character":12,"end_line":558,"end_character":66},"in_reply_to":"677d68c0_08eab03f","updated":"2024-03-05 12:21:01.000000000","message":"Mentioned it in comments","commit_id":"520076019319da897de5cd4747291b2f1f9aa60e"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4b3c0e37f686053c5e16603147a872765b359120","unresolved":true,"context_lines":[{"line_number":577,"context_line":"                              \"project.\""},{"line_number":578,"context_line":"                          % volume_id))"},{"line_number":579,"context_line":"                LOG.warning(reason)"},{"line_number":580,"context_line":"                raise exceptions.NotFound(reason)"},{"line_number":581,"context_line":"            if cinder_volume_type and volume.volume_type \u003d\u003d cinder_volume_type:"},{"line_number":582,"context_line":"                return True"},{"line_number":583,"context_line":"            elif not cinder_volume_type:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7dfc1e29_f3d75eec","line":580,"range":{"start_line":580,"start_character":42,"end_line":580,"end_character":48},"updated":"2024-04-09 05:04:34.000000000","message":"I think you should not suppress original message, it should be prefixed/suffixed to new one.","commit_id":"392217486ffc5383b5b12d7cc83a9554fb9bb2dd"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"3591009e0829dd23b11014495bde2adc3684be5a","unresolved":false,"context_lines":[{"line_number":577,"context_line":"                              \"project.\""},{"line_number":578,"context_line":"                          % volume_id))"},{"line_number":579,"context_line":"                LOG.warning(reason)"},{"line_number":580,"context_line":"                raise exceptions.NotFound(reason)"},{"line_number":581,"context_line":"            if cinder_volume_type and volume.volume_type \u003d\u003d cinder_volume_type:"},{"line_number":582,"context_line":"                return True"},{"line_number":583,"context_line":"            elif not cinder_volume_type:"}],"source_content_type":"text/x-python","patch_set":5,"id":"bb8a8003_8b02e642","line":580,"range":{"start_line":580,"start_character":42,"end_line":580,"end_character":48},"in_reply_to":"7dfc1e29_f3d75eec","updated":"2024-04-09 06:02:55.000000000","message":"The exception raised here wasn\u0027t logging anything and the warning message included the actual exception from cinder, so I\u0027ve removed the raise part and instead just return False here.\n\nApr 09 05:54:51 pranali-new-devstack devstack@g-api.service[1662198]: WARNING glance_store._drivers.cinder.store [None req-61304280-3c79-4158-b133-0fa8a152816b admin admin] Image-Volume 43249425-1533-4702-8290-502fc6ef556d not found. If you have upgraded your environment from single store to multi store, migrate all your Image-Volumes from user projects to service project.: cinderclient.exceptions.NotFound: Volume 43249425-1533-4702-8290-502fc6ef556d could not be found. (HTTP 404) (Request-ID: req-c51547da-ccb6-40b8-bebc-b3566e9e737e)","commit_id":"392217486ffc5383b5b12d7cc83a9554fb9bb2dd"}],"glance_store/tests/unit/cinder/test_multistore_cinder.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"90e758c52c2b49fe0ebd5477328138990df2907c","unresolved":true,"context_lines":[{"line_number":114,"context_line":"    def test_get_cinderclient_legacy_update(self):"},{"line_number":115,"context_line":"        fake_endpoint \u003d \u0027http://cinder.openstack.example.com/v2/fake_project\u0027"},{"line_number":116,"context_line":"        self.config(cinder_endpoint_template\u003dfake_endpoint, group\u003d\u0027cinder1\u0027)"},{"line_number":117,"context_line":"        cc \u003d self.store.get_cinderclient(self.fake_admin_context)"},{"line_number":118,"context_line":"        self.assertEqual(self.fake_admin_context.auth_token,"},{"line_number":119,"context_line":"                         cc.client.auth.token)"},{"line_number":120,"context_line":"        self.assertEqual(fake_endpoint, cc.client.auth.endpoint)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ee359d11_48b068cd","line":117,"range":{"start_line":117,"start_character":46,"end_line":117,"end_character":64},"updated":"2024-03-05 14:06:38.000000000","message":"Shouldn\u0027t we pass normal context here?","commit_id":"82aee3b195bad7db3647a517bad84e994672aa56"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"ddf24257363d41afd2168b6357d007e9f54ae16e","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    def test_get_cinderclient_legacy_update(self):"},{"line_number":115,"context_line":"        fake_endpoint \u003d \u0027http://cinder.openstack.example.com/v2/fake_project\u0027"},{"line_number":116,"context_line":"        self.config(cinder_endpoint_template\u003dfake_endpoint, group\u003d\u0027cinder1\u0027)"},{"line_number":117,"context_line":"        cc \u003d self.store.get_cinderclient(self.fake_admin_context)"},{"line_number":118,"context_line":"        self.assertEqual(self.fake_admin_context.auth_token,"},{"line_number":119,"context_line":"                         cc.client.auth.token)"},{"line_number":120,"context_line":"        self.assertEqual(fake_endpoint, cc.client.auth.endpoint)"}],"source_content_type":"text/x-python","patch_set":2,"id":"a5d09dfe_c226b852","line":117,"range":{"start_line":117,"start_character":46,"end_line":117,"end_character":64},"in_reply_to":"ee359d11_48b068cd","updated":"2024-03-05 15:09:46.000000000","message":"you are right, we don\u0027t need the admin context anymore","commit_id":"82aee3b195bad7db3647a517bad84e994672aa56"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ee82f5074f1cc9bd5f4b2bad973778f7b58d65df","unresolved":true,"context_lines":[{"line_number":118,"context_line":"        self.assertEqual(self.context.auth_token,"},{"line_number":119,"context_line":"                         cc.client.auth.token)"},{"line_number":120,"context_line":"        self.assertEqual(fake_endpoint, cc.client.auth.endpoint)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def test_open_cinder_volume_multipath_enabled(self):"},{"line_number":123,"context_line":"        self.config(cinder_use_multipath\u003dTrue, group\u003d\u0027cinder1\u0027)"},{"line_number":124,"context_line":"        self._test_open_cinder_volume(\u0027wb\u0027, \u0027rw\u0027, None,"}],"source_content_type":"text/x-python","patch_set":4,"id":"94d45c88_b51a8806","line":121,"updated":"2024-03-11 19:40:43.000000000","message":"I think we also have a test to check warning is logged.","commit_id":"5062a9210ac90760062fe381a544d301bb5f15ca"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"36e28af9c3810f9f387a97c33ba44640384ff4ff","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        self.assertEqual(self.context.auth_token,"},{"line_number":119,"context_line":"                         cc.client.auth.token)"},{"line_number":120,"context_line":"        self.assertEqual(fake_endpoint, cc.client.auth.endpoint)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def test_open_cinder_volume_multipath_enabled(self):"},{"line_number":123,"context_line":"        self.config(cinder_use_multipath\u003dTrue, group\u003d\u0027cinder1\u0027)"},{"line_number":124,"context_line":"        self._test_open_cinder_volume(\u0027wb\u0027, \u0027rw\u0027, None,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3bd66330_709d0597","line":121,"in_reply_to":"94d45c88_b51a8806","updated":"2024-04-08 18:07:29.000000000","message":"Done","commit_id":"5062a9210ac90760062fe381a544d301bb5f15ca"}]}
