)]}'
{"specs/resource-quotas.rst":[{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"There are multiple ways to slice an OpenStack cloud. Imposing quota on these"},{"line_number":15,"context_line":"various slices puts a limitation on the amount of resources that can be"},{"line_number":16,"context_line":"consumed which helps to guarantee \"fairness\" or fair distribution of resource"},{"line_number":17,"context_line":"at the creation time. If a particular project needs more resources, the"},{"line_number":18,"context_line":"concept of quota, gives the ability to increase the resource count on-demand,"},{"line_number":19,"context_line":"given that the system constraints are not exceeded."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_09bf6761","line":16,"range":{"start_line":16,"start_character":69,"end_line":16,"end_character":77},"updated":"2018-04-13 02:53:26.000000000","message":"resources","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":15,"context_line":"various slices puts a limitation on the amount of resources that can be"},{"line_number":16,"context_line":"consumed which helps to guarantee \"fairness\" or fair distribution of resource"},{"line_number":17,"context_line":"at the creation time. If a particular project needs more resources, the"},{"line_number":18,"context_line":"concept of quota, gives the ability to increase the resource count on-demand,"},{"line_number":19,"context_line":"given that the system constraints are not exceeded."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_c9696ff8","line":18,"range":{"start_line":18,"start_character":16,"end_line":18,"end_character":17},"updated":"2018-04-13 02:53:26.000000000","message":"remove\",\"","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":24,"context_line":"At present in Cyborg we don\u0027t have the concept of Quota on acceleration"},{"line_number":25,"context_line":"resources as a result of which, as long as the underlying Infrastructure as a"},{"line_number":26,"context_line":"Service(IaaS) layer has resources, any user can consume as many resources as"},{"line_number":27,"context_line":"they want, with the hardlimit associated with the tenant/project being the"},{"line_number":28,"context_line":"upper bound for the resources to be consumed. Quotas are tied closely to"},{"line_number":29,"context_line":"physical resources and are billable entity and hence from Cyborg\u0027s perspective"},{"line_number":30,"context_line":"it makes sense to limit the creation and consumption of a particular kind of"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_ba42063d","line":27,"range":{"start_line":27,"start_character":5,"end_line":27,"end_character":15},"updated":"2018-04-13 02:53:26.000000000","message":"Break this sentence into shorter ones. This is way too long.","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":25,"context_line":"resources as a result of which, as long as the underlying Infrastructure as a"},{"line_number":26,"context_line":"Service(IaaS) layer has resources, any user can consume as many resources as"},{"line_number":27,"context_line":"they want, with the hardlimit associated with the tenant/project being the"},{"line_number":28,"context_line":"upper bound for the resources to be consumed. Quotas are tied closely to"},{"line_number":29,"context_line":"physical resources and are billable entity and hence from Cyborg\u0027s perspective"},{"line_number":30,"context_line":"it makes sense to limit the creation and consumption of a particular kind of"},{"line_number":31,"context_line":"resource to a certain value."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_5a7baa8a","line":28,"range":{"start_line":28,"start_character":12,"end_line":28,"end_character":15},"updated":"2018-04-13 02:53:26.000000000","message":"of","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Service(IaaS) layer has resources, any user can consume as many resources as"},{"line_number":27,"context_line":"they want, with the hardlimit associated with the tenant/project being the"},{"line_number":28,"context_line":"upper bound for the resources to be consumed. Quotas are tied closely to"},{"line_number":29,"context_line":"physical resources and are billable entity and hence from Cyborg\u0027s perspective"},{"line_number":30,"context_line":"it makes sense to limit the creation and consumption of a particular kind of"},{"line_number":31,"context_line":"resource to a certain value."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_5a3c0a92","line":29,"range":{"start_line":29,"start_character":67,"end_line":29,"end_character":78},"updated":"2018-04-13 02:53:26.000000000","message":"perspective,","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Service(IaaS) layer has resources, any user can consume as many resources as"},{"line_number":27,"context_line":"they want, with the hardlimit associated with the tenant/project being the"},{"line_number":28,"context_line":"upper bound for the resources to be consumed. Quotas are tied closely to"},{"line_number":29,"context_line":"physical resources and are billable entity and hence from Cyborg\u0027s perspective"},{"line_number":30,"context_line":"it makes sense to limit the creation and consumption of a particular kind of"},{"line_number":31,"context_line":"resource to a certain value."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_9ab86211","line":29,"range":{"start_line":29,"start_character":43,"end_line":29,"end_character":46},"updated":"2018-04-13 02:53:26.000000000","message":"remove and, make it \",\"","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Service(IaaS) layer has resources, any user can consume as many resources as"},{"line_number":27,"context_line":"they want, with the hardlimit associated with the tenant/project being the"},{"line_number":28,"context_line":"upper bound for the resources to be consumed. Quotas are tied closely to"},{"line_number":29,"context_line":"physical resources and are billable entity and hence from Cyborg\u0027s perspective"},{"line_number":30,"context_line":"it makes sense to limit the creation and consumption of a particular kind of"},{"line_number":31,"context_line":"resource to a certain value."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_1acd32b6","line":29,"range":{"start_line":29,"start_character":23,"end_line":29,"end_character":26},"updated":"2018-04-13 02:53:26.000000000","message":"remove the \"are\"","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":27,"context_line":"they want, with the hardlimit associated with the tenant/project being the"},{"line_number":28,"context_line":"upper bound for the resources to be consumed. Quotas are tied closely to"},{"line_number":29,"context_line":"physical resources and are billable entity and hence from Cyborg\u0027s perspective"},{"line_number":30,"context_line":"it makes sense to limit the creation and consumption of a particular kind of"},{"line_number":31,"context_line":"resource to a certain value."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use cases"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_7a522ee0","line":30,"range":{"start_line":30,"start_character":3,"end_line":30,"end_character":14},"updated":"2018-04-13 02:53:26.000000000","message":"becomes a must","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":28,"context_line":"upper bound for the resources to be consumed. Quotas are tied closely to"},{"line_number":29,"context_line":"physical resources and are billable entity and hence from Cyborg\u0027s perspective"},{"line_number":30,"context_line":"it makes sense to limit the creation and consumption of a particular kind of"},{"line_number":31,"context_line":"resource to a certain value."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use cases"},{"line_number":34,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_5a65eab3","line":31,"range":{"start_line":31,"start_character":9,"end_line":31,"end_character":11},"updated":"2018-04-13 02:53:26.000000000","message":"at","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":28,"context_line":"upper bound for the resources to be consumed. Quotas are tied closely to"},{"line_number":29,"context_line":"physical resources and are billable entity and hence from Cyborg\u0027s perspective"},{"line_number":30,"context_line":"it makes sense to limit the creation and consumption of a particular kind of"},{"line_number":31,"context_line":"resource to a certain value."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use cases"},{"line_number":34,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_9a4dc23c","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":8},"updated":"2018-04-13 02:53:26.000000000","message":"resources","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use cases"},{"line_number":34,"context_line":"---------"},{"line_number":35,"context_line":"Alice is the admin. She would like to have the feature which will give her"},{"line_number":36,"context_line":"details of Cyborg acceleration resource consumption so that she can manage her"},{"line_number":37,"context_line":"resource appropriately."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_da701a75","line":35,"range":{"start_line":35,"start_character":43,"end_line":35,"end_character":46},"updated":"2018-04-13 02:53:26.000000000","message":"a","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Use cases"},{"line_number":34,"context_line":"---------"},{"line_number":35,"context_line":"Alice is the admin. She would like to have the feature which will give her"},{"line_number":36,"context_line":"details of Cyborg acceleration resource consumption so that she can manage her"},{"line_number":37,"context_line":"resource appropriately."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_fa571ec9","line":35,"range":{"start_line":35,"start_character":9,"end_line":35,"end_character":12},"updated":"2018-04-13 02:53:26.000000000","message":"an","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Use cases"},{"line_number":34,"context_line":"---------"},{"line_number":35,"context_line":"Alice is the admin. She would like to have the feature which will give her"},{"line_number":36,"context_line":"details of Cyborg acceleration resource consumption so that she can manage her"},{"line_number":37,"context_line":"resource appropriately."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"a. Ability to know current resource consumption."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_daf57acc","line":36,"range":{"start_line":36,"start_character":40,"end_line":36,"end_character":51},"updated":"2018-04-13 02:53:26.000000000","message":"consumptions","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":34,"context_line":"---------"},{"line_number":35,"context_line":"Alice is the admin. She would like to have the feature which will give her"},{"line_number":36,"context_line":"details of Cyborg acceleration resource consumption so that she can manage her"},{"line_number":37,"context_line":"resource appropriately."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"a. Ability to know current resource consumption."},{"line_number":40,"context_line":"b. Ability to prohibit overuse by a project."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_7a00eeab","line":37,"range":{"start_line":37,"start_character":0,"end_line":37,"end_character":8},"updated":"2018-04-13 02:53:26.000000000","message":"resources","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Alice is the admin. She would like to have the feature which will give her"},{"line_number":36,"context_line":"details of Cyborg acceleration resource consumption so that she can manage her"},{"line_number":37,"context_line":"resource appropriately."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"a. Ability to know current resource consumption."},{"line_number":40,"context_line":"b. Ability to prohibit overuse by a project."},{"line_number":41,"context_line":"c. Prevent situation where users in the project get starved because users in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_5a33aaab","line":38,"updated":"2018-04-13 02:53:26.000000000","message":"She might run into following scenarios:","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"a. Ability to know current resource consumption."},{"line_number":40,"context_line":"b. Ability to prohibit overuse by a project."},{"line_number":41,"context_line":"c. Prevent situation where users in the project get starved because users in"},{"line_number":42,"context_line":"   other project consume all the resource. Alice feels something like"},{"line_number":43,"context_line":"   \"Quota Management\" would help to gurantee \"fairness\"."},{"line_number":44,"context_line":"d. Prevent DOS kind of attack, abuse or error by users where an excessive"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_ba23e655","line":41,"range":{"start_line":41,"start_character":36,"end_line":41,"end_character":39},"updated":"2018-04-13 02:53:26.000000000","message":"a","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":39,"context_line":"a. Ability to know current resource consumption."},{"line_number":40,"context_line":"b. Ability to prohibit overuse by a project."},{"line_number":41,"context_line":"c. Prevent situation where users in the project get starved because users in"},{"line_number":42,"context_line":"   other project consume all the resource. Alice feels something like"},{"line_number":43,"context_line":"   \"Quota Management\" would help to gurantee \"fairness\"."},{"line_number":44,"context_line":"d. Prevent DOS kind of attack, abuse or error by users where an excessive"},{"line_number":45,"context_line":"   amount of resources are created."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_3ad5961c","line":42,"range":{"start_line":42,"start_character":43,"end_line":42,"end_character":69},"updated":"2018-04-13 02:53:26.000000000","message":"remove","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":41,"context_line":"c. Prevent situation where users in the project get starved because users in"},{"line_number":42,"context_line":"   other project consume all the resource. Alice feels something like"},{"line_number":43,"context_line":"   \"Quota Management\" would help to gurantee \"fairness\"."},{"line_number":44,"context_line":"d. Prevent DOS kind of attack, abuse or error by users where an excessive"},{"line_number":45,"context_line":"   amount of resources are created."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_bad1a625","line":44,"range":{"start_line":44,"start_character":55,"end_line":44,"end_character":60},"updated":"2018-04-13 02:53:26.000000000","message":", which leads to","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":41,"context_line":"c. Prevent situation where users in the project get starved because users in"},{"line_number":42,"context_line":"   other project consume all the resource. Alice feels something like"},{"line_number":43,"context_line":"   \"Quota Management\" would help to gurantee \"fairness\"."},{"line_number":44,"context_line":"d. Prevent DOS kind of attack, abuse or error by users where an excessive"},{"line_number":45,"context_line":"   amount of resources are created."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_7aeeaeed","line":44,"range":{"start_line":44,"start_character":23,"end_line":44,"end_character":29},"updated":"2018-04-13 02:53:26.000000000","message":"attacks","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":42,"context_line":"   other project consume all the resource. Alice feels something like"},{"line_number":43,"context_line":"   \"Quota Management\" would help to gurantee \"fairness\"."},{"line_number":44,"context_line":"d. Prevent DOS kind of attack, abuse or error by users where an excessive"},{"line_number":45,"context_line":"   amount of resources are created."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_dacc9a8a","line":45,"range":{"start_line":45,"start_character":23,"end_line":45,"end_character":34},"updated":"2018-04-13 02:53:26.000000000","message":"creation","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Proposed change"},{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":"Proposed change is to introduce a Quota Table which will primarily store the"},{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_faa87e8c","line":50,"range":{"start_line":50,"start_character":19,"end_line":50,"end_character":31},"updated":"2018-04-13 02:53:26.000000000","message":"introducing","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Proposed change"},{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":"Proposed change is to introduce a Quota Table which will primarily store the"},{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_da91fa53","line":50,"range":{"start_line":50,"start_character":52,"end_line":50,"end_character":56},"updated":"2018-04-13 02:53:26.000000000","message":"remove","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Proposed change"},{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":"Proposed change is to introduce a Quota Table which will primarily store the"},{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_7a9c6e69","line":50,"range":{"start_line":50,"start_character":67,"end_line":50,"end_character":72},"updated":"2018-04-13 02:53:26.000000000","message":"stores","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Proposed change"},{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":"Proposed change is to introduce a Quota Table which will primarily store the"},{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."},{"line_number":54,"context_line":"CLIs to get information of Quota for a particular project will also be"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_fa815efc","line":51,"range":{"start_line":51,"start_character":15,"end_line":51,"end_character":17},"updated":"2018-04-13 02:53:26.000000000","message":"for","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"6550c2a481eb05ce98916ba08e181ba16143c526","unresolved":false,"context_lines":[{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":"Proposed change is to introduce a Quota Table which will primarily store the"},{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."},{"line_number":54,"context_line":"CLIs to get information of Quota for a particular project will also be"},{"line_number":55,"context_line":"provided."}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_b88f91cb","line":52,"range":{"start_line":52,"start_character":45,"end_line":52,"end_character":68},"updated":"2018-04-23 02:02:48.000000000","message":"For Cyborg, the resource is a unit of CUSTOM_ACCELERATOR resource class. We want to limit how many units are consumed by a single tenant (project), which makes sense. \nLine 42 refers to resource consumption. But the rest of the spec talks of resource \u0027creation\u0027, which is not clear to me. These resources get created when agent/driver discover devices, and get consumed by projects (tenants).","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":"Proposed change is to introduce a Quota Table which will primarily store the"},{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."},{"line_number":54,"context_line":"CLIs to get information of Quota for a particular project will also be"},{"line_number":55,"context_line":"provided."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_1a853207","line":52,"range":{"start_line":52,"start_character":11,"end_line":52,"end_character":13},"updated":"2018-04-13 02:53:26.000000000","message":"remove","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":49,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":50,"context_line":"Proposed change is to introduce a Quota Table which will primarily store the"},{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."},{"line_number":54,"context_line":"CLIs to get information of Quota for a particular project will also be"},{"line_number":55,"context_line":"provided."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_ba7f6613","line":52,"range":{"start_line":52,"start_character":35,"end_line":52,"end_character":41},"updated":"2018-04-13 02:53:26.000000000","message":"the number","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Proposed change is to introduce a Quota Table which will primarily store the"},{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."},{"line_number":54,"context_line":"CLIs to get information of Quota for a particular project will also be"},{"line_number":55,"context_line":"provided."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_7a754e31","line":53,"range":{"start_line":53,"start_character":48,"end_line":53,"end_character":54},"updated":"2018-04-13 02:53:26.000000000","message":"APIs","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":51,"context_line":"quota assigned to each resource in a project. Primarily, as a first step we"},{"line_number":52,"context_line":"will start of by imposing quota on number of resources to be created in a"},{"line_number":53,"context_line":"project. The change also plans to introduce REST API\u0027s to GET/PUT/POST/DELETE."},{"line_number":54,"context_line":"CLIs to get information of Quota for a particular project will also be"},{"line_number":55,"context_line":"provided."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"When a project is created and if the Cyborg service is running, the default"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_3a911648","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":4},"updated":"2018-04-13 02:53:26.000000000","message":"Command Line Interfaces(CLIs)","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"When a project is created and if the Cyborg service is running, the default"},{"line_number":58,"context_line":"quota for Cyborg resources will be set by the values configured in cyborg.conf."},{"line_number":59,"context_line":"Other Openstack projects like Nova [3], Cinder [4] follow a similar pattern"},{"line_number":60,"context_line":"and we will also do so and hence won\u0027t have a seperate CLI for quota-create."},{"line_number":61,"context_line":"Later if the user wants to change the Quota of the resource, we can use cyborg"},{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_9abe22ac","line":59,"range":{"start_line":59,"start_character":58,"end_line":59,"end_character":59},"updated":"2018-04-13 02:53:26.000000000","message":"the","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":57,"context_line":"When a project is created and if the Cyborg service is running, the default"},{"line_number":58,"context_line":"quota for Cyborg resources will be set by the values configured in cyborg.conf."},{"line_number":59,"context_line":"Other Openstack projects like Nova [3], Cinder [4] follow a similar pattern"},{"line_number":60,"context_line":"and we will also do so and hence won\u0027t have a seperate CLI for quota-create."},{"line_number":61,"context_line":"Later if the user wants to change the Quota of the resource, we can use cyborg"},{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"},{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_bad206ff","line":60,"range":{"start_line":60,"start_character":4,"end_line":60,"end_character":22},"updated":"2018-04-13 02:53:26.000000000","message":"Who will also?","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":58,"context_line":"quota for Cyborg resources will be set by the values configured in cyborg.conf."},{"line_number":59,"context_line":"Other Openstack projects like Nova [3], Cinder [4] follow a similar pattern"},{"line_number":60,"context_line":"and we will also do so and hence won\u0027t have a seperate CLI for quota-create."},{"line_number":61,"context_line":"Later if the user wants to change the Quota of the resource, we can use cyborg"},{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"},{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_9ad38201","line":61,"range":{"start_line":61,"start_character":44,"end_line":61,"end_character":46},"updated":"2018-04-13 02:53:26.000000000","message":"for","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Other Openstack projects like Nova [3], Cinder [4] follow a similar pattern"},{"line_number":60,"context_line":"and we will also do so and hence won\u0027t have a seperate CLI for quota-create."},{"line_number":61,"context_line":"Later if the user wants to change the Quota of the resource, we can use cyborg"},{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"},{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"},{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_1a01b26a","line":62,"range":{"start_line":62,"start_character":17,"end_line":62,"end_character":26},"updated":"2018-04-13 02:53:26.000000000","message":"the situation","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":60,"context_line":"and we will also do so and hence won\u0027t have a seperate CLI for quota-create."},{"line_number":61,"context_line":"Later if the user wants to change the Quota of the resource, we can use cyborg"},{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"},{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"},{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"},{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_7a746efe","line":63,"range":{"start_line":63,"start_character":52,"end_line":63,"end_character":67},"updated":"2018-04-13 02:53:26.000000000","message":"need","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":60,"context_line":"and we will also do so and hence won\u0027t have a seperate CLI for quota-create."},{"line_number":61,"context_line":"Later if the user wants to change the Quota of the resource, we can use cyborg"},{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"},{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"},{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"},{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_fa807ec1","line":63,"range":{"start_line":63,"start_character":27,"end_line":63,"end_character":44},"updated":"2018-04-13 02:53:26.000000000","message":"remove","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Later if the user wants to change the Quota of the resource, we can use cyborg"},{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"},{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"},{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"},{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"},{"line_number":67,"context_line":"resource is not explicitly deleted the quota associated with the project, for a"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_da525a67","line":64,"range":{"start_line":64,"start_character":73,"end_line":64,"end_character":77},"updated":"2018-04-13 02:53:26.000000000","message":"of","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Later if the user wants to change the Quota of the resource, we can use cyborg"},{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"},{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"},{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"},{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"},{"line_number":67,"context_line":"resource is not explicitly deleted the quota associated with the project, for a"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_1a5d3278","line":64,"range":{"start_line":64,"start_character":11,"end_line":64,"end_character":14},"updated":"2018-04-13 02:53:26.000000000","message":"remove","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":62,"context_line":"quota-update. In situation where all of the quota for a specific Cyborg"},{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"},{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"},{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"},{"line_number":67,"context_line":"resource is not explicitly deleted the quota associated with the project, for a"},{"line_number":68,"context_line":"particular resource, won\u0027t be decreased. In short quota-update support will"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_7a4d4ec2","line":65,"range":{"start_line":65,"start_character":12,"end_line":65,"end_character":20},"updated":"2018-04-13 02:53:26.000000000","message":"from applying","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"},{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"},{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"},{"line_number":67,"context_line":"resource is not explicitly deleted the quota associated with the project, for a"},{"line_number":68,"context_line":"particular resource, won\u0027t be decreased. In short quota-update support will"},{"line_number":69,"context_line":"take into consideration the new hardlimit for a resource, specified by the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_9a4862b3","line":66,"range":{"start_line":66,"start_character":43,"end_line":66,"end_character":54},"updated":"2018-04-13 02:53:26.000000000","message":"consumptions","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"},{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"},{"line_number":67,"context_line":"resource is not explicitly deleted the quota associated with the project, for a"},{"line_number":68,"context_line":"particular resource, won\u0027t be decreased. In short quota-update support will"},{"line_number":69,"context_line":"take into consideration the new hardlimit for a resource, specified by the"},{"line_number":70,"context_line":"admin, and will set the new value for this resource."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_9a7942c6","line":68,"range":{"start_line":68,"start_character":41,"end_line":68,"end_character":49},"updated":"2018-04-13 02:53:26.000000000","message":"In short,","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":63,"context_line":"resource have been consumed and is under use, admin will be allowed to set the"},{"line_number":64,"context_line":"quota to a any value lower than the usage or hardlimit to prohibit users from"},{"line_number":65,"context_line":"the project to apply for extra resources. This gives more flexibility to the"},{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"},{"line_number":67,"context_line":"resource is not explicitly deleted the quota associated with the project, for a"},{"line_number":68,"context_line":"particular resource, won\u0027t be decreased. In short quota-update support will"},{"line_number":69,"context_line":"take into consideration the new hardlimit for a resource, specified by the"},{"line_number":70,"context_line":"admin, and will set the new value for this resource."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_da733ae6","line":68,"range":{"start_line":66,"start_character":56,"end_line":68,"end_character":39},"updated":"2018-04-13 02:53:26.000000000","message":"The quota associated with the project for a\nparticular resource won\u0027t be decreased until the resource is explicitly deleted.","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":66,"context_line":"admin to have a better control on resource consumption. Till the time the"},{"line_number":67,"context_line":"resource is not explicitly deleted the quota associated with the project, for a"},{"line_number":68,"context_line":"particular resource, won\u0027t be decreased. In short quota-update support will"},{"line_number":69,"context_line":"take into consideration the new hardlimit for a resource, specified by the"},{"line_number":70,"context_line":"admin, and will set the new value for this resource."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Before the resource is created, Cyborg will check for current count of the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_ba0f6635","line":69,"range":{"start_line":69,"start_character":0,"end_line":69,"end_character":56},"updated":"2018-04-13 02:53:26.000000000","message":"take into consideration for the new hard limit of a resource","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":67,"context_line":"resource is not explicitly deleted the quota associated with the project, for a"},{"line_number":68,"context_line":"particular resource, won\u0027t be decreased. In short quota-update support will"},{"line_number":69,"context_line":"take into consideration the new hardlimit for a resource, specified by the"},{"line_number":70,"context_line":"admin, and will set the new value for this resource."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Before the resource is created, Cyborg will check for current count of the"},{"line_number":73,"context_line":"resource created for a project. If the resource count is less than the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_0d0ade1e","line":70,"range":{"start_line":70,"start_character":20,"end_line":70,"end_character":23},"updated":"2018-04-13 02:53:26.000000000","message":"a","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":69,"context_line":"take into consideration the new hardlimit for a resource, specified by the"},{"line_number":70,"context_line":"admin, and will set the new value for this resource."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Before the resource is created, Cyborg will check for current count of the"},{"line_number":73,"context_line":"resource created for a project. If the resource count is less than the"},{"line_number":74,"context_line":"hardlimit, new resource application will be allowed. For example,"},{"line_number":75,"context_line":"\u0027in-progress\u0027 field in the Quota usages table will be updated when a new"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_4d2d3693","line":72,"range":{"start_line":72,"start_character":7,"end_line":72,"end_character":10},"updated":"2018-04-13 02:53:26.000000000","message":"a","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"6550c2a481eb05ce98916ba08e181ba16143c526","unresolved":false,"context_lines":[{"line_number":70,"context_line":"admin, and will set the new value for this resource."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Before the resource is created, Cyborg will check for current count of the"},{"line_number":73,"context_line":"resource created for a project. If the resource count is less than the"},{"line_number":74,"context_line":"hardlimit, new resource application will be allowed. For example,"},{"line_number":75,"context_line":"\u0027in-progress\u0027 field in the Quota usages table will be updated when a new"},{"line_number":76,"context_line":"resource application comes and this acceleration resource is being used to set"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_38b5c17e","line":73,"range":{"start_line":73,"start_character":9,"end_line":73,"end_character":30},"updated":"2018-04-23 02:02:48.000000000","message":"I don\u0027t follow this. The resources, i.e., units of CUSTOM_ACCELERATOR class, are created when the devices are discovered by Cyborg agent/driver, not through this API. Resources are consumed by projects, not created for a specific project. Am I missing something?","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":74,"context_line":"hardlimit, new resource application will be allowed. For example,"},{"line_number":75,"context_line":"\u0027in-progress\u0027 field in the Quota usages table will be updated when a new"},{"line_number":76,"context_line":"resource application comes and this acceleration resource is being used to set"},{"line_number":77,"context_line":"up VM in progress. Supposing the fpga quota hardlimit is 5 and 3 fgpa have"},{"line_number":78,"context_line":"already been used and two new requests come in. Since we have 3 fpga already"},{"line_number":79,"context_line":"used the \u0027used\u0027 field will be set to 3. Now the \u0027in-progres\u0027"},{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_edf0caff","line":77,"range":{"start_line":77,"start_character":59,"end_line":77,"end_character":62},"updated":"2018-04-13 02:53:26.000000000","message":"break into multiple sentences please","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":74,"context_line":"hardlimit, new resource application will be allowed. For example,"},{"line_number":75,"context_line":"\u0027in-progress\u0027 field in the Quota usages table will be updated when a new"},{"line_number":76,"context_line":"resource application comes and this acceleration resource is being used to set"},{"line_number":77,"context_line":"up VM in progress. Supposing the fpga quota hardlimit is 5 and 3 fgpa have"},{"line_number":78,"context_line":"already been used and two new requests come in. Since we have 3 fpga already"},{"line_number":79,"context_line":"used the \u0027used\u0027 field will be set to 3. Now the \u0027in-progres\u0027"},{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_6d483a5b","line":77,"range":{"start_line":77,"start_character":5,"end_line":77,"end_character":17},"updated":"2018-04-13 02:53:26.000000000","message":"remove?","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":76,"context_line":"resource application comes and this acceleration resource is being used to set"},{"line_number":77,"context_line":"up VM in progress. Supposing the fpga quota hardlimit is 5 and 3 fgpa have"},{"line_number":78,"context_line":"already been used and two new requests come in. Since we have 3 fpga already"},{"line_number":79,"context_line":"used the \u0027used\u0027 field will be set to 3. Now the \u0027in-progres\u0027"},{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"},{"line_number":81,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":82,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_0df41ef0","line":79,"range":{"start_line":79,"start_character":0,"end_line":79,"end_character":8},"updated":"2018-04-13 02:53:26.000000000","message":"used, the","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":77,"context_line":"up VM in progress. Supposing the fpga quota hardlimit is 5 and 3 fgpa have"},{"line_number":78,"context_line":"already been used and two new requests come in. Since we have 3 fpga already"},{"line_number":79,"context_line":"used the \u0027used\u0027 field will be set to 3. Now the \u0027in-progres\u0027"},{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"},{"line_number":81,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":82,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"},{"line_number":83,"context_line":"is 5 and in-progress is 0. So there is one more request comes in, this request"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_8ddfce64","line":80,"range":{"start_line":80,"start_character":23,"end_line":80,"end_character":27},"updated":"2018-04-13 02:53:26.000000000","message":"Try to use until elsewhere as well since \"till\" too informal","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":78,"context_line":"already been used and two new requests come in. Since we have 3 fpga already"},{"line_number":79,"context_line":"used the \u0027used\u0027 field will be set to 3. Now the \u0027in-progres\u0027"},{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"},{"line_number":81,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":82,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"},{"line_number":83,"context_line":"is 5 and in-progress is 0. So there is one more request comes in, this request"},{"line_number":84,"context_line":"will be prohibited since there is not enough quota available."}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_adc73296","line":81,"range":{"start_line":81,"start_character":18,"end_line":81,"end_character":27},"updated":"2018-04-13 02:53:26.000000000","message":"done, this","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":79,"context_line":"used the \u0027used\u0027 field will be set to 3. Now the \u0027in-progres\u0027"},{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"},{"line_number":81,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":82,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"},{"line_number":83,"context_line":"is 5 and in-progress is 0. So there is one more request comes in, this request"},{"line_number":84,"context_line":"will be prohibited since there is not enough quota available."},{"line_number":85,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_ad4c1242","line":82,"range":{"start_line":82,"start_character":35,"end_line":82,"end_character":40},"updated":"2018-04-13 02:53:26.000000000","message":"At","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"},{"line_number":81,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":82,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"},{"line_number":83,"context_line":"is 5 and in-progress is 0. So there is one more request comes in, this request"},{"line_number":84,"context_line":"will be prohibited since there is not enough quota available."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"In general,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_8d4d8e3c","line":83,"range":{"start_line":83,"start_character":27,"end_line":83,"end_character":29},"updated":"2018-04-13 02:53:26.000000000","message":"If","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"},{"line_number":81,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":82,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"},{"line_number":83,"context_line":"is 5 and in-progress is 0. So there is one more request comes in, this request"},{"line_number":84,"context_line":"will be prohibited since there is not enough quota available."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"In general,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_ed576ac9","line":83,"range":{"start_line":83,"start_character":56,"end_line":83,"end_character":61},"updated":"2018-04-13 02:53:26.000000000","message":"coming","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":80,"context_line":"field will be set to 2 till the time the fpga attachment is successful. Once"},{"line_number":81,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":82,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"},{"line_number":83,"context_line":"is 5 and in-progress is 0. So there is one more request comes in, this request"},{"line_number":84,"context_line":"will be prohibited since there is not enough quota available."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"In general,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_ad75f265","line":83,"range":{"start_line":83,"start_character":66,"end_line":83,"end_character":78},"updated":"2018-04-13 02:53:26.000000000","message":"it","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":81,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":82,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"},{"line_number":83,"context_line":"is 5 and in-progress is 0. So there is one more request comes in, this request"},{"line_number":84,"context_line":"will be prohibited since there is not enough quota available."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"In general,"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_6d6b5a84","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":18},"updated":"2018-04-13 02:53:26.000000000","message":"rejected","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Alternatives"},{"line_number":92,"context_line":"------------"},{"line_number":93,"context_line":"At present there is not quota infrastructure in Cyborg."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Adding Quota Management layer at the Orchestration layer could be an"},{"line_number":96,"context_line":"alternative. Doing so will give a finer view of resource consumption at the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_ed0c4aed","line":93,"range":{"start_line":93,"start_character":20,"end_line":93,"end_character":23},"updated":"2018-04-13 02:53:26.000000000","message":"no","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":93,"context_line":"At present there is not quota infrastructure in Cyborg."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Adding Quota Management layer at the Orchestration layer could be an"},{"line_number":96,"context_line":"alternative. Doing so will give a finer view of resource consumption at the"},{"line_number":97,"context_line":"IaaS layer which can be used while provisioning Cyborg resources which"},{"line_number":98,"context_line":"depend on the IaaS layer [1]."},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_adfad2b9","line":96,"range":{"start_line":96,"start_character":57,"end_line":96,"end_character":68},"updated":"2018-04-13 02:53:26.000000000","message":"consumptions","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Adding Quota Management layer at the Orchestration layer could be an"},{"line_number":96,"context_line":"alternative. Doing so will give a finer view of resource consumption at the"},{"line_number":97,"context_line":"IaaS layer which can be used while provisioning Cyborg resources which"},{"line_number":98,"context_line":"depend on the IaaS layer [1]."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Data model impact"},{"line_number":101,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_8dfb4ebc","line":98,"range":{"start_line":97,"start_character":64,"end_line":98,"end_character":24},"updated":"2018-04-13 02:53:26.000000000","message":"remove","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":116,"context_line":"+------------+--------------+------+-----+---------+----------------+"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Quota usages table :"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"+---------------+--------------+------+-----+---------+----------------+"},{"line_number":121,"context_line":"| Field         | Type         | Null | Key | Default | Extra          |"},{"line_number":122,"context_line":"+---------------+--------------+------+-----+---------+----------------+"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_4dd8d651","line":119,"updated":"2018-04-13 02:53:26.000000000","message":"Where do you track the \"count\" for resources you mentioned above?","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"68b6459bd500cb0d7d5dea4b4260aeb589823d08","unresolved":false,"context_lines":[{"line_number":161,"context_line":"with \"non-admin\" role will be restricted to only get/list quota associated to"},{"line_number":162,"context_line":"his/her tenant. User with \"non-admin\" role can be a Member of the tenant less"},{"line_number":163,"context_line":"\"admin\" role."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Security impact"},{"line_number":166,"context_line":"---------------"},{"line_number":167,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf659307_8de90ee4","line":164,"updated":"2018-04-13 02:53:26.000000000","message":"Admin vs non admin might be too vague for real use case. More levels of user privileges might be helpful here.","commit_id":"e7200c433f1f735f58893bcc05ac95f4fda8b38c"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":"At present in Cyborg we don\u0027t have the concept of Quota on acceleration"},{"line_number":25,"context_line":"resources, so users can consume as many resources as they want."},{"line_number":26,"context_line":"Quotas are tied closely to physical resources and billable entity, hence from"},{"line_number":27,"context_line":"Cyborg\u0027s perspective, it helps to limit the allocation and consumption"},{"line_number":28,"context_line":"of a particular kind of resources at a certain value."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_6ec5ee3b","line":26,"range":{"start_line":26,"start_character":59,"end_line":26,"end_character":65},"updated":"2018-05-02 15:53:37.000000000","message":"entities","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"In place of implementing quota like other services, we want to enable"},{"line_number":31,"context_line":"the unified limit which is provided by Keystone to manage our quota limit[1]."},{"line_number":32,"context_line":"With unified limits, all limits will be set in Keystone and enforced"},{"line_number":33,"context_line":"using oslo.limit. So we decided to implement quota usage part first."},{"line_number":34,"context_line":"Once the oslo.limit is ready for other services, Cyborg will invoke oslo.limit"},{"line_number":35,"context_line":"to get the limit information and do limit check etc."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_2e2b76eb","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":5},"updated":"2018-05-02 15:53:37.000000000","message":"by","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"to get the limit information and do limit check etc."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"This specs aims at the implementation of quota usage in Cyborg. As the"},{"line_number":38,"context_line":"oslo.limite is not finished yet, we can directly set the value of limit"},{"line_number":39,"context_line":"manually, and reserved the function calling oslo.limit with a \"pass\" inside."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_ae278612","line":38,"range":{"start_line":38,"start_character":5,"end_line":38,"end_character":11},"updated":"2018-05-02 15:53:37.000000000","message":"limit","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"c. Prevent situation where users in a project get starved because users in"},{"line_number":52,"context_line":"   other project consume all the resource. \"Quota Management\" would help to"},{"line_number":53,"context_line":"   gurantee \"fairness\"."},{"line_number":54,"context_line":"d. Prevent DOS kind of attacks, abuse or error by users, whick leads to an"},{"line_number":55,"context_line":"   excessive amount of resources allocation."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_89e15c2d","line":54,"range":{"start_line":54,"start_character":57,"end_line":54,"end_character":62},"updated":"2018-05-02 15:53:37.000000000","message":"which","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":55,"context_line":"   excessive amount of resources allocation."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Proposed change"},{"line_number":59,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":60,"context_line":"Proposed change is introducing a Quota_Usage Table which primarily stores"},{"line_number":61,"context_line":"the quota usage assigned for each resource in a project, and a Reservation"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_09cf8cb0","line":58,"range":{"start_line":58,"start_character":9,"end_line":58,"end_character":15},"updated":"2018-05-02 15:53:37.000000000","message":"changes","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Proposed change"},{"line_number":59,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":60,"context_line":"Proposed change is introducing a Quota_Usage Table which primarily stores"},{"line_number":61,"context_line":"the quota usage assigned for each resource in a project, and a Reservation"},{"line_number":62,"context_line":"Table to ......................"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_89babc07","line":60,"range":{"start_line":60,"start_character":9,"end_line":60,"end_character":18},"updated":"2018-05-02 15:53:37.000000000","message":"changes are","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":59,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":60,"context_line":"Proposed change is introducing a Quota_Usage Table which primarily stores"},{"line_number":61,"context_line":"the quota usage assigned for each resource in a project, and a Reservation"},{"line_number":62,"context_line":"Table to ......................"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"When a new resource allocation request comes, \u0027reserved\u0027 field in the Quota"},{"line_number":65,"context_line":"usages table will be updated. This acceleration resource is being used to set"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_e940180a","line":62,"range":{"start_line":62,"start_character":9,"end_line":62,"end_character":31},"updated":"2018-05-02 15:53:37.000000000","message":"did you miss anything here?","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"the quota usage assigned for each resource in a project, and a Reservation"},{"line_number":62,"context_line":"Table to ......................"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"When a new resource allocation request comes, \u0027reserved\u0027 field in the Quota"},{"line_number":65,"context_line":"usages table will be updated. This acceleration resource is being used to set"},{"line_number":66,"context_line":"up VM. For example, the fpga quota hardlimit is 5 and 3 fgpas have"},{"line_number":67,"context_line":"already been used, then two new fpga requests come in. Since we have 3 fpgaa"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_c96e7495","line":64,"range":{"start_line":64,"start_character":46,"end_line":64,"end_character":48},"updated":"2018-05-02 15:53:37.000000000","message":"the","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"When a new resource allocation request comes, \u0027reserved\u0027 field in the Quota"},{"line_number":65,"context_line":"usages table will be updated. This acceleration resource is being used to set"},{"line_number":66,"context_line":"up VM. For example, the fpga quota hardlimit is 5 and 3 fgpas have"},{"line_number":67,"context_line":"already been used, then two new fpga requests come in. Since we have 3 fpgaa"},{"line_number":68,"context_line":"already used, the \u0027used\u0027 field will be set to 3. Now the \u0027reserved\u0027"},{"line_number":69,"context_line":"field will be set to 2 untill the fpga attachment is successful. Once"},{"line_number":70,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_092b0c30","line":67,"range":{"start_line":67,"start_character":71,"end_line":67,"end_character":76},"updated":"2018-05-02 15:53:37.000000000","message":"fpgas","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":70,"context_line":"the attachment is done this field will be reset to 0, and the \u0027used\u0027"},{"line_number":71,"context_line":"count will be updated from 3 to 5. So at this moment, hardlimit is 5, used"},{"line_number":72,"context_line":"is 5 and in-progress is 0. So there is one more request comes in, this request"},{"line_number":73,"context_line":"will be prohibited since there is not enough quota available."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"In general,"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_e9dc9847","line":73,"range":{"start_line":73,"start_character":8,"end_line":73,"end_character":18},"updated":"2018-05-02 15:53:37.000000000","message":"rejected","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"(Resource reserved + Resources already allocated for project)]"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In this specs, we just focus on the update of quota usage and we will not check"},{"line_number":81,"context_line":"if one user has already exceed his limited quota. The limit management will be"},{"line_number":82,"context_line":"set in Keystone in the future and we just need to invoke the oslo.limit."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_89eb9cda","line":81,"range":{"start_line":81,"start_character":35,"end_line":81,"end_character":48},"updated":"2018-05-02 15:53:37.000000000","message":"quota limit","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":86,"context_line":"At present there is no quota infrastructure in Cyborg."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Adding Quota Management layer at the Orchestration layer could be an"},{"line_number":89,"context_line":"alternative. Doing so will give a finer view of resource consumptions at the"},{"line_number":90,"context_line":"IaaS layer which can be used while provisioning Cyborg resources."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_69c96876","line":89,"range":{"start_line":89,"start_character":12,"end_line":89,"end_character":18},"updated":"2018-05-02 15:53:37.000000000","message":"However, our approach will give...","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":27458,"name":"Li Liu","email":"liliueecg@gmail.com","username":"liliu"},"change_message_id":"b0a38b9934e1e5fde8ebf4e98fbb190eae02dd2a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"| delta      | int(11)      | NO   |     | NULL    |                |"},{"line_number":126,"context_line":"| expire     | datetime     | YES  |     | NULL    |                |"},{"line_number":127,"context_line":"+------------+--------------+------+-----+---------+----------------+"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"REST API impact"},{"line_number":130,"context_line":"---------------"},{"line_number":131,"context_line":"Not sure if we need to expose GET quota usage before oslo.limit settle down."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9f6a8fd7_099c6c5b","line":128,"updated":"2018-05-02 15:53:37.000000000","message":"Will there be any new Objects introduced by this feature? also, any conductor APIs that might come into the picture?","commit_id":"9b054334335fa257c5511c7e87c6ae70835e0200"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"614b20fd9abe5876dfc891d07f7a97cad32cb280","unresolved":false,"context_lines":[{"line_number":61,"context_line":"the quota usage assigned for each resource in a project, and a Reservation"},{"line_number":62,"context_line":"Table to store every modification of resource usage."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"When a new resource allocation request comes, the \u0027reserved\u0027 field in the Quota"},{"line_number":65,"context_line":"usages table will be updated. This acceleration resource is being used to set"},{"line_number":66,"context_line":"up VM. For example, the fpga quota hardlimit is 5 and 3 fgpas have"},{"line_number":67,"context_line":"already been used, then two new fpga requests come in. Since we have 3 fpgas"},{"line_number":68,"context_line":"already used, the \u0027used\u0027 field will be set to 3. Now the \u0027reserved\u0027"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f7c97a3_978fad73","line":65,"range":{"start_line":64,"start_character":46,"end_line":65,"end_character":28},"updated":"2018-05-16 17:03:33.000000000","message":"I suspect this scheme will not work as proposed. Let me explain.\n\nWhat updates this reserved field? When Nova receives a request, it may choose a compute node and FPGA resource provider, by itself, based only on placement info. Cyborg-agent in the compute node will be informed of it through os-acc. So, the earliest point where Cyborg can update its own db is when the agent is called. That is too late to prevent concurrent requests from the same project (tenant) to go through. \n\nThere is no point to make reservations at this stage. For example, say a project is using 3 accelerators out of a quota of 4. Two requests from that project may get processed by Nova concurrently, and they may land on different compute nodes. Cyborg agent on each node sees the current usage as 3, and updates the usage. But one of them exceeds the quota. It is too late, because both agents have allowed the request to proceed.\n\nAlso, if the Cyborg agent detects that the quota is exceeded, it must reject the request. That may result in a scheduler retry, which will also meet the same fate -- repeated failures for the same request till the retry count is exceeded.\n\nA potentially better scheme is described in: http://lists.openstack.org/pipermail/openstack-dev/2018-May/130563.html .","commit_id":"0e112378489e5b2370868dc5f66185f2b625a218"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"614b20fd9abe5876dfc891d07f7a97cad32cb280","unresolved":false,"context_lines":[{"line_number":85,"context_line":"------------"},{"line_number":86,"context_line":"At present there is no quota infrastructure in Cyborg."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Adding Quota Management layer at the Orchestration layer could be an"},{"line_number":89,"context_line":"alternative.However, our approach will give a finer view of resource"},{"line_number":90,"context_line":"consumptions at the IaaS layer which can be used while provisioning Cyborg"},{"line_number":91,"context_line":"resources."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Data model impact"},{"line_number":94,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f7c97a3_92a9fb24","line":91,"range":{"start_line":88,"start_character":0,"end_line":91,"end_character":9},"updated":"2018-05-16 17:03:33.000000000","message":"In light of https://review.openstack.org/#/c/564968/, I think what this means is that, instead of enforcing quotas in the controller/scheduler, you want to do this at Cyborg agent/driver level. Is that correct?\n\nIf so, it would not work, as I indicated above.","commit_id":"0e112378489e5b2370868dc5f66185f2b625a218"}]}
