)]}'
{"glance/api/authorization.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2ed0adb6f12d9dfe22c809f8bda637cbaf4b9583","unresolved":true,"context_lines":[{"line_number":37,"context_line":"            try:"},{"line_number":38,"context_line":"                store_utils.update_store_in_locations("},{"line_number":39,"context_line":"                    context, image, image_repo)"},{"line_number":40,"context_line":"            except exception.NotFound:"},{"line_number":41,"context_line":"                # NOTE(danms): We may not be able to complete a store"},{"line_number":42,"context_line":"                # update if we do not own the image. That should not"},{"line_number":43,"context_line":"                # break us, so avoid raising NotFound here in that"},{"line_number":44,"context_line":"                # case. Note that modifications to @image here will"},{"line_number":45,"context_line":"                # still be returned to the user, just not saved in the"},{"line_number":46,"context_line":"                # DB. That is probably what we want anyway."},{"line_number":47,"context_line":"                pass"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        return func(context, image, image_repo, **kwargs)"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"c47577e0_8b3eef6e","line":47,"range":{"start_line":40,"start_character":0,"end_line":47,"end_character":20},"updated":"2021-06-21 08:02:03.000000000","message":"should we log something to notify the admin to do a get call? Debug or info message?","commit_id":"7f07f28b7876c88be70804eeaeea9884cbce7d85"}],"glance/tests/functional/v2/test_legacy_update_cinder_store.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2ed0adb6f12d9dfe22c809f8bda637cbaf4b9583","unresolved":true,"context_lines":[{"line_number":256,"context_line":"        resp \u003d self.api_get(\u0027/v2/images/%s\u0027 % image_id,"},{"line_number":257,"context_line":"                            headers\u003d{\u0027X-Roles\u0027: \u0027reader\u0027})"},{"line_number":258,"context_line":"        image \u003d resp.json"},{"line_number":259,"context_line":"        # verify the image is updated to new format"},{"line_number":260,"context_line":"        self.assertEqual(\u0027cinder://store1/%s\u0027 % self.vol_id,"},{"line_number":261,"context_line":"                         image[\u0027locations\u0027][0][\u0027url\u0027])"},{"line_number":262,"context_line":"        self.assertEqual(\u0027store1\u0027, image[\u0027locations\u0027][0][\u0027metadata\u0027][\u0027store\u0027])"},{"line_number":263,"context_line":"        image \u003d self.api_get(\u0027/v2/images/%s\u0027 % image_id).json"},{"line_number":264,"context_line":"        # verify the image location url is consistent"},{"line_number":265,"context_line":"        self.assertEqual(\u0027cinder://store1/%s\u0027 % self.vol_id,"},{"line_number":266,"context_line":"                         image[\u0027locations\u0027][0][\u0027url\u0027])"},{"line_number":267,"context_line":"        # NOTE(whoami-rajat): These are internals called by glance_store, so"},{"line_number":268,"context_line":"        # we want to make sure they got hit, but not be too strict about how."},{"line_number":269,"context_line":"        mocked_cc.assert_called()"}],"source_content_type":"text/x-python","patch_set":2,"id":"c337b914_f287f32e","line":266,"range":{"start_line":259,"start_character":8,"end_line":266,"end_character":54},"updated":"2021-06-21 08:02:03.000000000","message":"as mentioned in the fix, the updated fields are returned to the user but not stored in database, is there any way to validate that too?","commit_id":"7f07f28b7876c88be70804eeaeea9884cbce7d85"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"75c7bce1db6ee96fc58cc2999b69a6f5375b7de2","unresolved":true,"context_lines":[{"line_number":256,"context_line":"        resp \u003d self.api_get(\u0027/v2/images/%s\u0027 % image_id,"},{"line_number":257,"context_line":"                            headers\u003d{\u0027X-Roles\u0027: \u0027reader\u0027})"},{"line_number":258,"context_line":"        image \u003d resp.json"},{"line_number":259,"context_line":"        # verify the image is updated to new format"},{"line_number":260,"context_line":"        self.assertEqual(\u0027cinder://store1/%s\u0027 % self.vol_id,"},{"line_number":261,"context_line":"                         image[\u0027locations\u0027][0][\u0027url\u0027])"},{"line_number":262,"context_line":"        self.assertEqual(\u0027store1\u0027, image[\u0027locations\u0027][0][\u0027metadata\u0027][\u0027store\u0027])"},{"line_number":263,"context_line":"        image \u003d self.api_get(\u0027/v2/images/%s\u0027 % image_id).json"},{"line_number":264,"context_line":"        # verify the image location url is consistent"},{"line_number":265,"context_line":"        self.assertEqual(\u0027cinder://store1/%s\u0027 % self.vol_id,"},{"line_number":266,"context_line":"                         image[\u0027locations\u0027][0][\u0027url\u0027])"},{"line_number":267,"context_line":"        # NOTE(whoami-rajat): These are internals called by glance_store, so"},{"line_number":268,"context_line":"        # we want to make sure they got hit, but not be too strict about how."},{"line_number":269,"context_line":"        mocked_cc.assert_called()"}],"source_content_type":"text/x-python","patch_set":2,"id":"92b682ae_a7db7cf3","line":266,"range":{"start_line":259,"start_character":8,"end_line":266,"end_character":54},"in_reply_to":"0132c254_f2f2c036","updated":"2021-06-22 01:30:19.000000000","message":"I don\u0027t think it\u0027s worth the effort so I\u0027m good with this.","commit_id":"7f07f28b7876c88be70804eeaeea9884cbce7d85"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"0a98c9dfa4e7feb7078978d2de0a772481210707","unresolved":true,"context_lines":[{"line_number":256,"context_line":"        resp \u003d self.api_get(\u0027/v2/images/%s\u0027 % image_id,"},{"line_number":257,"context_line":"                            headers\u003d{\u0027X-Roles\u0027: \u0027reader\u0027})"},{"line_number":258,"context_line":"        image \u003d resp.json"},{"line_number":259,"context_line":"        # verify the image is updated to new format"},{"line_number":260,"context_line":"        self.assertEqual(\u0027cinder://store1/%s\u0027 % self.vol_id,"},{"line_number":261,"context_line":"                         image[\u0027locations\u0027][0][\u0027url\u0027])"},{"line_number":262,"context_line":"        self.assertEqual(\u0027store1\u0027, image[\u0027locations\u0027][0][\u0027metadata\u0027][\u0027store\u0027])"},{"line_number":263,"context_line":"        image \u003d self.api_get(\u0027/v2/images/%s\u0027 % image_id).json"},{"line_number":264,"context_line":"        # verify the image location url is consistent"},{"line_number":265,"context_line":"        self.assertEqual(\u0027cinder://store1/%s\u0027 % self.vol_id,"},{"line_number":266,"context_line":"                         image[\u0027locations\u0027][0][\u0027url\u0027])"},{"line_number":267,"context_line":"        # NOTE(whoami-rajat): These are internals called by glance_store, so"},{"line_number":268,"context_line":"        # we want to make sure they got hit, but not be too strict about how."},{"line_number":269,"context_line":"        mocked_cc.assert_called()"}],"source_content_type":"text/x-python","patch_set":2,"id":"0132c254_f2f2c036","line":266,"range":{"start_line":259,"start_character":8,"end_line":266,"end_character":54},"in_reply_to":"c337b914_f287f32e","updated":"2021-06-21 13:15:54.000000000","message":"Not really without digging too deep in the DB, which these functional tests normally do. If people want to see that I can work on it, but I guess I\u0027m not too concerned. The actual thing we care most about is that this provides a consistent view of the migrated data and doesn\u0027t crash like it did before. Whether or not we actually migrated it or not in the DB is kind of an implementation detail that the user (which is the test, in this case) shouldn\u0027t really need to know about.\n\nBut, if people want to see it, let me know.","commit_id":"7f07f28b7876c88be70804eeaeea9884cbce7d85"}]}
