)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a749ad288ccde61d961443b78387dc64f6c14e3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add granular policy rules for /resource_classes*"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This adds policy rules or the various /resource_classes*"},{"line_number":10,"context_line":"routes with the default being backward compatible with"},{"line_number":11,"context_line":"existing deployments (requires role:admin)."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5f7c97a3_4b6a49b3","line":9,"range":{"start_line":9,"start_character":23,"end_line":9,"end_character":25},"updated":"2018-05-24 22:40:08.000000000","message":"for","commit_id":"77973ba7c58b522b03b1a5cf51cf223132d9ad97"}],"nova/api/openstack/placement/policies/resource_class.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a749ad288ccde61d961443b78387dc64f6c14e3","unresolved":false,"context_lines":[{"line_number":26,"context_line":"rules \u003d ["},{"line_number":27,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":28,"context_line":"        LIST,"},{"line_number":29,"context_line":"        base.RULE_ADMIN_API,"},{"line_number":30,"context_line":"        \"List resource classes.\","},{"line_number":31,"context_line":"        ["},{"line_number":32,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_8ba141fa","line":29,"range":{"start_line":29,"start_character":8,"end_line":29,"end_character":28},"updated":"2018-05-24 22:40:08.000000000","message":"the list and get operations can probably be relaxed to non-admin later on I think. not in this patch, though, just for a future patch.","commit_id":"77973ba7c58b522b03b1a5cf51cf223132d9ad97"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"cbf16158621cb7e7c6c0eb3b222bbb7790666f4e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"rules \u003d ["},{"line_number":27,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":28,"context_line":"        LIST,"},{"line_number":29,"context_line":"        base.RULE_ADMIN_API,"},{"line_number":30,"context_line":"        \"List resource classes.\","},{"line_number":31,"context_line":"        ["},{"line_number":32,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3e2edf8b","line":29,"range":{"start_line":29,"start_character":8,"end_line":29,"end_character":28},"in_reply_to":"5f7c97a3_8ba141fa","updated":"2018-05-31 06:51:41.000000000","message":"+1, once we have default roles ready we can make those changes - https://review.openstack.org/#/c/523973/","commit_id":"77973ba7c58b522b03b1a5cf51cf223132d9ad97"}],"nova/tests/functional/api/openstack/placement/gabbits/resource-classes-policy.yaml":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b70ffe3f4f27c703574f76398bdcb534dad63d29","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  data:"},{"line_number":26,"context_line":"      name: CUSTOM_RES_CLASS_POLICY"},{"line_number":27,"context_line":"  status: 201"},{"line_number":28,"context_line":"  response_headers:"},{"line_number":29,"context_line":"      location: //resource_classes/CUSTOM_RES_CLASS_POLICY/"},{"line_number":30,"context_line":"  response_forbidden_headers:"},{"line_number":31,"context_line":"      - content-type"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_5dc0c62a","line":28,"updated":"2018-05-10 16:10:09.000000000","message":"As before I\u0027d remove these extra bits and just confirm it works.","commit_id":"972cc0afdb7d514911f2dc30c7b6d1b9116187f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f7a3c2667160e27748df2fbdd77614ce8af33bf8","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  data:"},{"line_number":26,"context_line":"      name: CUSTOM_RES_CLASS_POLICY"},{"line_number":27,"context_line":"  status: 201"},{"line_number":28,"context_line":"  response_headers:"},{"line_number":29,"context_line":"      location: //resource_classes/CUSTOM_RES_CLASS_POLICY/"},{"line_number":30,"context_line":"  response_forbidden_headers:"},{"line_number":31,"context_line":"      - content-type"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_f32a222a","line":28,"in_reply_to":"5f7c97a3_5dc0c62a","updated":"2018-05-10 18:04:58.000000000","message":"I\u0027ll just remove the response header validation.","commit_id":"972cc0afdb7d514911f2dc30c7b6d1b9116187f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"257648a4cbc51515fc02229c8e527f7c729eb06b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  data:"},{"line_number":26,"context_line":"      name: CUSTOM_RES_CLASS_POLICY"},{"line_number":27,"context_line":"  status: 201"},{"line_number":28,"context_line":"  response_headers:"},{"line_number":29,"context_line":"      location: //resource_classes/CUSTOM_RES_CLASS_POLICY/"},{"line_number":30,"context_line":"  response_forbidden_headers:"},{"line_number":31,"context_line":"      - content-type"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_67aa9619","line":28,"in_reply_to":"5f7c97a3_f32a222a","updated":"2018-05-14 16:12:27.000000000","message":"Done","commit_id":"972cc0afdb7d514911f2dc30c7b6d1b9116187f1"}],"nova/tests/functional/api/openstack/placement/gabbits/resource-classes.yaml":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"b70ffe3f4f27c703574f76398bdcb534dad63d29","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  response_json_paths:"},{"line_number":64,"context_line":"      $.errors[0].title: Forbidden"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: non json not acceptable"},{"line_number":67,"context_line":"  GET: /resource_classes"},{"line_number":68,"context_line":"  request_headers:"},{"line_number":69,"context_line":"      accept: text/plain"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_7dd26202","line":66,"updated":"2018-05-10 16:10:09.000000000","message":"and same comment on this one too","commit_id":"972cc0afdb7d514911f2dc30c7b6d1b9116187f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f7a3c2667160e27748df2fbdd77614ce8af33bf8","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  response_json_paths:"},{"line_number":64,"context_line":"      $.errors[0].title: Forbidden"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: non json not acceptable"},{"line_number":67,"context_line":"  GET: /resource_classes"},{"line_number":68,"context_line":"  request_headers:"},{"line_number":69,"context_line":"      accept: text/plain"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_9323ae56","line":66,"in_reply_to":"5f7c97a3_7dd26202","updated":"2018-05-10 18:04:58.000000000","message":"Same response.","commit_id":"972cc0afdb7d514911f2dc30c7b6d1b9116187f1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"257648a4cbc51515fc02229c8e527f7c729eb06b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  response_json_paths:"},{"line_number":64,"context_line":"      $.errors[0].title: Forbidden"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: non json not acceptable"},{"line_number":67,"context_line":"  GET: /resource_classes"},{"line_number":68,"context_line":"  request_headers:"},{"line_number":69,"context_line":"      accept: text/plain"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5f7c97a3_87a57249","line":66,"in_reply_to":"5f7c97a3_9323ae56","updated":"2018-05-14 16:12:27.000000000","message":"Done","commit_id":"972cc0afdb7d514911f2dc30c7b6d1b9116187f1"}]}
