)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"9e951d6c3309041e860d441b1c2f9fa9ff29f040","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds the image_location_quota config option. This allows"},{"line_number":10,"context_line":"a deployer to limit the number of image locations allowed on an image."},{"line_number":11,"context_line":"The default value is 128, as is currently the limit enforced by Nova."},{"line_number":12,"context_line":"Users will only be able to update an image if the result of the"},{"line_number":13,"context_line":"transaction would be under this limit. This behavior is intended to"},{"line_number":14,"context_line":"be similar to \u0027quota_metadata_items\u0027 in Nova."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAUH%2F%2FqxM%3D","line":11,"updated":"2014-01-09 21:10:20.000000000","message":"default value is 10 now.","commit_id":"2bf72919c764e8f39188c5ac6802131ca8677dec"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"4ab226cf77006826e7070524ccbc604015930db2","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds the image_location_quota config option. This allows"},{"line_number":10,"context_line":"a deployer to limit the number of image locations allowed on an image."},{"line_number":11,"context_line":"The default value is 128, as is currently the limit enforced by Nova."},{"line_number":12,"context_line":"Users will only be able to update an image if the result of the"},{"line_number":13,"context_line":"transaction would be under this limit. This behavior is intended to"},{"line_number":14,"context_line":"be similar to \u0027quota_metadata_items\u0027 in Nova."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAUH%2F%2FqZw%3D","line":11,"in_reply_to":"AAAAUH%2F%2FqxM%3D","updated":"2014-01-09 22:57:45.000000000","message":"Done","commit_id":"2bf72919c764e8f39188c5ac6802131ca8677dec"}],"etc/glance-api.conf":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"832933b8ea557fb7192e9e956804dbd862505111","unresolved":false,"context_lines":[{"line_number":468,"context_line":"#image_tag_quota \u003d 128"},{"line_number":469,"context_line":""},{"line_number":470,"context_line":"# The maximum number of locations allowed per image"},{"line_number":471,"context_line":"#image_location_quota \u003d 128"},{"line_number":472,"context_line":""},{"line_number":473,"context_line":"# Set a system wide quota for every user.  This value is the total number"},{"line_number":474,"context_line":"# of bytes that a user can use across all storage systems.  A value of"}],"source_content_type":"text/plain","patch_set":2,"id":"AAAAUH%2F%2F1Sk%3D","line":471,"updated":"2014-01-07 22:49:42.000000000","message":"Per our discussion, let\u0027s consider making this default much smaller, say 10","commit_id":"78c0a86e0b1e274b6bb2539686a41a1f6da90c72"}],"glance/common/config.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"f6e952ffe106891d51f3edac61d24908961243fd","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    cfg.IntOpt(\u0027image_tag_quota\u0027, default\u003d128,"},{"line_number":54,"context_line":"               help\u003d_(\u0027Maximum number of tags allowed on an image. \u0027"},{"line_number":55,"context_line":"                      \u0027Negative values evaluate to unlimited.\u0027)),"},{"line_number":56,"context_line":"    cfg.IntOpt(\u0027image_location_quota\u0027, default\u003d128,"},{"line_number":57,"context_line":"               help\u003d_(\u0027Maximum number of locations allowed on an image. \u0027"},{"line_number":58,"context_line":"                      \u0027Negative values evaluate to unlimited.\u0027)),"},{"line_number":59,"context_line":"    cfg.StrOpt(\u0027data_api\u0027, default\u003d\u0027glance.db.sqlalchemy.api\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F0Eg%3D","line":56,"updated":"2014-01-08 06:37:30.000000000","message":"according to latest comments from markwash, I believe this should be changed to: default\u003d10","commit_id":"a73b87016eb80a1b4abafb1ffb0390d1ce086271"}],"glance/tests/functional/v2/test_images.py":[{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"832933b8ea557fb7192e9e956804dbd862505111","unresolved":false,"context_lines":[{"line_number":278,"context_line":"        response \u003d requests.patch(path, headers\u003dheaders, data\u003ddata)"},{"line_number":279,"context_line":"        self.assertEqual(413, response.status_code, response.text)"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"        # Adding 11 image locations should fail since configured limit is 10"},{"line_number":282,"context_line":"        for i in range(11):"},{"line_number":283,"context_line":"            file_path \u003d os.path.join(self.test_dir, \u0027fake_image_%i\u0027 % i)"},{"line_number":284,"context_line":"            with open(file_path, \u0027w\u0027) as fap:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2F1Q8%3D","line":281,"updated":"2014-01-07 22:49:42.000000000","message":"This functionality doesn\u0027t meet my threshold for requiring a slow functional test.","commit_id":"78c0a86e0b1e274b6bb2539686a41a1f6da90c72"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"25c4fbaee821c1b1c17b7918397f1254e4e93517","unresolved":false,"context_lines":[{"line_number":295,"context_line":"                            \u0027metadata\u0027: {}},"},{"line_number":296,"context_line":"                            })"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"        data \u003d json.dumps(changes)"},{"line_number":299,"context_line":"        response \u003d requests.patch(path, headers\u003dheaders, data\u003ddata)"},{"line_number":300,"context_line":"        self.assertEqual(413, response.status_code, response.text)"},{"line_number":301,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2Fwsk%3D","line":298,"updated":"2014-01-08 19:10:26.000000000","message":"I think you want \"jsonutils.dumps\" this changed recently.\n\nOr just remove this functional test addition :-)","commit_id":"405c13cf593a436294d9c0b51494f888371838dd"}],"glance/tests/unit/utils.py":[{"author":{"_account_id":9209,"name":"Lin Cai","email":"reachlin@gmail.com","username":"reachlin"},"change_message_id":"9fda76620f30ff61e202d0d6523f2c38723e1a11","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    def __init__(self, store_metadata\u003dNone):"},{"line_number":92,"context_line":"        self.data \u003d {"},{"line_number":93,"context_line":"            \u0027%s/%s\u0027 % (BASE_URI, UUID1): (\u0027XXX\u0027, 3),"},{"line_number":94,"context_line":"            \u0027%s/fake_location\u0027 % (BASE_URI): (\u0027YYY\u0027, 3),"},{"line_number":95,"context_line":"        }"},{"line_number":96,"context_line":"        self.acls \u003d {}"},{"line_number":97,"context_line":"        if store_metadata is None:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2Fzrg%3D","line":94,"updated":"2014-01-08 08:00:10.000000000","message":"Why put this comma at the end?","commit_id":"405c13cf593a436294d9c0b51494f888371838dd"}]}
