)]}'
{"specs/juno/separated-policy-rule-v3-api.rst":[{"author":{"_account_id":9847,"name":"ricky.bo","email":"boh.ricky@gmail.com","username":"boh.ricky"},"change_message_id":"4292e664301a076de3d2511bba98721af70b09c4","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/separated-policy-rule-v3-api"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"There are different way to add policy rule for an API in the v3 extension."},{"line_number":14,"context_line":"In some extensions, there is use one policy rule for the API in that"},{"line_number":15,"context_line":"extension. In other extensions, there maybe provide policy rule for each"},{"line_number":16,"context_line":"API in that extension."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_e5eef6eb","line":13,"updated":"2014-05-09 08:13:15.000000000","message":"s/way/ways/","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"04654f0311eb053138dd9b601c2f0a85eebeb5bf","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/separated-policy-rule-v3-api"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"There are different way to add policy rule for an API in the v3 extension."},{"line_number":14,"context_line":"In some extensions, there is use one policy rule for the API in that"},{"line_number":15,"context_line":"extension. In other extensions, there maybe provide policy rule for each"},{"line_number":16,"context_line":"API in that extension."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_32058a11","line":13,"in_reply_to":"7adec928_e5eef6eb","updated":"2014-05-28 05:47:08.000000000","message":"done, thanks","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":9847,"name":"ricky.bo","email":"boh.ricky@gmail.com","username":"boh.ricky"},"change_message_id":"4292e664301a076de3d2511bba98721af70b09c4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"There are different way to add policy rule for an API in the v3 extension."},{"line_number":14,"context_line":"In some extensions, there is use one policy rule for the API in that"},{"line_number":15,"context_line":"extension. In other extensions, there maybe provide policy rule for each"},{"line_number":16,"context_line":"API in that extension."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"So this BP want to add policy rule for each v3 API, then we can get finer"},{"line_number":19,"context_line":"granularity to permission control and consistent way to configure policy"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_45832a04","line":16,"updated":"2014-05-09 08:13:15.000000000","message":"Do you mean?  \n\nIn some extensions, there is only one policy rule for all the APIs in that extension. In other extensions, there is a policy rule for each API in that extension.","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"04654f0311eb053138dd9b601c2f0a85eebeb5bf","unresolved":false,"context_lines":[{"line_number":13,"context_line":"There are different way to add policy rule for an API in the v3 extension."},{"line_number":14,"context_line":"In some extensions, there is use one policy rule for the API in that"},{"line_number":15,"context_line":"extension. In other extensions, there maybe provide policy rule for each"},{"line_number":16,"context_line":"API in that extension."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"So this BP want to add policy rule for each v3 API, then we can get finer"},{"line_number":19,"context_line":"granularity to permission control and consistent way to configure policy"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ae8d1ca_720f1231","line":16,"in_reply_to":"7adec928_45832a04","updated":"2014-05-28 05:47:08.000000000","message":"yes, sorry for pool english.","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"16d478a7c0b3ff90ef88faf81658ca6066ca91ab","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"So this BP want to add policy rule for each v3 API, then we can get finer"},{"line_number":19,"context_line":"granularity to permission control and consistent way to configure policy"},{"line_number":20,"context_line":"rule for API. "},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Problem description"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9ad9bd40_12ae44e6","line":20,"updated":"2014-05-08 06:16:16.000000000","message":"remove this blank ,please","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"feeb411d6c8fd128f73166455bd6274a58572ebc","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"So this BP want to add policy rule for each v3 API, then we can get finer"},{"line_number":19,"context_line":"granularity to permission control and consistent way to configure policy"},{"line_number":20,"context_line":"rule for API. "},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Problem description"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_965e5244","line":20,"in_reply_to":"9ad9bd40_12ae44e6","updated":"2014-05-09 02:05:31.000000000","message":"Done, thanks","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"16d478a7c0b3ff90ef88faf81658ca6066ca91ab","unresolved":false,"context_lines":[{"line_number":39,"context_line":"permission control. And Cloud Operator is easy to know how to write a"},{"line_number":40,"context_line":"policy rule. Because all the policy rule follow the pattern:"},{"line_number":41,"context_line":"compute_extension:v3:[extension_name]:[action_name]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Alternatives"},{"line_number":44,"context_line":"------------"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_f646cf22","line":42,"updated":"2014-05-08 06:16:16.000000000","message":"I remember when I added some patches in Icehouse cycle\nchris mentioned that we may not distinguish every actions for one extension (e.g show and detail) \nso it might be worthy to mention it here","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"feeb411d6c8fd128f73166455bd6274a58572ebc","unresolved":false,"context_lines":[{"line_number":39,"context_line":"permission control. And Cloud Operator is easy to know how to write a"},{"line_number":40,"context_line":"policy rule. Because all the policy rule follow the pattern:"},{"line_number":41,"context_line":"compute_extension:v3:[extension_name]:[action_name]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Alternatives"},{"line_number":44,"context_line":"------------"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_5613ea65","line":42,"in_reply_to":"7adec928_f646cf22","updated":"2014-05-09 02:05:31.000000000","message":"The second point in problem description section, I describe it hard for operator to have different granularity. So I propose add policy for each api. For some extension, there may be meanless for have separated for each api. But I think it\u0027s good for operator have consistent granularity. That\u0027s easy for operator to guess how to write policy for a api.","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"16d478a7c0b3ff90ef88faf81658ca6066ca91ab","unresolved":false,"context_lines":[{"line_number":58,"context_line":"Security impact"},{"line_number":59,"context_line":"---------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"None"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Notifications impact"},{"line_number":64,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_3648372d","line":61,"updated":"2014-05-08 06:16:16.000000000","message":"maybe we can say:\nit will make compute more secure since the one who is granted on one action may not be authorized to execute other actions in same extension","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"feeb411d6c8fd128f73166455bd6274a58572ebc","unresolved":false,"context_lines":[{"line_number":58,"context_line":"Security impact"},{"line_number":59,"context_line":"---------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"None"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Notifications impact"},{"line_number":64,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_d91d6d68","line":61,"in_reply_to":"7adec928_3648372d","updated":"2014-05-09 02:05:31.000000000","message":"cool, thanks, more benefit :)","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"16d478a7c0b3ff90ef88faf81658ca6066ca91ab","unresolved":false,"context_lines":[{"line_number":97,"context_line":"throwing it out there to see who picks it up?"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"If more than one person is working on the implementation, please designate the"},{"line_number":100,"context_line":"primary author and contact."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Primary assignee:"},{"line_number":103,"context_line":"  Alex Xu \u003cxuhj@linux.vnet.ibm.com\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_b687e760","line":100,"updated":"2014-05-08 06:16:16.000000000","message":"guess we can remove above guides from template :)","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"feeb411d6c8fd128f73166455bd6274a58572ebc","unresolved":false,"context_lines":[{"line_number":97,"context_line":"throwing it out there to see who picks it up?"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"If more than one person is working on the implementation, please designate the"},{"line_number":100,"context_line":"primary author and contact."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Primary assignee:"},{"line_number":103,"context_line":"  Alex Xu \u003cxuhj@linux.vnet.ibm.com\u003e"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_392c9199","line":100,"in_reply_to":"7adec928_b687e760","updated":"2014-05-09 02:05:31.000000000","message":"yeah, sorry I forget it. :)","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"16d478a7c0b3ff90ef88faf81658ca6066ca91ab","unresolved":false,"context_lines":[{"line_number":119,"context_line":"Testing"},{"line_number":120,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"None"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Documentation Impact"},{"line_number":125,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_7652bfde","line":122,"updated":"2014-05-08 06:16:16.000000000","message":"worthy to mentioned UT here and no tempest cases ...","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"feeb411d6c8fd128f73166455bd6274a58572ebc","unresolved":false,"context_lines":[{"line_number":119,"context_line":"Testing"},{"line_number":120,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"None"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Documentation Impact"},{"line_number":125,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_792619b9","line":122,"in_reply_to":"7adec928_7652bfde","updated":"2014-05-09 02:05:31.000000000","message":"ok, will do","commit_id":"a20c3e29d5b94bbcfe8ab6944e6c3b86a13bfe9a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"13248c3b144d462cd36f6c279f76ac396ea55a20","unresolved":false,"context_lines":[{"line_number":13,"context_line":"There are different ways to add policy rule for an API in the v3 extension."},{"line_number":14,"context_line":"In some extensions, there is only one policy rule for all the APIs in that"},{"line_number":15,"context_line":"extension. In other extensions, there is a policy rule for each API in that"},{"line_number":16,"context_line":"extension."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"So this BP want to add policy rule for each v3 API, then we can get finer"},{"line_number":19,"context_line":"granularity to permission control and consistent way to configure policy"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ae8d1ca_32bcaabb","line":16,"updated":"2014-05-28 06:12:17.000000000","message":"think of  enable this for v2 also. reference comment  https://review.openstack.org/#/c/84695/6/specs/juno/v2-on-v3-api.rst","commit_id":"7a9f0686339dce2a663c7818476a7ce6a60b7d35"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1b058afbe027273167fb1306a234048ef7f47bb2","unresolved":false,"context_lines":[{"line_number":13,"context_line":"There are different ways to add policy rule for an API in the v3 extension."},{"line_number":14,"context_line":"In some extensions, there is only one policy rule for all the APIs in that"},{"line_number":15,"context_line":"extension. In other extensions, there is a policy rule for each API in that"},{"line_number":16,"context_line":"extension."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"So this BP want to add policy rule for each v3 API, then we can get finer"},{"line_number":19,"context_line":"granularity to permission control and consistent way to configure policy"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ae8d1ca_9974bed0","line":16,"in_reply_to":"3ae8d1ca_32bcaabb","updated":"2014-05-28 10:27:19.000000000","message":"+1","commit_id":"7a9f0686339dce2a663c7818476a7ce6a60b7d35"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"21b16d106b031077843acaad7408eeaf3ec668ce","unresolved":false,"context_lines":[{"line_number":13,"context_line":"There are different ways to add policy rule for an API in the v3 extension."},{"line_number":14,"context_line":"In some extensions, there is only one policy rule for all the APIs in that"},{"line_number":15,"context_line":"extension. In other extensions, there is a policy rule for each API in that"},{"line_number":16,"context_line":"extension."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"So this BP want to add policy rule for each v3 API, then we can get finer"},{"line_number":19,"context_line":"granularity to permission control and consistent way to configure policy"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_4321bfb2","line":16,"in_reply_to":"3ae8d1ca_9974bed0","updated":"2014-06-20 14:44:12.000000000","message":"I got some comment on https://review.openstack.org/#/c/92005/6/specs/juno/nova-api-policy.rst . looks like people only want to apply those impovement on v2.1/v3. So I think it is also only be apply to v2.1/v3","commit_id":"7a9f0686339dce2a663c7818476a7ce6a60b7d35"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1b058afbe027273167fb1306a234048ef7f47bb2","unresolved":false,"context_lines":[{"line_number":103,"context_line":"Work Items"},{"line_number":104,"context_line":"----------"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"https://etherpad.openstack.org/p/separated_policy_rule"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ae8d1ca_7977f2d4","line":106,"updated":"2014-05-28 10:27:19.000000000","message":"Please include the steps in the spec, this document should be readable without having to read external documents, that might change or get deleted independently.","commit_id":"7a9f0686339dce2a663c7818476a7ce6a60b7d35"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"92a7822d38991c242cfb762834795fb3d3f3eed4","unresolved":false,"context_lines":[{"line_number":103,"context_line":"Work Items"},{"line_number":104,"context_line":"----------"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"https://etherpad.openstack.org/p/separated_policy_rule"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_c3094fde","line":106,"in_reply_to":"1ae5cdf2_693cac94","updated":"2014-06-20 14:24:15.000000000","message":"I can\u0027t see that update yet?","commit_id":"7a9f0686339dce2a663c7818476a7ce6a60b7d35"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"21b16d106b031077843acaad7408eeaf3ec668ce","unresolved":false,"context_lines":[{"line_number":103,"context_line":"Work Items"},{"line_number":104,"context_line":"----------"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"https://etherpad.openstack.org/p/separated_policy_rule"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_271afe6e","line":106,"in_reply_to":"1ae5cdf2_c3094fde","updated":"2014-06-20 14:44:12.000000000","message":"Sorry, I update this BP late. I priority to working on \u0027v2.1 on v3\u0027 and \u0027enforce policy at rest api layer\u0027. But I will update this soon.","commit_id":"7a9f0686339dce2a663c7818476a7ce6a60b7d35"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"9b93284cf580a2eb9e41bd1660be301825769d5f","unresolved":false,"context_lines":[{"line_number":103,"context_line":"Work Items"},{"line_number":104,"context_line":"----------"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"https://etherpad.openstack.org/p/separated_policy_rule"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3ae8d1ca_e09328f8","line":106,"in_reply_to":"3ae8d1ca_7977f2d4","updated":"2014-05-29 00:54:08.000000000","message":"Done","commit_id":"7a9f0686339dce2a663c7818476a7ce6a60b7d35"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"f926ef726b596477fb2a3836397bef1d701d8dde","unresolved":false,"context_lines":[{"line_number":103,"context_line":"Work Items"},{"line_number":104,"context_line":"----------"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"https://etherpad.openstack.org/p/separated_policy_rule"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1ae5cdf2_693cac94","line":106,"in_reply_to":"3ae8d1ca_e09328f8","updated":"2014-05-30 07:53:42.000000000","message":"https://etherpad.openstack.org/p/separated_policy_rule\nis it updated? I remember we used to have a list \nbut I can\u0027t find it now...","commit_id":"7a9f0686339dce2a663c7818476a7ce6a60b7d35"}]}
