)]}'
{"doc/source/admin/identity-unified-limits.rst":[{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"8badf98f33faf398945117056998b5e86eb1f63c","unresolved":false,"context_lines":[{"line_number":8,"context_line":"limits, how the information can be consumed by services, and how operators can"},{"line_number":9,"context_line":"manage resource quota across OpenStack using limits."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. NOTE::"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    The unified limits API is currently labeled as experimental and can change"},{"line_number":14,"context_line":"    in backwards incompatible ways. After we get feedback on the intricacies of"},{"line_number":15,"context_line":"    the API and no longer expect to make API breaking changes, the API will be"},{"line_number":16,"context_line":"    marked as stable."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"What is a limit?"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f93b717_97ed178d","line":16,"range":{"start_line":11,"start_character":0,"end_line":16,"end_character":21},"updated":"2018-01-26 19:44:14.000000000","message":"Wonder if we could move this up to the top to warn users firsthand that this is experimental.","commit_id":"58c06462c8ee4d855bd7d849978bd79bf43f1cb9"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e001f24e0b0619f49aee31927e99becbb5fc4a32","unresolved":false,"context_lines":[{"line_number":8,"context_line":"limits, how the information can be consumed by services, and how operators can"},{"line_number":9,"context_line":"manage resource quota across OpenStack using limits."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. NOTE::"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    The unified limits API is currently labeled as experimental and can change"},{"line_number":14,"context_line":"    in backwards incompatible ways. After we get feedback on the intricacies of"},{"line_number":15,"context_line":"    the API and no longer expect to make API breaking changes, the API will be"},{"line_number":16,"context_line":"    marked as stable."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"What is a limit?"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f93b717_92e765e5","line":16,"range":{"start_line":11,"start_character":0,"end_line":16,"end_character":21},"in_reply_to":"5f93b717_97ed178d","updated":"2018-01-26 20:30:56.000000000","message":"Done","commit_id":"58c06462c8ee4d855bd7d849978bd79bf43f1cb9"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"9c9259b29409c1dd105d6f4212cfa194965a53d1","unresolved":false,"context_lines":[{"line_number":28,"context_line":"- a resource type (e.g. ram_mb, vcpus, security-groups)"},{"line_number":29,"context_line":"- a default limit"},{"line_number":30,"context_line":"- a project specific limit"},{"line_number":31,"context_line":"- user_id (optional)"},{"line_number":32,"context_line":"- a region (optional depending on the service)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Since keystone is the source of truth for nearly everything in the above list,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_2314004e","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":20},"updated":"2018-01-27 01:33:50.000000000","message":"We don\u0027t support this one now. I think in the original spec, we said that the user level limit is not suggested. Right? Or we should support it as well?","commit_id":"6d1d2c73546bc72b6614505e45c17d46ac33023c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"be28a45f5ae2a38af21860cc8f47f851466371d2","unresolved":false,"context_lines":[{"line_number":55,"context_line":"override for a registered limit. A project limit still requires a resource type"},{"line_number":56,"context_line":"and service, both of which must exist as a registered limit. For example, let\u0027s"},{"line_number":57,"context_line":"assume a registered limit exists for `vcpus` provided by the compute service."},{"line_number":58,"context_line":"It wouldn\u0027t be possible for a project limit to exist for `cores` on the compute"},{"line_number":59,"context_line":"service for a specific project. Project limits can only override limits that"},{"line_number":60,"context_line":"have already been registered. In a general sense, registered limits are likely"},{"line_number":61,"context_line":"established when a new service or cloud is deployed. Project limits are used"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_f217c9a2","line":58,"range":{"start_line":58,"start_character":47,"end_line":58,"end_character":52},"updated":"2018-01-26 20:42:14.000000000","message":"be created?","commit_id":"6d1d2c73546bc72b6614505e45c17d46ac33023c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d67517d1e64252d7ffa935c539f5fc425bd1333f","unresolved":false,"context_lines":[{"line_number":55,"context_line":"override for a registered limit. A project limit still requires a resource type"},{"line_number":56,"context_line":"and service, both of which must exist as a registered limit. For example, let\u0027s"},{"line_number":57,"context_line":"assume a registered limit exists for `vcpus` provided by the compute service."},{"line_number":58,"context_line":"It wouldn\u0027t be possible for a project limit to exist for `cores` on the compute"},{"line_number":59,"context_line":"service for a specific project. Project limits can only override limits that"},{"line_number":60,"context_line":"have already been registered. In a general sense, registered limits are likely"},{"line_number":61,"context_line":"established when a new service or cloud is deployed. Project limits are used"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_c8053ac4","line":58,"range":{"start_line":58,"start_character":47,"end_line":58,"end_character":52},"in_reply_to":"5f93b717_f217c9a2","updated":"2018-01-26 22:12:39.000000000","message":"Done","commit_id":"6d1d2c73546bc72b6614505e45c17d46ac33023c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"be28a45f5ae2a38af21860cc8f47f851466371d2","unresolved":false,"context_lines":[{"line_number":56,"context_line":"and service, both of which must exist as a registered limit. For example, let\u0027s"},{"line_number":57,"context_line":"assume a registered limit exists for `vcpus` provided by the compute service."},{"line_number":58,"context_line":"It wouldn\u0027t be possible for a project limit to exist for `cores` on the compute"},{"line_number":59,"context_line":"service for a specific project. Project limits can only override limits that"},{"line_number":60,"context_line":"have already been registered. In a general sense, registered limits are likely"},{"line_number":61,"context_line":"established when a new service or cloud is deployed. Project limits are used"},{"line_number":62,"context_line":"continuously to manage the flow of resource allocation."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_12227501","line":59,"updated":"2018-01-26 20:42:14.000000000","message":"maybe add \", with it first being registered as a limit\"?","commit_id":"6d1d2c73546bc72b6614505e45c17d46ac33023c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d67517d1e64252d7ffa935c539f5fc425bd1333f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"and service, both of which must exist as a registered limit. For example, let\u0027s"},{"line_number":57,"context_line":"assume a registered limit exists for `vcpus` provided by the compute service."},{"line_number":58,"context_line":"It wouldn\u0027t be possible for a project limit to exist for `cores` on the compute"},{"line_number":59,"context_line":"service for a specific project. Project limits can only override limits that"},{"line_number":60,"context_line":"have already been registered. In a general sense, registered limits are likely"},{"line_number":61,"context_line":"established when a new service or cloud is deployed. Project limits are used"},{"line_number":62,"context_line":"continuously to manage the flow of resource allocation."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_68f426d0","line":59,"in_reply_to":"5f93b717_12227501","updated":"2018-01-26 22:12:39.000000000","message":"without*?","commit_id":"6d1d2c73546bc72b6614505e45c17d46ac33023c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"8dbf87e60f77625385c6fb42fb998c0d25d84028","unresolved":false,"context_lines":[{"line_number":56,"context_line":"and service, both of which must exist as a registered limit. For example, let\u0027s"},{"line_number":57,"context_line":"assume a registered limit exists for `vcpus` provided by the compute service."},{"line_number":58,"context_line":"It wouldn\u0027t be possible for a project limit to exist for `cores` on the compute"},{"line_number":59,"context_line":"service for a specific project. Project limits can only override limits that"},{"line_number":60,"context_line":"have already been registered. In a general sense, registered limits are likely"},{"line_number":61,"context_line":"established when a new service or cloud is deployed. Project limits are used"},{"line_number":62,"context_line":"continuously to manage the flow of resource allocation."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_e9f91780","line":59,"in_reply_to":"5f93b717_68f426d0","updated":"2018-01-27 03:47:49.000000000","message":"duh! yes, that\u0027s what I meant!","commit_id":"6d1d2c73546bc72b6614505e45c17d46ac33023c"},{"author":{"_account_id":5707,"name":"Henry Nash","email":"henryn@linux.vnet.ibm.com","username":"henry-nash"},"change_message_id":"be28a45f5ae2a38af21860cc8f47f851466371d2","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Given the above, the following is a possible and legal flow:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"- User Jane is in project Foo"},{"line_number":88,"context_line":"- Project Foo has a default CPU limit of 20"},{"line_number":89,"context_line":"- User Jane allocated 18 CPUs in project Foo"},{"line_number":90,"context_line":"- Administrator Kelly sets project Foo CPU limit to 10"},{"line_number":91,"context_line":"- User Jane can no longer allocate instance resources in project Foo, until"},{"line_number":92,"context_line":"  she (or others in the project) have deleted at least 9 CPUs to get under the"},{"line_number":93,"context_line":"  new limit"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"This behavior lets administrators set the policy of what the future should be"},{"line_number":96,"context_line":"when convenient, and prevent those projects from creating any more resources"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_324bf1b0","line":93,"range":{"start_line":88,"start_character":0,"end_line":93,"end_character":11},"updated":"2018-01-26 20:42:14.000000000","message":"This seems a slightly odd example - and one that seems the outlier to the normal case when Jane tries to locate the 21st cpu and is denied. Use Kelly might then raise the limit to 25, or advice Jane to delete some cpus that are already in use.\n\nWas there a reason to show this particular corner case?","commit_id":"6d1d2c73546bc72b6614505e45c17d46ac33023c"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"d67517d1e64252d7ffa935c539f5fc425bd1333f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Given the above, the following is a possible and legal flow:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"- User Jane is in project Foo"},{"line_number":88,"context_line":"- Project Foo has a default CPU limit of 20"},{"line_number":89,"context_line":"- User Jane allocated 18 CPUs in project Foo"},{"line_number":90,"context_line":"- Administrator Kelly sets project Foo CPU limit to 10"},{"line_number":91,"context_line":"- User Jane can no longer allocate instance resources in project Foo, until"},{"line_number":92,"context_line":"  she (or others in the project) have deleted at least 9 CPUs to get under the"},{"line_number":93,"context_line":"  new limit"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"This behavior lets administrators set the policy of what the future should be"},{"line_number":96,"context_line":"when convenient, and prevent those projects from creating any more resources"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5f93b717_4874ca68","line":93,"range":{"start_line":88,"start_character":0,"end_line":93,"end_character":11},"in_reply_to":"5f93b717_324bf1b0","updated":"2018-01-26 22:12:39.000000000","message":"I think the main purpose of this case is that it highlights the different between limits and usage. At least that\u0027s how it seemed to be relaying in the specification:\n\nhttp://specs.openstack.org/openstack/keystone-specs/specs/keystone/ongoing/unified-limits.html#limits-vs-usage-enforcement\n\nI think that it does a good job of showcasing that changing the limit doesn\u0027t result in the reaping of resources instantaneously. Which was an interesting ah-ha moment for me at least. I can add another example.","commit_id":"6d1d2c73546bc72b6614505e45c17d46ac33023c"}]}
