)]}'
{"etc/glance-api.conf":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"55e3b7e6eb876522e1b6ff4e080088ebc49c44cc","unresolved":false,"context_lines":[{"line_number":72,"context_line":"#allow_anonymous_access \u003d False"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# Allow deployed API to be configurable. Default value enables both v1 and"},{"line_number":75,"context_line":"# v2 api."},{"line_number":76,"context_line":"enable_v1_api \u003d True"},{"line_number":77,"context_line":"enable_v2_api \u003d True"},{"line_number":78,"context_line":""}],"source_content_type":"text/plain","patch_set":2,"id":"AAAALH%2F%2Fg3E%3D","line":75,"updated":"2012-09-05 06:12:39.000000000","message":"I think the message here could be a little clearer and the options should be separated into different blocks. Something like\n\n # Allow access to version 1 of the api\n #enable_v1_api \u003d True\n\n # Allow access to version 2 of the api\n #enable_v2_api \u003d True","commit_id":"1a747816352528f2edf4281a1ef03d95eec7e36d"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"55e3b7e6eb876522e1b6ff4e080088ebc49c44cc","unresolved":false,"context_lines":[{"line_number":74,"context_line":"# Allow deployed API to be configurable. Default value enables both v1 and"},{"line_number":75,"context_line":"# v2 api."},{"line_number":76,"context_line":"enable_v1_api \u003d True"},{"line_number":77,"context_line":"enable_v2_api \u003d True"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"# \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Syslog Options \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":80,"context_line":""}],"source_content_type":"text/plain","patch_set":2,"id":"AAAALH%2F%2Fg3Q%3D","line":77,"updated":"2012-09-05 06:12:39.000000000","message":"I would probably comment out these lines, since they are only necessary if you want to do something different from the default. See example above.","commit_id":"1a747816352528f2edf4281a1ef03d95eec7e36d"}],"glance/api/__init__.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e6da20fbb0911b8fb0f05da1fd3806e5688ade47","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2011 OpenStack LLC."},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FjCc%3D","side":"PARENT","line":3,"updated":"2012-08-31 19:21:55.000000000","message":"Update this just to be safe:\n\n  # Copyright 2011-2012 OpenStack LLC.","commit_id":"c8d408f23486804fc7b4e592e2c1727330abc831"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e6da20fbb0911b8fb0f05da1fd3806e5688ade47","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import paste.urlmap"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FjCk%3D","line":18,"updated":"2012-08-31 19:21:55.000000000","message":"extra newline","commit_id":"e47dbb61ba4280aa5d2ea81960bbbcdb463b11e6"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e6da20fbb0911b8fb0f05da1fd3806e5688ade47","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import paste.urlmap"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from glance.openstack.common import cfg"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FjCg%3D","line":21,"updated":"2012-08-31 19:21:55.000000000","message":"extra newline","commit_id":"e47dbb61ba4280aa5d2ea81960bbbcdb463b11e6"}],"glance/common/config.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e6da20fbb0911b8fb0f05da1fd3806e5688ade47","unresolved":false,"context_lines":[{"line_number":55,"context_line":"               help\u003d_(\"Maximum size of image a user can upload in bytes. \""},{"line_number":56,"context_line":"                      \"Defaults to 1099511627776 bytes (1 TB).\")),"},{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027enable_v1_api\u0027, default\u003dTrue,"},{"line_number":58,"context_line":"                help\u003d_(\"Whether glance v1 api is accessible. \")),"},{"line_number":59,"context_line":"    cfg.BoolOpt(\u0027enable_v2_api\u0027, default\u003dTrue,"},{"line_number":60,"context_line":"                help\u003d_(\"Whether glance v2 api is accessible. \")),"},{"line_number":61,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FjCs%3D","line":58,"updated":"2012-08-31 19:21:55.000000000","message":"This wording feels a little off. How about this:\n\n  Deploy the v1 OpenStack Images API.","commit_id":"e47dbb61ba4280aa5d2ea81960bbbcdb463b11e6"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"e6da20fbb0911b8fb0f05da1fd3806e5688ade47","unresolved":false,"context_lines":[{"line_number":57,"context_line":"    cfg.BoolOpt(\u0027enable_v1_api\u0027, default\u003dTrue,"},{"line_number":58,"context_line":"                help\u003d_(\"Whether glance v1 api is accessible. \")),"},{"line_number":59,"context_line":"    cfg.BoolOpt(\u0027enable_v2_api\u0027, default\u003dTrue,"},{"line_number":60,"context_line":"                help\u003d_(\"Whether glance v2 api is accessible. \")),"},{"line_number":61,"context_line":"]"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAALH%2F%2FjCo%3D","line":60,"updated":"2012-08-31 19:21:55.000000000","message":"Same as above","commit_id":"e47dbb61ba4280aa5d2ea81960bbbcdb463b11e6"}],"glance/tests/functional/v1/test_api.py":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"55e3b7e6eb876522e1b6ff4e080088ebc49c44cc","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        self.stop_servers()"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    @skip_if_disabled"},{"line_number":450,"context_line":"    def test_v1_not_enabled_v2_enabled(self):"},{"line_number":451,"context_line":"        self.cleanup()"},{"line_number":452,"context_line":"        self.api_server.enable_v1_api \u003d False"},{"line_number":453,"context_line":"        self.start_servers(**self.__dict__.copy())"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2Fg3g%3D","line":450,"updated":"2012-09-05 06:12:39.000000000","message":"Should this test be here? or in the v2 test code?","commit_id":"1a747816352528f2edf4281a1ef03d95eec7e36d"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"d19c271a6fd51174034e37381cd525e3a93fe325","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        self.stop_servers()"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    @skip_if_disabled"},{"line_number":450,"context_line":"    def test_v1_not_enabled_v2_enabled(self):"},{"line_number":451,"context_line":"        self.cleanup()"},{"line_number":452,"context_line":"        self.api_server.enable_v1_api \u003d False"},{"line_number":453,"context_line":"        self.start_servers(**self.__dict__.copy())"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2Fgmw%3D","line":450,"in_reply_to":"AAAALH%2F%2Fg3g%3D","updated":"2012-09-05 14:55:43.000000000","message":"I\u0027d expect to see a test for v1 enabled/disabled here and a test for v2 enabled/disabled in the v2 test code. I wouldn\u0027t worry about matrix testing like this.","commit_id":"1a747816352528f2edf4281a1ef03d95eec7e36d"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"55e3b7e6eb876522e1b6ff4e080088ebc49c44cc","unresolved":false,"context_lines":[{"line_number":455,"context_line":"        path \u003d \"http://%s:%d/v1/images\" % (\"127.0.0.1\", self.api_port)"},{"line_number":456,"context_line":"        http \u003d httplib2.Http()"},{"line_number":457,"context_line":"        response, content \u003d http.request(path, \u0027GET\u0027)"},{"line_number":458,"context_line":"        self.assertEqual(response.status, 500)"},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"        path \u003d \"http://%s:%d/v2/images\" % (\"127.0.0.1\", self.api_port)"},{"line_number":461,"context_line":"        http \u003d httplib2.Http()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2Fg3k%3D","line":458,"updated":"2012-09-05 06:12:39.000000000","message":"Shouldn\u0027t we expect 404 rather than 500?","commit_id":"1a747816352528f2edf4281a1ef03d95eec7e36d"},{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"d19c271a6fd51174034e37381cd525e3a93fe325","unresolved":false,"context_lines":[{"line_number":455,"context_line":"        path \u003d \"http://%s:%d/v1/images\" % (\"127.0.0.1\", self.api_port)"},{"line_number":456,"context_line":"        http \u003d httplib2.Http()"},{"line_number":457,"context_line":"        response, content \u003d http.request(path, \u0027GET\u0027)"},{"line_number":458,"context_line":"        self.assertEqual(response.status, 500)"},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"        path \u003d \"http://%s:%d/v2/images\" % (\"127.0.0.1\", self.api_port)"},{"line_number":461,"context_line":"        http \u003d httplib2.Http()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2FgnM%3D","line":458,"in_reply_to":"AAAALH%2F%2Fg3k%3D","updated":"2012-09-05 14:55:43.000000000","message":"It should actually be 300 and return the multiple-choices response. I wasn\u0027t sure about this until I realized that we should really treat it just like we would for a non-existant version.","commit_id":"1a747816352528f2edf4281a1ef03d95eec7e36d"}],"glance/tests/functional/v2/test_images.py":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"55e3b7e6eb876522e1b6ff4e080088ebc49c44cc","unresolved":false,"context_lines":[{"line_number":472,"context_line":"        base_headers.update(custom_headers or {})"},{"line_number":473,"context_line":"        return base_headers"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    def test_v2_not_enabled_v1_enabled(self):"},{"line_number":476,"context_line":"        self.api_server.enable_v2_api \u003d False"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        self.start_servers(**self.__dict__.copy())"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2Fg3c%3D","line":475,"updated":"2012-09-05 06:12:39.000000000","message":"Should this be here? or in the v1 tests?","commit_id":"1a747816352528f2edf4281a1ef03d95eec7e36d"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"55e3b7e6eb876522e1b6ff4e080088ebc49c44cc","unresolved":false,"context_lines":[{"line_number":478,"context_line":"        self.start_servers(**self.__dict__.copy())"},{"line_number":479,"context_line":"        path \u003d self._url(\u0027/v2/images\u0027)"},{"line_number":480,"context_line":"        response \u003d requests.get(path, headers\u003dself._headers())"},{"line_number":481,"context_line":"        self.assertEqual(500, response.status_code)"},{"line_number":482,"context_line":""},{"line_number":483,"context_line":"        path \u003d self._url(\u0027/v1/images\u0027)"},{"line_number":484,"context_line":"        response \u003d requests.get(path, headers\u003dself._headers())"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAALH%2F%2Fg3Y%3D","line":481,"updated":"2012-09-05 06:12:39.000000000","message":"Shouldn\u0027t we expect 404 Not Found instead of 500?","commit_id":"1a747816352528f2edf4281a1ef03d95eec7e36d"}]}
