)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"fe5147bb727495235aa750efb7c06c01b9a7f79f","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    create-trustee-user-for-each-bay.rst"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Id959b76cb136ffbb0e6bcb8c3b83e02b30de66cf"},{"line_number":16,"context_line":"Closes-Bug: ##1536883"},{"line_number":17,"context_line":"Partially-Implements: blueprint create-trustee-user-for-each-bay"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9aed3d3a_92b4c1d1","line":16,"range":{"start_line":16,"start_character":12,"end_line":16,"end_character":14},"updated":"2016-02-27 12:11:19.000000000","message":"dup of #","commit_id":"fa1f9a7435050a0d801c799e198736a9b4327ca7"},{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"dd4f73510329147cf57f811a1c9992a752fd6ad0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"limit access to certificate and container:create"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Only the user who create the bay can create and get the certificate"},{"line_number":10,"context_line":"of the bay and create containers in the bay, which is needed by [1]."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"[1] https://github.com/openstack/magnum/blob/master/specs/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7af24918_5cfefd38","line":9,"updated":"2016-03-02 06:32:57.000000000","message":"I think this line should be, \n\n    Only the user who create the bay can get the CA certificate\n    and call the certificate signing request of the bay ...\n\nIf grammar is wrong, please fix it.","commit_id":"2c69d7ed831d24fea1f83c6422f8a9269eda1fbb"}],"etc/magnum/policy.json":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"5ea8bf60f17671bada01266cc1fa7ec6824d6986","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    \"admin_or_owner\":  \"is_admin:True or project_id:%(project_id)s\","},{"line_number":4,"context_line":"    \"default\": \"rule:admin_or_owner\","},{"line_number":5,"context_line":"    \"admin_api\": \"rule:context_is_admin\","},{"line_number":6,"context_line":"    \"user_only\": \"user_id:%(user_id)s\","},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    \"bay:create\": \"rule:default\","},{"line_number":9,"context_line":"    \"bay:delete\": \"rule:default\","}],"source_content_type":"application/json","patch_set":7,"id":"7af24918_a201963a","line":6,"range":{"start_line":6,"start_character":5,"end_line":6,"end_character":14},"updated":"2016-03-02 22:59:47.000000000","message":"This is too strong. Should be \"admin_or_user\"","commit_id":"2c69d7ed831d24fea1f83c6422f8a9269eda1fbb"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"3f7b79c0d90ea508d966b5c63f5fbb087efcce44","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    \"container:create\": \"rule:user_only\","},{"line_number":45,"context_line":"    \"container:delete\": \"rule:user_only\","},{"line_number":46,"context_line":"    \"container:detail\": \"rule:default\","},{"line_number":47,"context_line":"    \"container:get\": \"rule:default\","},{"line_number":48,"context_line":"    \"container:get_all\": \"rule:default\","},{"line_number":49,"context_line":"    \"container:update\": \"rule:user_only\","},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    \"certificate:create\": \"rule:user_only\","}],"source_content_type":"application/json","patch_set":7,"id":"7af24918_b728bae3","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":40},"updated":"2016-03-02 22:38:13.000000000","message":"Not sure if we should leave these as default. It seems setting them all to user_only will make the user experience more consistently, but I am not strong on that.","commit_id":"2c69d7ed831d24fea1f83c6422f8a9269eda1fbb"}],"magnum/api/controllers/v1/container.py":[{"author":{"_account_id":12385,"name":"Motohiro/Yuanying Otsuka","email":"yuanying@fraction.jp","username":"yuanying"},"change_message_id":"dd4f73510329147cf57f811a1c9992a752fd6ad0","unresolved":false,"context_lines":[{"line_number":432,"context_line":"                                           container_ident)"},{"line_number":433,"context_line":"        context \u003d pecan.request.context"},{"line_number":434,"context_line":"        bay \u003d api_utils.get_resource(\u0027Bay\u0027, container.bay_uuid)"},{"line_number":435,"context_line":"        policy.enforce(context, \u0027container:update\u0027, bay,"},{"line_number":436,"context_line":"                       action\u003d\u0027container:update\u0027)"},{"line_number":437,"context_line":"        pecan.request.rpcapi.container_delete(container.uuid)"},{"line_number":438,"context_line":"        container.destroy()"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_5c5a7d51","line":435,"updated":"2016-03-02 06:32:57.000000000","message":"Why are you using \u0027container:update\u0027 instead of \u0027container:delete\u0027 ?","commit_id":"2c69d7ed831d24fea1f83c6422f8a9269eda1fbb"}],"magnum/common/policy.py":[{"author":{"_account_id":12175,"name":"Eli Qiao","email":"qiaoliyong@gmail.com","username":"Eli"},"change_message_id":"fe5147bb727495235aa750efb7c06c01b9a7f79f","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    \"\"\""},{"line_number":91,"context_line":"    enforcer \u003d init()"},{"line_number":92,"context_line":"    credentials \u003d context.to_dict()"},{"line_number":93,"context_line":"    if not exc:"},{"line_number":94,"context_line":"        exc \u003d exception.PolicyNotAuthorized"},{"line_number":95,"context_line":"    if target is None:"},{"line_number":96,"context_line":"        target \u003d {\u0027project_id\u0027: context.project_id,"},{"line_number":97,"context_line":"                  \u0027user_id\u0027: context.user_id}"}],"source_content_type":"text/x-python","patch_set":6,"id":"9aed3d3a_32afb582","line":94,"range":{"start_line":93,"start_character":0,"end_line":94,"end_character":43},"updated":"2016-02-27 12:11:19.000000000","message":"I wonder why we not using oslo.policy?\n\nIf you want to sync code, please take a look at this:\n\nhttps://github.com/openstack/oslo.policy/blob/master/oslo_policy/policy.py#L515","commit_id":"fa1f9a7435050a0d801c799e198736a9b4327ca7"}]}
