)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"f1cbf202156e224498c544dde5089a9b0b77b69a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"future."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Currently this only works for public images (images that the admin user"},{"line_number":17,"context_line":"has access to in the registry)."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I1ff7175feade22150d33f106c6f6e93fd59fa8e6"},{"line_number":20,"context_line":"Closes-Bug: 1540934"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a122d0e_0f450b42","line":17,"updated":"2016-05-05 08:14:36.000000000","message":"Have I missed something? Admin should have access to all images, regardless of the ownership or visibility.","commit_id":"4c78d1a883a358715e3fd8a1839fa27741f50ef0"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"f58446ea8a7b68b901f3c64b24f3d1f7ac12cdc9","unresolved":false,"context_lines":[{"line_number":14,"context_line":"future."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Currently this only works for public images (images that the admin user"},{"line_number":17,"context_line":"has access to in the registry)."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I1ff7175feade22150d33f106c6f6e93fd59fa8e6"},{"line_number":20,"context_line":"Closes-Bug: 1540934"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a122d0e_64448f46","line":17,"in_reply_to":"1a122d0e_0f450b42","updated":"2016-05-05 15:45:17.000000000","message":"This is meant to say the Glance user.","commit_id":"4c78d1a883a358715e3fd8a1839fa27741f50ef0"},{"author":{"_account_id":8158,"name":"Hemanth Makkapati","email":"makstacker+osgerrit@gmail.com","username":"hemanth.makkapati"},"change_message_id":"dbd3c636035731090669beca6ac4cf023e135ecc","unresolved":false,"context_lines":[{"line_number":15,"context_line":"This also adds some logging lines to make it easier to debug in the"},{"line_number":16,"context_line":"future."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Currently the prefetcher only works for public images (images that the"},{"line_number":19,"context_line":"user \u0027glance\u0027 has access to in the registry)."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I1ff7175feade22150d33f106c6f6e93fd59fa8e6"},{"line_number":22,"context_line":"Closes-Bug: 1540934"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"dab17558_6f20849c","line":19,"range":{"start_line":18,"start_character":0,"end_line":19,"end_character":45},"updated":"2016-05-06 21:51:15.000000000","message":"Can you elaborate on this please?\nPrefetcher talks to registry in admin context, so it basically has access to every image there is in glance. Not sure if I\u0027m missing something here.","commit_id":"17113fbed55a47b11ad5e065ae76bd5eb9d2bde6"}],"glance/image_cache/prefetcher.py":[{"author":{"_account_id":17123,"name":"Tom Cocozzello (tjcocozz)","email":"tjcocozz@us.ibm.com","username":"tcocozzello"},"change_message_id":"48b08aa1ddb5c73712a123734c47ad8b544fa262","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        ctx \u003d context.RequestContext(is_admin\u003dTrue, show_deleted\u003dTrue)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        try:"},{"line_number":44,"context_line":"            LOG.debug(\"Getting image metadata.\")"},{"line_number":45,"context_line":"            image_meta \u003d registry.get_image_metadata(ctx, image_id)"},{"line_number":46,"context_line":"            if image_meta[\u0027status\u0027] !\u003d \u0027active\u0027:"},{"line_number":47,"context_line":"                LOG.warn(_LW(\"Image \u0027%s\u0027 is not active. Not caching.\") %"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa0719c6_7625f4a9","line":44,"range":{"start_line":44,"start_character":22,"end_line":44,"end_character":47},"updated":"2016-03-21 21:05:55.000000000","message":"does this need to be translated? \u003c- answer is no. see Note in doc: http://docs.openstack.org/developer/oslo.i18n/guidelines.html#log-translation","commit_id":"1e0d69c75d33b8f0b6657352e269bdf26770c5df"}],"glance/registry/client/v1/client.py":[{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"92a7051843ef4d11ee1beb3b0588a1fc701b9f90","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self._passed_request_id \u003d kwargs.pop(\u0027request_id\u0027, None)"},{"line_number":52,"context_line":"        self.creds \u003d kwargs.pop(\u0027creds\u0027, None)"},{"line_number":53,"context_line":"        BaseClient.__init__(self, host, port, creds\u003dself.creds,"},{"line_number":54,"context_line":"                            configure_via_auth\u003dFalse, **kwargs)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def decrypt_metadata(self, image_metadata):"},{"line_number":57,"context_line":"        if self.metadata_encryption_key:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_bb58958b","line":54,"updated":"2016-02-29 12:37:26.000000000","message":"Niall, could you please explain why do we need it?\nI see that creds is also initialized in BaseClient. So it looks like we don\u0027t need that.","commit_id":"c4024b4e039bad6e2c4c20fdcc2ee32e5a6f37b9"},{"author":{"_account_id":455,"name":"Stuart McLaren","email":"stuart.mclaren@hpe.com","username":"stuart-mclaren"},"change_message_id":"463173ced6ac08ed03072330f41127b019e71fba","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self._passed_request_id \u003d kwargs.pop(\u0027request_id\u0027, None)"},{"line_number":52,"context_line":"        self.creds \u003d kwargs.pop(\u0027creds\u0027, None)"},{"line_number":53,"context_line":"        BaseClient.__init__(self, host, port, creds\u003dself.creds,"},{"line_number":54,"context_line":"                            configure_via_auth\u003dFalse, **kwargs)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def decrypt_metadata(self, image_metadata):"},{"line_number":57,"context_line":"        if self.metadata_encryption_key:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afc51ec_ed302a0a","line":54,"in_reply_to":"9aed3d3a_1e440a48","updated":"2016-03-11 15:09:29.000000000","message":"I does look to me that -- like Kairat is saying -- the creds should get set in the base class using kwargs. Can we check it out? Thanks.","commit_id":"c4024b4e039bad6e2c4c20fdcc2ee32e5a6f37b9"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f508fbe3a580688e04752f96c137cee29f6cab7a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self._passed_request_id \u003d kwargs.pop(\u0027request_id\u0027, None)"},{"line_number":52,"context_line":"        self.creds \u003d kwargs.pop(\u0027creds\u0027, None)"},{"line_number":53,"context_line":"        BaseClient.__init__(self, host, port, creds\u003dself.creds,"},{"line_number":54,"context_line":"                            configure_via_auth\u003dFalse, **kwargs)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def decrypt_metadata(self, image_metadata):"},{"line_number":57,"context_line":"        if self.metadata_encryption_key:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_c0b3e5e7","line":54,"in_reply_to":"9aed3d3a_20b2914c","updated":"2016-02-29 13:30:22.000000000","message":"Sorry, I should have been clear.\nI see that creds are also initialized from kwargs in BaseClient. \nSo I cannot get why we need creds initialization here. Coudl you please explain? Perhaps I missed something.","commit_id":"c4024b4e039bad6e2c4c20fdcc2ee32e5a6f37b9"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"fb93d4b991c07f83e852f294f8672f30cac22bc7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self._passed_request_id \u003d kwargs.pop(\u0027request_id\u0027, None)"},{"line_number":52,"context_line":"        self.creds \u003d kwargs.pop(\u0027creds\u0027, None)"},{"line_number":53,"context_line":"        BaseClient.__init__(self, host, port, creds\u003dself.creds,"},{"line_number":54,"context_line":"                            configure_via_auth\u003dFalse, **kwargs)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def decrypt_metadata(self, image_metadata):"},{"line_number":57,"context_line":"        if self.metadata_encryption_key:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_20b2914c","line":54,"in_reply_to":"9aed3d3a_bb58958b","updated":"2016-02-29 13:24:55.000000000","message":"What do you mean by it? All of the above?","commit_id":"c4024b4e039bad6e2c4c20fdcc2ee32e5a6f37b9"},{"author":{"_account_id":17116,"name":"Niall Bunting","email":"niall.bunting@hpe.com","username":"NiallBunting"},"change_message_id":"cb65a511bc031f62722456ed20c7a8e33817c14b","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self._passed_request_id \u003d kwargs.pop(\u0027request_id\u0027, None)"},{"line_number":52,"context_line":"        self.creds \u003d kwargs.pop(\u0027creds\u0027, None)"},{"line_number":53,"context_line":"        BaseClient.__init__(self, host, port, creds\u003dself.creds,"},{"line_number":54,"context_line":"                            configure_via_auth\u003dFalse, **kwargs)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def decrypt_metadata(self, image_metadata):"},{"line_number":57,"context_line":"        if self.metadata_encryption_key:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9aed3d3a_1e440a48","line":54,"in_reply_to":"9aed3d3a_c0b3e5e7","updated":"2016-02-29 13:54:09.000000000","message":"I see https://github.com/openstack/glance/blob/master/glance/common/client.py#L214 So if you don\u0027t pass in the creds it gets set to an empty dict. Unless I have missed something?","commit_id":"c4024b4e039bad6e2c4c20fdcc2ee32e5a6f37b9"}]}
