)]}'
{"specs/ocata/quota-class.rst":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"c1767301aebe0c68e8e244c935e4708bb0234f53","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* Allows the admin to create a typecal quota class, and use this quota"},{"line_number":42,"context_line":"  class to create or update an tenant\u0027s quotas quickly."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* Update an exist quota class."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Delete a quota class"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_ab6f1191","line":44,"range":{"start_line":44,"start_character":29,"end_line":44,"end_character":30},"updated":"2016-08-15 12:36:51.000000000","message":"There\u0027s an atomicity problem here. Say I have 2000 tenants using quota type VIP, and I want to update the VIP quota class from volumes\u003d10 to volumes\u003d5. I\u0027ve got to lock the table to check that none of the 2000 tenants are over the new limit? This is probably not good","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"5ded6129762068328eccc5458d1619647e58bc0c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* Allows the admin to create a typecal quota class, and use this quota"},{"line_number":42,"context_line":"  class to create or update an tenant\u0027s quotas quickly."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* Update an exist quota class."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Delete a quota class"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_ae239f04","line":44,"range":{"start_line":44,"start_character":29,"end_line":44,"end_character":30},"in_reply_to":"3ac371cc_ab6f1191","updated":"2016-08-15 13:26:03.000000000","message":"We can think quota-class here as a template. Tenant\u0027s quota which create from old quota-class will not change when we make changes on quota-class.","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"287a4d6c684ef09a4d5a251eda381b3a52c0d56e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* Allows the admin to create a typecal quota class, and use this quota"},{"line_number":42,"context_line":"  class to create or update an tenant\u0027s quotas quickly."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* Update an exist quota class."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Delete a quota class"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_bcff5533","line":44,"range":{"start_line":44,"start_character":29,"end_line":44,"end_character":30},"in_reply_to":"3ac371cc_ae239f04","updated":"2016-08-15 13:40:09.000000000","message":"In which case, you might as well just script it outside of cinder. You\u0027re ignoring the bulk of the lifecycle operations that happen to a tenant. I\u0027d consider that pretty counter-intuitive as an operator.","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"45217772ad1b34e2945a43072f41be83897ce95c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* Allows the admin to create a typecal quota class, and use this quota"},{"line_number":42,"context_line":"  class to create or update an tenant\u0027s quotas quickly."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* Update an exist quota class."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Delete a quota class"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_e24c5f72","line":44,"range":{"start_line":44,"start_character":29,"end_line":44,"end_character":30},"in_reply_to":"3ac371cc_bcff5533","updated":"2016-08-16 07:09:47.000000000","message":"I know what you are concerned, you want to change all tenants quota those created from the same quota class.\n* You want to change tenant\u0027s quota, relative CLI is quota-update\n* I want to change quota class,relative CLI is quota-class-update, this will not change the quota of tenants before the change.\n* There are no relationship between tenant\u0027s quota and quota-class after tenant\u0027s quota created, we can\u0027t make sure which tenant\u0027s quota need to change.\n\nAccording to your words, I think a new interface will be good.\n* quota-group-create  \u003ccreate a new tenants group\u003e\n* quota-group-update  \u003cupdate quotas of tenants in the same group\u003e\n* quota-group-add     \u003cadd a tenant to an exist group\u003e\n* quota-group-remove  \u003cremove a tenant from an exist group\u003e\n* quota-group-show    \u003cshow tenants and quotas in the specific group\u003e\n* quota-group-list    \u003clist all tenants group\u003e\n* quota-group-delete  \u003cdelete all tenants and quotas of an exist group\u003e\nAssociate tenants with the same quota to a group by the above CLI.\nWhat do you think, Thomas?","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"75091179d44234511529fc5953ce2f9523dae7e1","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* Allows the admin to create a typecal quota class, and use this quota"},{"line_number":42,"context_line":"  class to create or update an tenant\u0027s quotas quickly."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* Update an exist quota class."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Delete a quota class"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_055edb75","line":44,"range":{"start_line":44,"start_character":29,"end_line":44,"end_character":30},"in_reply_to":"3ac371cc_e24c5f72","updated":"2016-08-16 10:30:49.000000000","message":"That sounds better. I\u0027d add a few more details just for clarity:\n\n* quota-group-add     \u003cadd a tenant to an exist group and modifies their quota to match that of the group\u003e\n* quota-group-remove  \u003cremove a tenant from an exist group but leaves their quota values unchanged\u003e\n* quota-group-delete  \u003cdelete all tenants and quotas of an exist group but leaves the quota limits unchanged\u003e","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"c1767301aebe0c68e8e244c935e4708bb0234f53","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Notifications impact"},{"line_number":164,"context_line":"--------------------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"None"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Other end user impact"},{"line_number":169,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_0bbaa523","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":4},"updated":"2016-08-15 12:36:51.000000000","message":"You\u0027re adding CRUD operations for a new entity, so you need to add notifications too","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"5ded6129762068328eccc5458d1619647e58bc0c","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Notifications impact"},{"line_number":164,"context_line":"--------------------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"None"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Other end user impact"},{"line_number":169,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_5118ca84","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":4},"in_reply_to":"3ac371cc_0bbaa523","updated":"2016-08-15 13:26:03.000000000","message":"I have some doubts about notification, the notifications here refer to the msg send to users? or the msg transfer between services?","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"287a4d6c684ef09a4d5a251eda381b3a52c0d56e","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Notifications impact"},{"line_number":164,"context_line":"--------------------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"None"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Other end user impact"},{"line_number":169,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_d7414a3b","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":4},"in_reply_to":"3ac371cc_5118ca84","updated":"2016-08-15 13:40:09.000000000","message":"Notifications in this context are things emitted by the cinder notification system. They are consumed by other openstack components. The biggest consumer is billing, however they are also used for indexing, audit, UI building, and monitoring.\n\nBasically, every time you add, delete or edit any of quotas, volumes, cgs, backups, snapshots, transfers, etc, a notification is emitted. Look at the methods _notify_volume_type_error and _notify_volume_type_info in cinder/api/contrib/types_manage.py for an example.","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"},{"author":{"_account_id":19919,"name":"Wenjun Wang","email":"wenjun_dev@126.com","username":"June"},"change_message_id":"45217772ad1b34e2945a43072f41be83897ce95c","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Notifications impact"},{"line_number":164,"context_line":"--------------------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"None"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"Other end user impact"},{"line_number":169,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3ac371cc_8222cbff","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":4},"in_reply_to":"3ac371cc_d7414a3b","updated":"2016-08-16 07:09:47.000000000","message":"Thank you very much, Thomas.\nI will consider about the notifications.","commit_id":"18218ba92f98c16e67e3f06dbafacd1fb843f99e"}]}
