)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"099c9db456d4aaedc8603222a31c8c94465ba83a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add tenant_id admin filter to limits API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\"cinder absolute-limits\" command supports \u003ctenant_id\u003e filter,"},{"line_number":10,"context_line":"But server side doesn\u0027t, this patch add the support for server"},{"line_number":11,"context_line":"side."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-bug: #1668416"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3f044301_c6c42162","line":10,"range":{"start_line":10,"start_character":36,"end_line":10,"end_character":40},"updated":"2017-05-08 05:05:14.000000000","message":"adds","commit_id":"dd9bf9d4b48ffd719886594ce176a8a36ff55764"}],"cinder/api/contrib/used_limits.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"099c9db456d4aaedc8603222a31c8c94465ba83a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            params \u003d req.params.copy()"},{"line_number":31,"context_line":"            req_version \u003d req.api_version_request"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            # Remove tenant_id filter from params if max version is less than"},{"line_number":34,"context_line":"            # 3.31 or the context is not admin."},{"line_number":35,"context_line":"            if req_version.matches(None, \"3.30\") or not context.is_admin:"},{"line_number":36,"context_line":"                params.pop(\u0027tenant_id\u0027, None)"},{"line_number":37,"context_line":"            tenant_id \u003d params.get(\u0027tenant_id\u0027, context.project_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f044301_46aed198","line":34,"range":{"start_line":33,"start_character":10,"end_line":34,"end_character":47},"updated":"2017-05-08 05:05:14.000000000","message":"This comment is redundant. it\u0027s clear itself by reading the code below.","commit_id":"dd9bf9d4b48ffd719886594ce176a8a36ff55764"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"96d7f35df26268ac6979266e9dc21de31a6c4a0e","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            if req_version.matches(None, \"3.34\") or not context.is_admin:"},{"line_number":34,"context_line":"                params.pop(\u0027tenant_id\u0027, None)"},{"line_number":35,"context_line":"            tenant_id \u003d params.get(\u0027tenant_id\u0027, context.project_id)"},{"line_number":36,"context_line":"            quotas \u003d QUOTAS.get_project_quotas(context, tenant_id,"},{"line_number":37,"context_line":"                                               usages\u003dTrue)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ff0f0b1f_a96842f4","line":35,"range":{"start_line":35,"start_character":12,"end_line":35,"end_character":21},"updated":"2017-05-25 02:48:27.000000000","message":"Could we use project_id here?","commit_id":"b0075853f874f6444fd12c6629d340d204f831e5"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"f55b94891b9f3955c69bf1065150cc918e609159","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"            if req_version.matches(None, \"3.34\") or not context.is_admin:"},{"line_number":34,"context_line":"                params.pop(\u0027tenant_id\u0027, None)"},{"line_number":35,"context_line":"            tenant_id \u003d params.get(\u0027tenant_id\u0027, context.project_id)"},{"line_number":36,"context_line":"            quotas \u003d QUOTAS.get_project_quotas(context, tenant_id,"},{"line_number":37,"context_line":"                                               usages\u003dTrue)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ff0f0b1f_64cdafb5","line":35,"range":{"start_line":35,"start_character":12,"end_line":35,"end_character":21},"in_reply_to":"ff0f0b1f_a96842f4","updated":"2017-05-25 03:04:59.000000000","message":"Client now use tenant_id.\n\nWe can support both tenant_id and project_id here.","commit_id":"b0075853f874f6444fd12c6629d340d204f831e5"}],"cinder/api/v3/limits.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"099c9db456d4aaedc8603222a31c8c94465ba83a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        params \u003d req.params.copy()"},{"line_number":31,"context_line":"        req_version \u003d req.api_version_request"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        # Remove tenant_id filter from params if max version is less than 3.31"},{"line_number":34,"context_line":"        # or the context is not admin."},{"line_number":35,"context_line":"        if req_version.matches(None, \"3.30\") or not context.is_admin:"},{"line_number":36,"context_line":"            params.pop(\u0027tenant_id\u0027, None)"},{"line_number":37,"context_line":"        tenant_id \u003d params.get(\u0027tenant_id\u0027, context.project_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f044301_e69efd61","line":34,"range":{"start_line":33,"start_character":7,"end_line":34,"end_character":38},"updated":"2017-05-08 05:05:14.000000000","message":"This comment is redundant.","commit_id":"dd9bf9d4b48ffd719886594ce176a8a36ff55764"}],"cinder/tests/unit/api/v3/test_limits.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"099c9db456d4aaedc8603222a31c8c94465ba83a","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"@ddt.ddt"},{"line_number":27,"context_line":"class SnapshotApiTest(test.TestCase):"},{"line_number":28,"context_line":"    def setUp(self):"},{"line_number":29,"context_line":"        super(SnapshotApiTest, self).setUp()"},{"line_number":30,"context_line":"        self.controller \u003d limits.LimitsController()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f044301_66842d0d","line":27,"range":{"start_line":27,"start_character":6,"end_line":27,"end_character":21},"updated":"2017-05-08 05:05:14.000000000","message":"SnapshotApiTest?","commit_id":"dd9bf9d4b48ffd719886594ce176a8a36ff55764"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"898b5606352a2725fc2cca806915495993e2535a","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"@ddt.ddt"},{"line_number":27,"context_line":"class SnapshotApiTest(test.TestCase):"},{"line_number":28,"context_line":"    def setUp(self):"},{"line_number":29,"context_line":"        super(SnapshotApiTest, self).setUp()"},{"line_number":30,"context_line":"        self.controller \u003d limits.LimitsController()"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f044301_fc832ca8","line":27,"range":{"start_line":27,"start_character":6,"end_line":27,"end_character":21},"in_reply_to":"3f044301_66842d0d","updated":"2017-05-08 07:47:30.000000000","message":"Done","commit_id":"dd9bf9d4b48ffd719886594ce176a8a36ff55764"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"099c9db456d4aaedc8603222a31c8c94465ba83a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"@ddt.ddt"},{"line_number":27,"context_line":"class SnapshotApiTest(test.TestCase):"},{"line_number":28,"context_line":"    def setUp(self):"},{"line_number":29,"context_line":"        super(SnapshotApiTest, self).setUp()"},{"line_number":30,"context_line":"        self.controller \u003d limits.LimitsController()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @ddt.data((\u00273.30\u0027, True), (\u00273.30\u0027, False), (\u00273.31\u0027, True), (\u00273.31\u0027, False))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f044301_c6a781a7","line":29,"range":{"start_line":29,"start_character":14,"end_line":29,"end_character":29},"updated":"2017-05-08 05:05:14.000000000","message":"ditto","commit_id":"dd9bf9d4b48ffd719886594ce176a8a36ff55764"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"898b5606352a2725fc2cca806915495993e2535a","unresolved":false,"context_lines":[{"line_number":26,"context_line":"@ddt.ddt"},{"line_number":27,"context_line":"class SnapshotApiTest(test.TestCase):"},{"line_number":28,"context_line":"    def setUp(self):"},{"line_number":29,"context_line":"        super(SnapshotApiTest, self).setUp()"},{"line_number":30,"context_line":"        self.controller \u003d limits.LimitsController()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @ddt.data((\u00273.30\u0027, True), (\u00273.30\u0027, False), (\u00273.31\u0027, True), (\u00273.31\u0027, False))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f044301_dc92b0f6","line":29,"range":{"start_line":29,"start_character":14,"end_line":29,"end_character":29},"in_reply_to":"3f044301_c6a781a7","updated":"2017-05-08 07:47:30.000000000","message":"Done","commit_id":"dd9bf9d4b48ffd719886594ce176a8a36ff55764"}],"releasenotes/notes/support-tenant-id-filter-for-limit-bc5d49e239baee2a.yaml":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"4df40924b122b9dc46535e67f42501d39aa0ddc1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Supported ``tenant_id`` admin filters to limits API."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"ff0f0b1f_4df52056","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":13},"updated":"2017-05-25 14:28:27.000000000","message":"Add support for","commit_id":"7c31063b3dc3e32e0a6cfcb06c040b24603ce3e3"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"3859bfdb6c18059675167a85723faca9503b9d28","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Supported ``tenant_id`` admin filters to limits API."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"ff0f0b1f_88f6865c","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":13},"in_reply_to":"ff0f0b1f_4df52056","updated":"2017-05-25 14:55:27.000000000","message":"Done","commit_id":"7c31063b3dc3e32e0a6cfcb06c040b24603ce3e3"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e115c93877812a2ecb4fc0ebd573ced3697feaf1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Supported ``tenant_id`` admin filters to limits API."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"7f231b9d_b4611208","line":3,"range":{"start_line":3,"start_character":16,"end_line":3,"end_character":25},"updated":"2017-06-14 22:06:27.000000000","message":"We should be using project_id now as the \"tenant\" term has been deprecated for some time. Can you update this to project_id?","commit_id":"42b9d41762b0040f56ba27757d82365ac9450f7c"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"18c3ad8ae7e02900e236ce146d5307d39eef55c1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Supported ``tenant_id`` admin filters to limits API."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"7f231b9d_6875d931","line":3,"range":{"start_line":3,"start_character":16,"end_line":3,"end_character":25},"in_reply_to":"7f231b9d_b4611208","updated":"2017-06-15 01:21:45.000000000","message":"Done","commit_id":"42b9d41762b0040f56ba27757d82365ac9450f7c"}]}
