)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b6542d8c7b1f509b1994f1d824b9b6558aa08d95","unresolved":false,"context_lines":[{"line_number":9,"context_line":"There is no policy check consoles v3(v2.1) API. This patch"},{"line_number":10,"context_line":"adds policy check for each operations."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partially implements blueprint v2-on-v3-api"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia0aa260ac31eb359275273fdcdfbfde3cfc47d87"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"fa81d914_91c0e27d","line":12,"updated":"2015-01-29 12:25:42.000000000","message":"Here should be\n\n Partially implements bp v3-api-policy\n\nbecause the above bp handles this kind of changes and v2.1 spec doesn\u0027t cover this as the scope.","commit_id":"f7bb870cbe644bd8ee946d34840b0242c2e19d4c"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"285a46c61d66a1c98edc357348999f71206b2022","unresolved":false,"context_lines":[{"line_number":9,"context_line":"There is no policy check consoles v3(v2.1) API. This patch"},{"line_number":10,"context_line":"adds policy check for each operations."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partially implements blueprint v2-on-v3-api"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia0aa260ac31eb359275273fdcdfbfde3cfc47d87"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"da86d52c_98aea1e6","line":12,"in_reply_to":"fa81d914_91c0e27d","updated":"2015-01-30 22:11:11.000000000","message":"Done","commit_id":"f7bb870cbe644bd8ee946d34840b0242c2e19d4c"}],"etc/nova/policy.json":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"ea463c8ce8f119eb71e170908c1ccc37f5621461","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    \"compute_extension:cloudpipe_update\": \"rule:admin_api\","},{"line_number":90,"context_line":"    \"compute_extension:console_output\": \"\","},{"line_number":91,"context_line":"    \"compute_extension:v3:os-consoles:discoverable\": \"\","},{"line_number":92,"context_line":"    \"compute_extension:v3:os-consoles\": \"\","},{"line_number":93,"context_line":"    \"compute_extension:v3:os-consoles:create\": \"\","},{"line_number":94,"context_line":"    \"compute_extension:v3:os-consoles:delete\": \"\","},{"line_number":95,"context_line":"    \"compute_extension:v3:os-consoles:index\": \"\","}],"source_content_type":"application/json","patch_set":6,"id":"fa81d914_38bb9273","line":92,"updated":"2015-01-29 15:03:14.000000000","message":"this is useless","commit_id":"f7bb870cbe644bd8ee946d34840b0242c2e19d4c"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"285a46c61d66a1c98edc357348999f71206b2022","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    \"compute_extension:cloudpipe_update\": \"rule:admin_api\","},{"line_number":90,"context_line":"    \"compute_extension:console_output\": \"\","},{"line_number":91,"context_line":"    \"compute_extension:v3:os-consoles:discoverable\": \"\","},{"line_number":92,"context_line":"    \"compute_extension:v3:os-consoles\": \"\","},{"line_number":93,"context_line":"    \"compute_extension:v3:os-consoles:create\": \"\","},{"line_number":94,"context_line":"    \"compute_extension:v3:os-consoles:delete\": \"\","},{"line_number":95,"context_line":"    \"compute_extension:v3:os-consoles:index\": \"\","}],"source_content_type":"application/json","patch_set":6,"id":"da86d52c_f8b5dd31","line":92,"in_reply_to":"fa81d914_38bb9273","updated":"2015-01-30 22:11:11.000000000","message":"Done","commit_id":"f7bb870cbe644bd8ee946d34840b0242c2e19d4c"}],"nova/api/openstack/compute/plugins/v3/consoles.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"700b31aa29576ed769bee546d353d34edbda69b8","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"ALIAS \u003d \u0027os-consoles\u0027"},{"line_number":25,"context_line":"authorize \u003d extensions.extension_authorizer(\u0027compute\u0027, \u0027v3:\u0027 + ALIAS)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def _translate_keys(cons):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba7be1f8_2fa2f84a","line":25,"updated":"2015-02-26 02:21:28.000000000","message":"Why don\u0027t you use os_compute_authorizer() ?\nOn the other patches, we are using it and we can remove \"\u0027compute\u0027, \u0027v3:\u0027\" from each plugin with the method.","commit_id":"03b4102ffd845019b3cefe4e2150bda9ca83fa44"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"fc405792405055fcf76b40124e02a380a69323e2","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"ALIAS \u003d \u0027os-consoles\u0027"},{"line_number":25,"context_line":"authorize \u003d extensions.extension_authorizer(\u0027compute\u0027, \u0027v3:\u0027 + ALIAS)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def _translate_keys(cons):"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_d8aff492","line":25,"in_reply_to":"ba7be1f8_2fa2f84a","updated":"2015-03-05 14:22:57.000000000","message":"Done","commit_id":"03b4102ffd845019b3cefe4e2150bda9ca83fa44"}],"nova/tests/unit/api/openstack/compute/test_consoles.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"b929b30199f8a2744e707a79b9514042b78e571e","unresolved":false,"context_lines":[{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def _test_fail_policy(self, rule, action, data\u003dNone):"},{"line_number":269,"context_line":"        rules \u003d {"},{"line_number":270,"context_line":"            rule: common_policy.parse_rule(\"dummy:dummy\"),"},{"line_number":271,"context_line":"        }"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"        policy.set_rules(rules)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da86d52c_0b2faba2","line":270,"updated":"2015-02-01 05:36:36.000000000","message":"just use \u0027!\u0027 as the rule. dummy:dummy is not valid rule I think","commit_id":"0e635a412e22817186a96fcc251e86fee5aadd38"}]}
