)]}'
{"glance/api/v2/images.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ec0c78540b4f39c97f155ea3c8dba50707fc2dbc","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                      \u0027backend\u0027: stores}"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        if import_method \u003d\u003d \u0027copy-image\u0027:"},{"line_number":189,"context_line":"            # If this is a copy-image import and we passed the policy check,"},{"line_number":190,"context_line":"            # grab an admin context for the task so it can manipulate metadata"},{"line_number":191,"context_line":"            # as admin."},{"line_number":192,"context_line":"            admin_context \u003d context.get_admin_context()"},{"line_number":193,"context_line":"        else:"},{"line_number":194,"context_line":"            admin_context \u003d None"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_910819da","line":192,"range":{"start_line":189,"start_character":12,"end_line":192,"end_character":55},"updated":"2020-07-01 09:37:37.000000000","message":"This will break copy image to cinder store.\ncinder store needs service_catalog in context to perform operations and admin_context doesn\u0027t have it;\n\n(Pdb) admin_context.service_catalog\nNone\n(Pdb) req.context.service_catalog\n[{\u0027type\u0027: \u0027compute_legacy\u0027, \u0027name\u0027: \u0027nova_legacy\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14/compute/v2/e56279ef429b4f8485b9c58eb556a549\u0027}]}, {\u0027type\u0027: \u0027block-storage\u0027, \u0027name\u0027: \u0027cinder\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14/volume/v3/e56279ef429b4f8485b9c58eb556a549\u0027}]}, {\u0027type\u0027: \u0027placement\u0027, \u0027name\u0027: \u0027placement\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14/placement\u0027}]}, {\u0027type\u0027: \u0027compute\u0027, \u0027name\u0027: \u0027nova\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14/compute/v2.1\u0027}]}, {\u0027type\u0027: \u0027volumev3\u0027, \u0027name\u0027: \u0027cinderv3\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14/volume/v3/e56279ef429b4f8485b9c58eb556a549\u0027}]}, {\u0027type\u0027: \u0027image\u0027, \u0027name\u0027: \u0027glance\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14:9292\u0027}]}, {\u0027type\u0027: \u0027network\u0027, \u0027name\u0027: \u0027neutron\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14:9696/\u0027}]}, {\u0027type\u0027: \u0027volumev2\u0027, \u0027name\u0027: \u0027cinderv2\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14/volume/v2/e56279ef429b4f8485b9c58eb556a549\u0027}]}, {\u0027type\u0027: \u0027identity\u0027, \u0027name\u0027: \u0027keystone\u0027, \u0027endpoints\u0027: [{\u0027region\u0027: \u0027RegionOne\u0027, \u0027adminURL\u0027: \u0027http://192.168.100.14/identity\u0027, \u0027publicURL\u0027: \u0027http://192.168.100.14/identity\u0027}]}]\n\nCopy to cinder store will fail with error \"Cinder storage requires a service catalog\" at [1]\n\n[1] https://github.com/openstack/glance_store/blob/master/glance_store/_drivers/cinder.py#L499","commit_id":"316d45f02910855b5078ef1e4a34134aa7018d2c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"59844ce5726b5de548a433e100135ccc0c08f290","unresolved":false,"context_lines":[{"line_number":186,"context_line":"                      \u0027backend\u0027: stores}"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        if import_method \u003d\u003d \u0027copy-image\u0027:"},{"line_number":189,"context_line":"            # If this is a copy-image import and we passed the policy check,"},{"line_number":190,"context_line":"            # grab an admin context for the task so it can manipulate metadata"},{"line_number":191,"context_line":"            # as admin."},{"line_number":192,"context_line":"            admin_context \u003d context.get_admin_context()"},{"line_number":193,"context_line":"        else:"},{"line_number":194,"context_line":"            admin_context \u003d None"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_65901f97","line":192,"range":{"start_line":189,"start_character":12,"end_line":192,"end_character":55},"in_reply_to":"bf51134e_910819da","updated":"2020-07-01 13:41:52.000000000","message":"Okay, in nova we have a context.elevated() helper for this:\n\nhttps://github.com/openstack/nova/blob/master/nova/context.py#L206\n\nShall I introduce something similar to glance.context?","commit_id":"316d45f02910855b5078ef1e4a34134aa7018d2c"}],"glance/async_/flows/api_image_import.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8f46dcc02d5d9df52c3a535d9aac91859e0d5e83","unresolved":false,"context_lines":[{"line_number":236,"context_line":"                    LOG.warning(msg)"},{"line_number":237,"context_line":"                else:"},{"line_number":238,"context_line":"                    if len(self._image.locations) \u003d\u003d 0:"},{"line_number":239,"context_line":"                        self._image.checksum \u003d None"},{"line_number":240,"context_line":"                        self._image.os_hash_algo \u003d None"},{"line_number":241,"context_line":"                        self._image.os_hash_value \u003d None"},{"line_number":242,"context_line":"                        self._image.size \u003d None"},{"line_number":243,"context_line":"                break"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_e439dfd8","line":242,"range":{"start_line":239,"start_character":24,"end_line":242,"end_character":47},"updated":"2020-07-01 05:34:51.000000000","message":"Here we also need to set image-status as queued (IMO)\nif all_stores_must_succeed is False and","commit_id":"09c9c141f629dfc024c15055ffdd44135d8ee49c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0d8cc94ec2e29ad1e12150ef711c481b861a8281","unresolved":false,"context_lines":[{"line_number":236,"context_line":"                    LOG.warning(msg)"},{"line_number":237,"context_line":"                else:"},{"line_number":238,"context_line":"                    if len(self._image.locations) \u003d\u003d 0:"},{"line_number":239,"context_line":"                        self._image.checksum \u003d None"},{"line_number":240,"context_line":"                        self._image.os_hash_algo \u003d None"},{"line_number":241,"context_line":"                        self._image.os_hash_value \u003d None"},{"line_number":242,"context_line":"                        self._image.size \u003d None"},{"line_number":243,"context_line":"                break"},{"line_number":244,"context_line":""},{"line_number":245,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_85d57346","line":242,"range":{"start_line":239,"start_character":24,"end_line":242,"end_character":47},"in_reply_to":"bf51134e_e439dfd8","updated":"2020-07-01 13:43:41.000000000","message":"Ack, like I said, this should be a separate patch. I can include that change here if we land that first, I just don\u0027t want this to be introducing new fixes in addition to the refactor.","commit_id":"09c9c141f629dfc024c15055ffdd44135d8ee49c"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"0007df7ea1ee99be76e7d61a9b7c2df4f3907afd","unresolved":false,"context_lines":[{"line_number":469,"context_line":"        with self.action_wrapper as action:"},{"line_number":470,"context_line":"            if (self.import_method !\u003d \u0027copy-image\u0027"},{"line_number":471,"context_line":"                    and action.image_status \u003d\u003d \u0027importing\u0027):"},{"line_number":472,"context_line":"                # NOTE(flaper87): THIS IS WRONG!"},{"line_number":473,"context_line":"                # we should be doing atomic updates to avoid"},{"line_number":474,"context_line":"                # race conditions. This happens in other places"},{"line_number":475,"context_line":"                # too."},{"line_number":476,"context_line":"                action.set_image_status(\u0027active\u0027)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_493a6698","line":475,"range":{"start_line":472,"start_character":0,"end_line":475,"end_character":22},"updated":"2020-06-30 17:27:24.000000000","message":"I think we finally get rid of this NOTE :)","commit_id":"09c9c141f629dfc024c15055ffdd44135d8ee49c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"430cda3f066f40eac480b2d2530068cfdf5644e2","unresolved":false,"context_lines":[{"line_number":469,"context_line":"        with self.action_wrapper as action:"},{"line_number":470,"context_line":"            if (self.import_method !\u003d \u0027copy-image\u0027"},{"line_number":471,"context_line":"                    and action.image_status \u003d\u003d \u0027importing\u0027):"},{"line_number":472,"context_line":"                # NOTE(flaper87): THIS IS WRONG!"},{"line_number":473,"context_line":"                # we should be doing atomic updates to avoid"},{"line_number":474,"context_line":"                # race conditions. This happens in other places"},{"line_number":475,"context_line":"                # too."},{"line_number":476,"context_line":"                action.set_image_status(\u0027active\u0027)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_e486ffba","line":475,"range":{"start_line":472,"start_character":0,"end_line":475,"end_character":22},"in_reply_to":"bf51134e_493a6698","updated":"2020-06-30 19:08:47.000000000","message":"Why? Was this added before the expected-status param to save?","commit_id":"09c9c141f629dfc024c15055ffdd44135d8ee49c"}]}
