)]}'
{"nova/policies/servers.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"cd88914de87333a36054c9a7b371c6ab18da3b67","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from oslo_policy import policy"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from nova.policies import _common"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RULE_AOO \u003d \u0027rule:admin_or_owner\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3aaa91ec_842105a2","line":16,"updated":"2016-06-23 12:59:17.000000000","message":"this is now gone, so this patch needs a redo","commit_id":"f8eb8aac3410bb63042ed7e3f99deaa8d3896ce3"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"4a6a13859407f1818841a75f4060a64a74a5bbad","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from oslo_policy import policy"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from nova.policies import _common"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RULE_AOO \u003d \u0027rule:admin_or_owner\u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3aaa91ec_84a6250e","line":16,"in_reply_to":"3aaa91ec_842105a2","updated":"2016-06-23 13:01:08.000000000","message":"yeah. missed this one.","commit_id":"f8eb8aac3410bb63042ed7e3f99deaa8d3896ce3"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"88355cb35cf7ab0925bf2f9da8192bf046e67309","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from nova.policies import base"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RULE_AOO \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":20,"context_line":"SERVERS \u003d \u0027os_compute_api:servers:%s\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"rules \u003d ["}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_28c4495d","line":19,"updated":"2016-06-23 20:43:36.000000000","message":"we could probably move that back into base as well, but I\u0027m also happy with that as a follow on patch.","commit_id":"8d8f022dfe907a2e184161dc428efcf86c83b6b2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c5867982f88166a2cbaf96128eba5abcb9bfdcd0","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from nova.policies import base"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"RULE_AOO \u003d \u0027rule:admin_or_owner\u0027"},{"line_number":20,"context_line":"SERVERS \u003d \u0027os_compute_api:servers:%s\u0027"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"rules \u003d ["}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_d1bb97e3","line":19,"in_reply_to":"3aaa91ec_28c4495d","updated":"2016-06-24 09:10:59.000000000","message":"+1","commit_id":"8d8f022dfe907a2e184161dc428efcf86c83b6b2"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"35014b145b35c19cbe8ac6962696af31c38cfead","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    policy.RuleDefault(SERVERS % \u0027detail:get_all_tenants\u0027, RULE_AOO),"},{"line_number":26,"context_line":"    policy.RuleDefault(SERVERS % \u0027index:get_all_tenants\u0027, RULE_AOO),"},{"line_number":27,"context_line":"    policy.RuleDefault(SERVERS % \u0027show\u0027, RULE_AOO),"},{"line_number":28,"context_line":"    policy.RuleDefault(SERVERS % \u0027show:host_status\u0027, RULE_AOO),"},{"line_number":29,"context_line":"    policy.RuleDefault(SERVERS % \u0027create\u0027, RULE_AOO),"},{"line_number":30,"context_line":"    policy.RuleDefault(SERVERS % \u0027create:forced_host\u0027, RULE_AOO),"},{"line_number":31,"context_line":"    policy.RuleDefault(SERVERS % \u0027create:attach_volume\u0027, RULE_AOO),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_5d46a04f","line":28,"range":{"start_line":28,"start_character":53,"end_line":28,"end_character":61},"updated":"2016-06-24 07:42:49.000000000","message":"https://github.com/openstack/nova/blob/master/etc/nova/policy.json#L11\n\nseems this is admin only ?","commit_id":"8d8f022dfe907a2e184161dc428efcf86c83b6b2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"c5867982f88166a2cbaf96128eba5abcb9bfdcd0","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    policy.RuleDefault(SERVERS % \u0027detail:get_all_tenants\u0027, RULE_AOO),"},{"line_number":26,"context_line":"    policy.RuleDefault(SERVERS % \u0027index:get_all_tenants\u0027, RULE_AOO),"},{"line_number":27,"context_line":"    policy.RuleDefault(SERVERS % \u0027show\u0027, RULE_AOO),"},{"line_number":28,"context_line":"    policy.RuleDefault(SERVERS % \u0027show:host_status\u0027, RULE_AOO),"},{"line_number":29,"context_line":"    policy.RuleDefault(SERVERS % \u0027create\u0027, RULE_AOO),"},{"line_number":30,"context_line":"    policy.RuleDefault(SERVERS % \u0027create:forced_host\u0027, RULE_AOO),"},{"line_number":31,"context_line":"    policy.RuleDefault(SERVERS % \u0027create:attach_volume\u0027, RULE_AOO),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_711583e3","line":28,"range":{"start_line":28,"start_character":53,"end_line":28,"end_character":61},"in_reply_to":"3aaa91ec_5d46a04f","updated":"2016-06-24 09:10:59.000000000","message":"+1 good catch.\n\nIt worries me that the unit tests haven\u0027t spotted that...","commit_id":"8d8f022dfe907a2e184161dc428efcf86c83b6b2"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"b8e44e64ef7bba14ede6a157443e499d4896eae9","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    policy.RuleDefault(SERVERS % \u0027detail:get_all_tenants\u0027, RULE_AOO),"},{"line_number":26,"context_line":"    policy.RuleDefault(SERVERS % \u0027index:get_all_tenants\u0027, RULE_AOO),"},{"line_number":27,"context_line":"    policy.RuleDefault(SERVERS % \u0027show\u0027, RULE_AOO),"},{"line_number":28,"context_line":"    policy.RuleDefault(SERVERS % \u0027show:host_status\u0027, RULE_AOO),"},{"line_number":29,"context_line":"    policy.RuleDefault(SERVERS % \u0027create\u0027, RULE_AOO),"},{"line_number":30,"context_line":"    policy.RuleDefault(SERVERS % \u0027create:forced_host\u0027, RULE_AOO),"},{"line_number":31,"context_line":"    policy.RuleDefault(SERVERS % \u0027create:attach_volume\u0027, RULE_AOO),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_d51540e5","line":28,"range":{"start_line":28,"start_character":53,"end_line":28,"end_character":61},"in_reply_to":"3aaa91ec_711583e3","updated":"2016-06-24 10:10:09.000000000","message":"however, tempest strict parameter checking did. So that\u0027s a win!","commit_id":"8d8f022dfe907a2e184161dc428efcf86c83b6b2"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"36b6e6c3e211c678766b774be6003ac31b5062a7","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    policy.RuleDefault(SERVERS % \u0027detail:get_all_tenants\u0027, RULE_AOO),"},{"line_number":26,"context_line":"    policy.RuleDefault(SERVERS % \u0027index:get_all_tenants\u0027, RULE_AOO),"},{"line_number":27,"context_line":"    policy.RuleDefault(SERVERS % \u0027show\u0027, RULE_AOO),"},{"line_number":28,"context_line":"    policy.RuleDefault(SERVERS % \u0027show:host_status\u0027, RULE_AOO),"},{"line_number":29,"context_line":"    policy.RuleDefault(SERVERS % \u0027create\u0027, RULE_AOO),"},{"line_number":30,"context_line":"    policy.RuleDefault(SERVERS % \u0027create:forced_host\u0027, RULE_AOO),"},{"line_number":31,"context_line":"    policy.RuleDefault(SERVERS % \u0027create:attach_volume\u0027, RULE_AOO),"}],"source_content_type":"text/x-python","patch_set":11,"id":"3aaa91ec_18d7ff4b","line":28,"range":{"start_line":28,"start_character":53,"end_line":28,"end_character":61},"in_reply_to":"3aaa91ec_d51540e5","updated":"2016-06-24 10:28:08.000000000","message":"yeah, human error, I guess. For most of the policy rules I\u0027ve had a script generating all of these files. For servers I had to update manually.","commit_id":"8d8f022dfe907a2e184161dc428efcf86c83b6b2"}]}
