)]}'
{"api-guide/source/users.rst":[{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"5bc149ad20713fe2eba2e2dfbb7653cd3edd5c93","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Role based access control"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Keystone middleware is used to authenticate users,"},{"line_number":26,"context_line":"and identify their roles."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The Compute API uses these roles, along with oslo.policy, to decide"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_f5264367","line":25,"range":{"start_line":25,"start_character":49,"end_line":25,"end_character":50},"updated":"2015-11-25 14:32:04.000000000","message":"nit: unnecessary comma","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"173c95076d8e4885f1c68f06a1787f4771c41c6c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Role based access control"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Keystone middleware is used to authenticate users,"},{"line_number":26,"context_line":"and identify their roles."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The Compute API uses these roles, along with oslo.policy, to decide"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_5a6cd734","line":25,"range":{"start_line":25,"start_character":49,"end_line":25,"end_character":50},"in_reply_to":"9a8ffd7b_f5264367","updated":"2015-12-02 16:11:30.000000000","message":"Done","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"5bc149ad20713fe2eba2e2dfbb7653cd3edd5c93","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"While the policy can be configured in many ways, to make it easy to understand"},{"line_number":37,"context_line":"the most common use cases the API have been designed for, we standardize on"},{"line_number":38,"context_line":"the following names for users."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"End User"},{"line_number":41,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_751b331c","line":38,"range":{"start_line":38,"start_character":14,"end_line":38,"end_character":23},"updated":"2015-11-25 14:32:04.000000000","message":"s/names for/types of/ ?","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"173c95076d8e4885f1c68f06a1787f4771c41c6c","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"While the policy can be configured in many ways, to make it easy to understand"},{"line_number":37,"context_line":"the most common use cases the API have been designed for, we standardize on"},{"line_number":38,"context_line":"the following names for users."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"End User"},{"line_number":41,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_1a72cf11","line":38,"range":{"start_line":38,"start_character":14,"end_line":38,"end_character":23},"in_reply_to":"9a8ffd7b_751b331c","updated":"2015-12-02 16:11:30.000000000","message":"Done","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"e774d047fcb4bb9ca84269e486c21f202aa1c007","unresolved":false,"context_lines":[{"line_number":40,"context_line":"End User"},{"line_number":41,"context_line":"--------"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"This API users is assumed to be allowed to create and delete servers."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Cloud Operator"},{"line_number":46,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_d9825952","line":43,"range":{"start_line":43,"start_character":9,"end_line":43,"end_character":14},"updated":"2015-11-25 14:38:09.000000000","message":"s/users/user/","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"5bc149ad20713fe2eba2e2dfbb7653cd3edd5c93","unresolved":false,"context_lines":[{"line_number":45,"context_line":"Cloud Operator"},{"line_number":46,"context_line":"--------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"This users is responsible for running and maintaining the cloud, and is likely"},{"line_number":49,"context_line":"to have access to operations such as live migration of any server."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Administrator"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_d5e3ff03","line":48,"range":{"start_line":48,"start_character":63,"end_line":48,"end_character":64},"updated":"2015-11-25 14:32:04.000000000","message":"nit: unnecessary comma","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"e774d047fcb4bb9ca84269e486c21f202aa1c007","unresolved":false,"context_lines":[{"line_number":45,"context_line":"Cloud Operator"},{"line_number":46,"context_line":"--------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"This users is responsible for running and maintaining the cloud, and is likely"},{"line_number":49,"context_line":"to have access to operations such as live migration of any server."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Administrator"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_f985dd58","line":48,"range":{"start_line":48,"start_character":5,"end_line":48,"end_character":10},"updated":"2015-11-25 14:38:09.000000000","message":"user","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"72bd6402bd8841f10f957e2ab09f2d5baf884c7a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"Cloud Operator"},{"line_number":46,"context_line":"--------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"This users is responsible for running and maintaining the cloud, and is likely"},{"line_number":49,"context_line":"to have access to operations such as live migration of any server."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Administrator"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_fd34d3de","line":48,"in_reply_to":"9a8ffd7b_d5e3ff03","updated":"2015-12-01 23:08:34.000000000","message":"I think this comma is actually useful, to offset the previous conjunction (\"running and maintaining the cloud\") from the second verb-object sentence fragment.  It might be worthwhile, though, to rephrase as:\n\n    This user is responsible for running and maintaining the cloud.  The\n    user is also likely to have access to operations such as live migration.\n\nFurther rephrasings could be suggested to fit in with Alexis\u0027s comment…","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"5bc149ad20713fe2eba2e2dfbb7653cd3edd5c93","unresolved":false,"context_lines":[{"line_number":46,"context_line":"--------------"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"This users is responsible for running and maintaining the cloud, and is likely"},{"line_number":49,"context_line":"to have access to operations such as live migration of any server."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Administrator"},{"line_number":52,"context_line":"-------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_d591bf53","line":49,"updated":"2015-11-25 14:32:04.000000000","message":"I\u0027d prefer simply \"and requires the admin role.\"\n\nYou could add \"They will use this to EG establish flavors and aggregates; live migrate servers; offload shelved servers.\"","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"5bc149ad20713fe2eba2e2dfbb7653cd3edd5c93","unresolved":false,"context_lines":[{"line_number":51,"context_line":"Administrator"},{"line_number":52,"context_line":"-------------"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"This user has the ability to create and delete users."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Self-Administrator"},{"line_number":57,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_75f3339f","line":54,"updated":"2015-11-25 14:32:04.000000000","message":"Not sure how this is different to cloud operator? Seems very narrowly defined.","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"929ba10a58c0f756f02ee1b1bedeba779910f4c1","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"This user has the ability to create and delete users."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Self-Administrator"},{"line_number":57,"context_line":"------------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"This is the user of a small cloud where they are both end user and operator."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_7e84385d","line":56,"range":{"start_line":56,"start_character":5,"end_line":56,"end_character":18},"updated":"2015-11-26 12:22:38.000000000","message":"I guess the idea at here is just list the user we could mentioned in the doc. I thought we won\u0027t get such granularity to talk about role. We just need mention end user and operator, user will know if his is both are end user and operator.","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"173c95076d8e4885f1c68f06a1787f4771c41c6c","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"This user has the ability to create and delete users."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Self-Administrator"},{"line_number":57,"context_line":"------------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"This is the user of a small cloud where they are both end user and operator."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_ba9623ee","line":56,"range":{"start_line":56,"start_character":5,"end_line":56,"end_character":18},"in_reply_to":"9a8ffd7b_7e84385d","updated":"2015-12-02 16:11:30.000000000","message":"So I have reworked this a little.\n\nI really want us to eventually standardise on small number of set roles. I have taken what I did for feature classification, to see if it helps here.","commit_id":"65ced0d62f3e68ae62e286b3d6a2dca1dcdb631a"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"aef9ca724c1c74658f9f72a694541b96eac1857f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"the most common use cases the API have been designed for, we should"},{"line_number":37,"context_line":"standardize on the following types of user:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* application deployer: creates/deletes servers, directly or indirect via API"},{"line_number":40,"context_line":"* application developer: creates images and apps that run on the cloud"},{"line_number":41,"context_line":"* cloud operator: deploys and maintains the cloud"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_2643fe43","line":39,"updated":"2015-12-02 16:53:50.000000000","message":"s/indirect/indirectly/ so it matches \"directly\"","commit_id":"fe81068d2f8c2cce16728f99001231b6a961d33d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"aef9ca724c1c74658f9f72a694541b96eac1857f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"standardize on the following types of user:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* application deployer: creates/deletes servers, directly or indirect via API"},{"line_number":40,"context_line":"* application developer: creates images and apps that run on the cloud"},{"line_number":41,"context_line":"* cloud operator: deploys and maintains the cloud"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Now in reality the picture is way more complex. Specifically, there are"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_466722e9","line":40,"updated":"2015-12-02 16:53:50.000000000","message":"attonit: we could adopt a more formal voice and expand \"apps\" to the full \"applications\"","commit_id":"fe81068d2f8c2cce16728f99001231b6a961d33d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"aef9ca724c1c74658f9f72a694541b96eac1857f","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* application developer: creates images and apps that run on the cloud"},{"line_number":41,"context_line":"* cloud operator: deploys and maintains the cloud"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Now in reality the picture is way more complex. Specifically, there are"},{"line_number":44,"context_line":"likely to be different roles for observer, creator and admin roles for"},{"line_number":45,"context_line":"the application developer. Similarly, there are likely to be various"},{"line_number":46,"context_line":"levels of cloud operator permissions, some read only, see a subset of"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_06b4ba32","line":43,"updated":"2015-12-02 16:53:50.000000000","message":"attonit: again, more formal voice would do s/is way more/is much more/","commit_id":"fe81068d2f8c2cce16728f99001231b6a961d33d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"aef9ca724c1c74658f9f72a694541b96eac1857f","unresolved":false,"context_lines":[{"line_number":44,"context_line":"likely to be different roles for observer, creator and admin roles for"},{"line_number":45,"context_line":"the application developer. Similarly, there are likely to be various"},{"line_number":46,"context_line":"levels of cloud operator permissions, some read only, see a subset of"},{"line_number":47,"context_line":"tenants, etc. Another popular example, is that in very small clouds,"},{"line_number":48,"context_line":"you might have a single user that is both an application deployer,"},{"line_number":49,"context_line":"and a self-service cloud operator."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_66c7c698","line":47,"updated":"2015-12-02 16:53:50.000000000","message":"Extraneous comma here; I think you may have just put it in the wrong place:\n\ns/example, is that in/example is that, in/","commit_id":"fe81068d2f8c2cce16728f99001231b6a961d33d"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"aef9ca724c1c74658f9f72a694541b96eac1857f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"the application developer. Similarly, there are likely to be various"},{"line_number":46,"context_line":"levels of cloud operator permissions, some read only, see a subset of"},{"line_number":47,"context_line":"tenants, etc. Another popular example, is that in very small clouds,"},{"line_number":48,"context_line":"you might have a single user that is both an application deployer,"},{"line_number":49,"context_line":"and a self-service cloud operator."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Note: this is not attempting to be an exhaustive set of personas that consider"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_06b91a15","line":48,"updated":"2015-12-02 16:53:50.000000000","message":"s/deployer,$/deployer/","commit_id":"fe81068d2f8c2cce16728f99001231b6a961d33d"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"ebd8b820dbd69ec12a264a8adeaa44e1eac8b035","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"TODO - link to compute admin guide for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Persona used in this guide"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"While the policy can be configured in many ways, to make it easy to understand"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_25665dbb","line":32,"updated":"2015-12-03 13:22:29.000000000","message":"Plural is personae or personas","commit_id":"92a67a8fda39b43f28767aca5ccc5b5388a842c6"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"02962a3f09c63f2c1e60163009b717dc52d86136","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"TODO - link to compute admin guide for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Persona used in this guide"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"While the policy can be configured in many ways, to make it easy to understand"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_30d540e7","line":32,"in_reply_to":"9a8ffd7b_25665dbb","updated":"2015-12-08 13:25:07.000000000","message":"Done","commit_id":"92a67a8fda39b43f28767aca5ccc5b5388a842c6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8a60b623978372baf6189c3356d59ed665f43e89","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* application deployer: creates/deletes servers, directly or indirectly via API"},{"line_number":40,"context_line":"* application developer: creates images and applications that run on the cloud"},{"line_number":41,"context_line":"* cloud operator: deploys and maintains the cloud"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Now in reality the picture is much more complex. Specifically, there are"},{"line_number":44,"context_line":"likely to be different roles for observer, creator and admin roles for"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_ecd14058","line":41,"updated":"2015-12-08 02:01:24.000000000","message":"What is a difference between operator and administrator ?\n\nSome places contain \"administrator API\", and the other contain \"operator API\". They seems the same meaning.\nIt is nice to make them consistent.","commit_id":"92a67a8fda39b43f28767aca5ccc5b5388a842c6"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"02962a3f09c63f2c1e60163009b717dc52d86136","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* application deployer: creates/deletes servers, directly or indirectly via API"},{"line_number":40,"context_line":"* application developer: creates images and applications that run on the cloud"},{"line_number":41,"context_line":"* cloud operator: deploys and maintains the cloud"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Now in reality the picture is much more complex. Specifically, there are"},{"line_number":44,"context_line":"likely to be different roles for observer, creator and admin roles for"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_70e668e9","line":41,"in_reply_to":"7a740942_ecd14058","updated":"2015-12-08 13:25:07.000000000","message":"I just don\u0027t like the term administrator, its less descriptive than operator, I feel. But anyways, I have made it more consistent with the rest of the guide.","commit_id":"92a67a8fda39b43f28767aca5ccc5b5388a842c6"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"8a60b623978372baf6189c3356d59ed665f43e89","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Now in reality the picture is much more complex. Specifically, there are"},{"line_number":44,"context_line":"likely to be different roles for observer, creator and admin roles for"},{"line_number":45,"context_line":"the application developer. Similarly, there are likely to be various"},{"line_number":46,"context_line":"levels of cloud operator permissions, some read only, see a subset of"},{"line_number":47,"context_line":"tenants, etc. Another popular example is that, in very small clouds,"},{"line_number":48,"context_line":"you might have a single user that is both an application deployer"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a740942_ec5f00e3","line":45,"updated":"2015-12-08 02:01:24.000000000","message":"I guess here should be\n\n .. different roles for observer, creator and administrator for\n the application.","commit_id":"92a67a8fda39b43f28767aca5ccc5b5388a842c6"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"ebd8b820dbd69ec12a264a8adeaa44e1eac8b035","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Now in reality the picture is much more complex. Specifically, there are"},{"line_number":44,"context_line":"likely to be different roles for observer, creator and admin roles for"},{"line_number":45,"context_line":"the application developer. Similarly, there are likely to be various"},{"line_number":46,"context_line":"levels of cloud operator permissions, some read only, see a subset of"},{"line_number":47,"context_line":"tenants, etc. Another popular example is that, in very small clouds,"},{"line_number":48,"context_line":"you might have a single user that is both an application deployer"},{"line_number":49,"context_line":"and a self-service cloud operator."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_85c869a9","line":46,"updated":"2015-12-03 13:22:29.000000000","message":"Doesn\u0027t scan well around \"see\". Maybe:\n\n\"Similarly, there are likely to be various\nlevels of cloud operator permissions: read-only; to see a subset of\ntenants; able to define new flavors etc.\"","commit_id":"92a67a8fda39b43f28767aca5ccc5b5388a842c6"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"ebd8b820dbd69ec12a264a8adeaa44e1eac8b035","unresolved":false,"context_lines":[{"line_number":52,"context_line":"various facets of the different users, but instead aims to be a minimal set of"},{"line_number":53,"context_line":"users, such that we use a consistent terminology throughout this document."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"TODO - could assign names to these users, or similar, to make it more \"real\"."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Discovering Policy"},{"line_number":58,"context_line":"\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":4,"id":"9a8ffd7b_055479c7","line":55,"updated":"2015-12-03 13:22:29.000000000","message":"I like to do this. Alice, Bob and Claire are good.","commit_id":"92a67a8fda39b43f28767aca5ccc5b5388a842c6"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"a5274dcb25a83d2f9ed288c101fa36497058105c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"TODO - link to compute admin guide for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Personas used in this guide"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"While the policy can be configured in many ways, to make it easy to understand"},{"line_number":36,"context_line":"the most common use cases the API have been designed for, we should"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a740942_2bb39151","line":33,"updated":"2015-12-08 13:34:07.000000000","message":"femtonit: missing an \u003d","commit_id":"c5ba382edc939f253ae52e8822d1d6be568fe842"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9d16f745b9aea74abbacdf89c19d82ab5ef2b67c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"TODO - link to compute admin guide for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Personas used in this guide"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"While the policy can be configured in many ways, to make it easy to understand"},{"line_number":36,"context_line":"the most common use cases the API have been designed for, we should"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa69d971_f4010fb0","line":33,"in_reply_to":"5a710552_708da530","updated":"2016-01-05 13:46:17.000000000","message":"Its easier if folks -1 this, didn\u0027t spot this till just now.\n\nNo worries though, its an easy fix.","commit_id":"c5ba382edc939f253ae52e8822d1d6be568fe842"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"f4a68211da74dc808c170dbe15e9081cac315b10","unresolved":false,"context_lines":[{"line_number":30,"context_line":"TODO - link to compute admin guide for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Personas used in this guide"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"While the policy can be configured in many ways, to make it easy to understand"},{"line_number":36,"context_line":"the most common use cases the API have been designed for, we should"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a740942_63f4445a","line":33,"in_reply_to":"7a740942_2bb39151","updated":"2015-12-08 22:07:51.000000000","message":"Actually, I think that\u0027s an error rather than a femtonit as far as RST is concerned; I\u0027m not certain of it, so no -1, but I think a new patchset should be uploaded with the missing \u0027\u003d\u0027…","commit_id":"c5ba382edc939f253ae52e8822d1d6be568fe842"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"cbd6088e2626f2b23eeaa4ff8bac5a465cef30e5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"TODO - link to compute admin guide for details."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Personas used in this guide"},{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"While the policy can be configured in many ways, to make it easy to understand"},{"line_number":36,"context_line":"the most common use cases the API have been designed for, we should"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a710552_708da530","line":33,"in_reply_to":"7a740942_63f4445a","updated":"2015-12-15 10:33:41.000000000","message":"+1 for adding one more \"\u003d\".","commit_id":"c5ba382edc939f253ae52e8822d1d6be568fe842"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"5ade02ee4b67bc427d86cd5bd0fe8632ee0c056c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"While the policy can be configured in many ways, to make it easy to understand"},{"line_number":36,"context_line":"the most common use cases the API have been designed for, we should"},{"line_number":37,"context_line":"standardize on the following types of user:"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* application deployer: creates/deletes servers, directly or indirectly via API"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa69d971_4e78c72b","line":36,"updated":"2016-01-08 13:26:59.000000000","message":"it\u0027s either \"API has been\" or \"APIs have been\" in the vernacular.","commit_id":"e7106c3e75c44b5f002302b04afbbf7880c4406c"}]}
