)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e2cf0c317be91f0d250277e5d078615b3b5c5d7c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"giving him Quota advantages."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This commit introduces a float-valued option"},{"line_number":16,"context_line":"(called storage_policy_factor_\u003cpolicy-name\u003e)"},{"line_number":17,"context_line":"for each storage policy, denoting"},{"line_number":18,"context_line":"a Quota weight factor for the bytes stored inside. E.g. if a storage policy has"},{"line_number":19,"context_line":"a weight of 0.5, only half of the bytes are charged for the quota. It is also"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f436f4f_2e70a2dc","line":16,"range":{"start_line":16,"start_character":30,"end_line":16,"end_character":43},"updated":"2017-08-17 19:39:04.000000000","message":"So are we looking up by policy name rather than number? It seems like it would be better to tie this to policy index (which should be more or less immutable).","commit_id":"88f697a65c94e6fb3be1a88755ac9573559de02c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e2cf0c317be91f0d250277e5d078615b3b5c5d7c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"(called storage_policy_factor_\u003cpolicy-name\u003e)"},{"line_number":17,"context_line":"for each storage policy, denoting"},{"line_number":18,"context_line":"a Quota weight factor for the bytes stored inside. E.g. if a storage policy has"},{"line_number":19,"context_line":"a weight of 0.5, only half of the bytes are charged for the quota. It is also"},{"line_number":20,"context_line":"possible to specify negative numbers, meaning that bytes stored in this"},{"line_number":21,"context_line":"policy allow to store additional bytes in overall."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"One Use-case: Imagine there exist two policies, 3x Replica and EC with 1.5x"},{"line_number":24,"context_line":"total storage. The EC Policy would store only half of the bytes as the 3x"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f436f4f_8ed1ce32","line":21,"range":{"start_line":19,"start_character":67,"end_line":21,"end_character":50},"updated":"2017-08-17 19:39:04.000000000","message":"Do we have a use-case in mind for this, or is this just something that happens to fall out of the work? Would it be better to raise an error until a use-case presents itself? This really seems like a mis-configuration.","commit_id":"88f697a65c94e6fb3be1a88755ac9573559de02c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e2cf0c317be91f0d250277e5d078615b3b5c5d7c","unresolved":false,"context_lines":[{"line_number":24,"context_line":"total storage. The EC Policy would store only half of the bytes as the 3x"},{"line_number":25,"context_line":"Replica. One could weight the EC Policy with a 0.5 factor"},{"line_number":26,"context_line":"to forward the economization to the end-user or to motivate him to use this"},{"line_number":27,"context_line":"policy."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Change-Id: Ic66ccb51f76bc7727212a3565acc160a7e168736"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9f436f4f_ce2c76ae","line":27,"updated":"2017-08-17 19:39:04.000000000","message":"Why isn\u0027t this done post-facto, as IT chargeback/showback?","commit_id":"88f697a65c94e6fb3be1a88755ac9573559de02c"}],"etc/proxy-server.conf-sample":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e2cf0c317be91f0d250277e5d078615b3b5c5d7c","unresolved":false,"context_lines":[{"line_number":785,"context_line":"# Negative numbers are also allowed, which means that storing inside the"},{"line_number":786,"context_line":"# policy would reduce the overall charged bytes from other policies."},{"line_number":787,"context_line":"# Default value is 1.0 ."},{"line_number":788,"context_line":"#storage_policy_factor_Policy-0 \u003d 1.0"},{"line_number":789,"context_line":""},{"line_number":790,"context_line":"[filter:gatekeeper]"},{"line_number":791,"context_line":"use \u003d egg:swift#gatekeeper"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"9f436f4f_8e18ae84","line":788,"updated":"2017-08-17 19:39:04.000000000","message":"Romain\u0027s thought about applying different pricing based on customer country reminds me: Some proxy-server options really need to be consistent across a cluster (like, say, whether encryption is enabled, and if so, what the key is) while others very much *can* vary between, say, regions (read_affinity, I\u0027m looking at you!) -- on which side of that split do you see this option falling?","commit_id":"88f697a65c94e6fb3be1a88755ac9573559de02c"}],"test/unit/common/middleware/test_account_quotas.py":[{"author":{"_account_id":4608,"name":"Kota Tsuyuzaki","email":"bloodeagle40234@gmail.com","username":"tsuyuzaki-kota"},"change_message_id":"391ec1ea99cb2d4b04fcf5d4727fc282d8c13a6e","unresolved":false,"context_lines":[{"line_number":194,"context_line":"    @mock.patch(\u0027swift.common.middleware.account_quotas.POLICIES\u0027, mock.Mock())"},{"line_number":195,"context_line":"    def test_exceed_bytes_spolicy(self):"},{"line_number":196,"context_line":"        headers \u003d [(\u0027x-account-bytes-used\u0027, \u0027751\u0027),"},{"line_number":197,"context_line":"                   (\u0027x-account-storage-policy-first-bytes-used\u0027, 500),"},{"line_number":198,"context_line":"                   (\u0027x-account-meta-quota-bytes\u0027, 1500)]"},{"line_number":199,"context_line":"        app \u003d account_quotas.AccountQuotaMiddleware("},{"line_number":200,"context_line":"            FakeApp(headers), {\u0027storage_policy_factor_first\u0027: 2.5})"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_a4be05ab","line":197,"updated":"2017-08-17 08:40:35.000000000","message":"This test looks strange because x-account-bytes-used should be sum for each x-account-storage-policy-\u003cpolicy_name\u003e-bytes-used, right?","commit_id":"6af7bff230d4860f915dee9a306aa2c06feb5bf6"},{"author":{"_account_id":17245,"name":"Christopher Bartz","email":"bartz@dkrz.de","username":"cbartz"},"change_message_id":"fd0013936e73bcf6bb9fba9eb2fa73af3605eaf7","unresolved":false,"context_lines":[{"line_number":194,"context_line":"    @mock.patch(\u0027swift.common.middleware.account_quotas.POLICIES\u0027, mock.Mock())"},{"line_number":195,"context_line":"    def test_exceed_bytes_spolicy(self):"},{"line_number":196,"context_line":"        headers \u003d [(\u0027x-account-bytes-used\u0027, \u0027751\u0027),"},{"line_number":197,"context_line":"                   (\u0027x-account-storage-policy-first-bytes-used\u0027, 500),"},{"line_number":198,"context_line":"                   (\u0027x-account-meta-quota-bytes\u0027, 1500)]"},{"line_number":199,"context_line":"        app \u003d account_quotas.AccountQuotaMiddleware("},{"line_number":200,"context_line":"            FakeApp(headers), {\u0027storage_policy_factor_first\u0027: 2.5})"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_32580ef9","line":197,"in_reply_to":"9f436f4f_a4be05ab","updated":"2017-08-17 13:15:20.000000000","message":"Actually, I am just skipping the \"other\" virtual storage-policies because it wouldn\u0027t make a difference to state them here.","commit_id":"6af7bff230d4860f915dee9a306aa2c06feb5bf6"}]}
