)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"2264bf62a39f8062d934741272265d81b3824601","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add new response headers for import methods"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The patch adds new response headers to image-creae to facilitate"},{"line_number":10,"context_line":"discovery of import methods."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Specifically, OpenStack-Image-Import-Methods and"},{"line_number":13,"context_line":"OpenStack-Image-Glance-Direct-Url are added to the response"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba63e191_7810e2a8","line":10,"range":{"start_line":10,"start_character":27,"end_line":10,"end_character":28},"updated":"2016-01-20 11:00:34.000000000","message":"s/creae/create/ for next patch :)","commit_id":"2393001a3025e3e88ab97bfe2970a026acd65244"}],"glance/api/v2/images.py":[{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"01ae26c57770f5a4b77cf312f8bcda00ac3f380b","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        self.show(response, image)"},{"line_number":770,"context_line":"        response.location \u003d self._get_image_href(image)"},{"line_number":771,"context_line":"        for method in import_info.get_image_import_methods():"},{"line_number":772,"context_line":"            response.headers.add(\u0027openstack-image-import-methods\u0027, method)"},{"line_number":773,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":774,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":775,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_e815cb3f","line":772,"updated":"2016-01-13 22:47:03.000000000","message":"I really don\u0027t think more headers is what clients need.","commit_id":"c39e2068b3f52d27c79b16fc344c1c4dfb64791c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2026036732dc42a6c2990420e0ac51cd14500e2f","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        self.show(response, image)"},{"line_number":770,"context_line":"        response.location \u003d self._get_image_href(image)"},{"line_number":771,"context_line":"        for method in import_info.get_image_import_methods():"},{"line_number":772,"context_line":"            response.headers.add(\u0027openstack-image-import-methods\u0027, method)"},{"line_number":773,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":774,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":775,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_f11b73c8","line":772,"in_reply_to":"da6ed579_c88b2767","updated":"2016-01-14 03:26:44.000000000","message":"PS 5 had the import URL known by convention; after discussion on the review, glance meetings, and IRC, the consensus was that the URL should be supplied explicitly in the response (even though it\u0027s also knowable from the v2/info/import response).  So apparently some people think that more headers is exactly what clients need!  (I\u0027m not claiming that\u0027s a knock-down argument for the response header, just pointing out that it\u0027s not being included lightly.)","commit_id":"c39e2068b3f52d27c79b16fc344c1c4dfb64791c"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"965026b2eb50b84e0e00745539ab9ed621686d0c","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        self.show(response, image)"},{"line_number":770,"context_line":"        response.location \u003d self._get_image_href(image)"},{"line_number":771,"context_line":"        for method in import_info.get_image_import_methods():"},{"line_number":772,"context_line":"            response.headers.add(\u0027openstack-image-import-methods\u0027, method)"},{"line_number":773,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":774,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":775,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_c88b2767","line":772,"in_reply_to":"da6ed579_e815cb3f","updated":"2016-01-13 22:51:15.000000000","message":"I haven\u0027t added tests just so to discuss on such things :D","commit_id":"c39e2068b3f52d27c79b16fc344c1c4dfb64791c"},{"author":{"_account_id":12000,"name":"Ian Cordasco","email":"sigmavirus24@gmail.com","username":"sigmavirus24"},"change_message_id":"01ae26c57770f5a4b77cf312f8bcda00ac3f380b","unresolved":false,"context_lines":[{"line_number":770,"context_line":"        response.location \u003d self._get_image_href(image)"},{"line_number":771,"context_line":"        for method in import_info.get_image_import_methods():"},{"line_number":772,"context_line":"            response.headers.add(\u0027openstack-image-import-methods\u0027, method)"},{"line_number":773,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":774,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":775,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"},{"line_number":776,"context_line":"                                     stage_url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_c8180778","line":773,"updated":"2016-01-13 22:47:03.000000000","message":"Also can we not hard code this so soon?","commit_id":"c39e2068b3f52d27c79b16fc344c1c4dfb64791c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2026036732dc42a6c2990420e0ac51cd14500e2f","unresolved":false,"context_lines":[{"line_number":770,"context_line":"        response.location \u003d self._get_image_href(image)"},{"line_number":771,"context_line":"        for method in import_info.get_image_import_methods():"},{"line_number":772,"context_line":"            response.headers.add(\u0027openstack-image-import-methods\u0027, method)"},{"line_number":773,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":774,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":775,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"},{"line_number":776,"context_line":"                                     stage_url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_91c9d728","line":773,"in_reply_to":"da6ed579_68eb1b14","updated":"2016-01-14 03:26:44.000000000","message":"Import methods are exposed in 3 ways:\n\n- defined in the v2/schemas/import response\n- described in the v2/info/import response\n- listed as values of the openstack-image-import-methods header","commit_id":"c39e2068b3f52d27c79b16fc344c1c4dfb64791c"},{"author":{"_account_id":7575,"name":"Sabari","email":"smurugesan@vmware.com","username":"sabari"},"change_message_id":"965026b2eb50b84e0e00745539ab9ed621686d0c","unresolved":false,"context_lines":[{"line_number":770,"context_line":"        response.location \u003d self._get_image_href(image)"},{"line_number":771,"context_line":"        for method in import_info.get_image_import_methods():"},{"line_number":772,"context_line":"            response.headers.add(\u0027openstack-image-import-methods\u0027, method)"},{"line_number":773,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":774,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":775,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"},{"line_number":776,"context_line":"                                     stage_url)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_68eb1b14","line":773,"in_reply_to":"da6ed579_c8180778","updated":"2016-01-13 22:51:15.000000000","message":"Right, may be the headers can be provided as part of method discovery ? I am still not too clear about how we expose new methods from the spec.","commit_id":"c39e2068b3f52d27c79b16fc344c1c4dfb64791c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2026036732dc42a6c2990420e0ac51cd14500e2f","unresolved":false,"context_lines":[{"line_number":773,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":774,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":775,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"},{"line_number":776,"context_line":"                                     stage_url)"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"    def show(self, response, image):"},{"line_number":779,"context_line":"        image_view \u003d self._format_image(image)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_31890bca","line":776,"updated":"2016-01-14 03:26:44.000000000","message":"Nit: http headers are case-insensitive, but the API WG guidelines seem to indicate a preference for OpenStack being camel cased.  See http://specs.openstack.org/openstack/api-wg/guidelines/headers.html","commit_id":"c39e2068b3f52d27c79b16fc344c1c4dfb64791c"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"2264bf62a39f8062d934741272265d81b3824601","unresolved":false,"context_lines":[{"line_number":768,"context_line":"        self.show(response, image)"},{"line_number":769,"context_line":"        response.location \u003d self._get_image_href(image)"},{"line_number":770,"context_line":"        for method in import_info.get_image_import_methods():"},{"line_number":771,"context_line":"            response.headers.add(\u0027openstack-image-import-methods\u0027, method)"},{"line_number":772,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":773,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":774,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba63e191_1eac2fec","line":771,"range":{"start_line":771,"start_character":50,"end_line":771,"end_character":56},"updated":"2016-01-20 11:00:34.000000000","message":"why wouldn\u0027t we rather do \"response.headers.add(import_methods)\" outside of the for loop?","commit_id":"2393001a3025e3e88ab97bfe2970a026acd65244"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"0db646983d44024ef6df6c4031567a5ea137355e","unresolved":false,"context_lines":[{"line_number":768,"context_line":"        self.show(response, image)"},{"line_number":769,"context_line":"        response.location \u003d self._get_image_href(image)"},{"line_number":770,"context_line":"        for method in import_info.get_image_import_methods():"},{"line_number":771,"context_line":"            response.headers.add(\u0027openstack-image-import-methods\u0027, method)"},{"line_number":772,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":773,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":774,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9ad45d7e_09707b0a","line":771,"in_reply_to":"ba63e191_1eac2fec","updated":"2016-08-10 14:23:56.000000000","message":"Not even sure what I meant here, so just forget about it :)","commit_id":"2393001a3025e3e88ab97bfe2970a026acd65244"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"2264bf62a39f8062d934741272265d81b3824601","unresolved":false,"context_lines":[{"line_number":772,"context_line":"            if method \u003d\u003d \u0027glance-direct\u0027:"},{"line_number":773,"context_line":"                stage_url \u003d self._get_image_href(image, \u0027stage\u0027)"},{"line_number":774,"context_line":"                response.headers.add(\u0027openstack-image-glance-direct-url\u0027,"},{"line_number":775,"context_line":"                                     stage_url)"},{"line_number":776,"context_line":""},{"line_number":777,"context_line":"    def show(self, response, image):"},{"line_number":778,"context_line":"        image_view \u003d self._format_image(image)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba63e191_1ecbcf73","line":775,"range":{"start_line":775,"start_character":46,"end_line":775,"end_character":47},"updated":"2016-01-20 11:00:34.000000000","message":"I agree with Brian about the case.","commit_id":"2393001a3025e3e88ab97bfe2970a026acd65244"}],"glance/common/import_info.py":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"2264bf62a39f8062d934741272265d81b3824601","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    :returns: A tuple of supported import methods"},{"line_number":24,"context_line":"    \"\"\""},{"line_number":25,"context_line":"    # TODO(sabari): The import methods needs to be configurable"},{"line_number":26,"context_line":"    return (\u0027glance-direct\u0027,)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba63e191_1879a6c8","line":25,"range":{"start_line":25,"start_character":31,"end_line":25,"end_character":38},"updated":"2016-01-20 11:00:34.000000000","message":"I think this TODO should be adressed before merging.","commit_id":"2393001a3025e3e88ab97bfe2970a026acd65244"}]}
