16:59:30 <vilobhmm111> #startmeeting quotas-wg 16:59:31 <openstack> Meeting started Tue May 3 16:59:30 2016 UTC and is due to finish in 60 minutes. The chair is vilobhmm111. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:59:32 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:59:34 <openstack> The meeting name has been set to 'quotas_wg' 16:59:37 <vilobhmm111> hi everyone 16:59:42 <nikhil> o/ 16:59:47 <vilobhmm111> welcome back after the summit ! 16:59:56 <nikhil> :) 17:00:02 <vilobhmm111> hi nikhil 17:00:09 <nikhil> hi vilobhmm111 17:00:51 <nikhil> guess just two of us :) 17:00:58 <vilobhmm111> nikhil : :) 17:01:00 <vilobhmm111> seems like it 17:01:02 <vilobhmm111> thanks for reviewing the spec 17:01:12 <vilobhmm111> also please include the glance use case in the review 17:01:13 <nikhil> yw! 17:01:39 <nikhil> I think we are deferring to the way delimiter evolution for now 17:01:59 <nikhil> the glance use case described during the summit may or may not be implemented 17:02:08 <nikhil> basically there are two school of thoughts there 17:02:21 <nikhil> one that says we need reservation like model and other that doesn't care 17:02:31 <vilobhmm111> nikhil : ok..please explain so that all of us are aware of it 17:02:36 <vilobhmm111> hi Qijing 17:02:43 <Qijing> hi 17:02:47 <vilobhmm111> welcome 17:02:51 <vilobhmm111> Qijing 17:03:00 <Qijing> thx 17:03:28 <nikhil> vilobhmm111: want the description now? 17:03:38 <nikhil> I can add comments to the spec as well 17:03:41 <vilobhmm111> nikhil : not right now 17:03:43 <vilobhmm111> in the spec 17:03:49 <nikhil> cool 17:03:49 <vilobhmm111> you can comment there 17:04:23 <vilobhmm111> i will see if we can have the glance cases covered 17:04:51 <vilobhmm111> #agenda delimiter design summit talk 17:05:09 <vilobhmm111> irc://irc.freenode.net:6667/#agenda delimiter-design-summit-talk 17:05:21 <vilobhmm111> for anyone who missed the summit talk 17:05:39 <vilobhmm111> here is the etherpad https://etherpad.openstack.org/p/newton-quota-library which captures the discussion 17:05:58 <vilobhmm111> slides for the library proposal : http://www.slideshare.net/vilobh/delimiter-openstack-cross-project-quota-library-proposal 17:06:17 <vilobhmm111> feel free to update your thoughts on the spec https://review.openstack.org/#/c/284454/ 17:06:43 <vilobhmm111> so the conclusion is : 17:07:44 <vilobhmm111> #1. Delimiter will get inputs from the respective projects about (usage_count, resources, generation_id) 17:08:06 <vilobhmm111> #2. generation_id will be used to take into consideration the point in time view of the resource usage 17:08:30 <vilobhmm111> #3. right now only nova has the concept of generation_id 17:09:30 <vilobhmm111> we as a team need to evaluate the benefits of generation id and does it make sense to purse that route as it adds an additonal dependency on any project consuming deleimiter to add the generation id concept 17:09:50 <nikhil> ++ 17:11:09 <vilobhmm111> #topic things-to-do 17:11:13 <Qijing> what about the reserve 17:11:53 <Qijing> will still use reserver to ensure the sequence of operations? 17:11:55 <vilobhmm111> Qijing : Delimiter won't have the concept of quotas..but for specific use-cases that glance needs and which nikhil will update on the spec we need to think more on what can be done 17:12:13 <vilobhmm111> *concept of reservations* 17:12:24 <nikhil> yeah.. 17:12:31 <Qijing> ok 17:12:37 <nikhil> I am inclining towards defining more of each of those terms more 17:12:41 <vilobhmm111> Qijing : Delimiter won't have the concept of reservations 17:13:03 <nikhil> I was told that industry standard is to use only two terms for quota experience -- limits and reservations 17:13:18 <vilobhmm111> nikhil : sure i saw your feedback will discuss with you before i make an update today..will send you an e-mail or post it on etherpad before we finalize 17:13:43 <nikhil> sounds good. thanks. 17:13:44 <vilobhmm111> nikhil : ok 17:13:56 <vilobhmm111> ok back to things-to-do 17:14:00 <nikhil> vilobhmm111: I have a couple items to discuss today after you are done with the agenda 17:14:08 <vilobhmm111> nikhil : sure 17:14:13 <vilobhmm111> just give me 10 more min 17:14:18 <nikhil> np 17:14:32 <vilobhmm111> #1. setup launchpad page for the library so that we can keep track of features and bugs 17:15:09 <vilobhmm111> what does everyone think about it ? 17:15:18 <nikhil> makes sense 17:15:39 <vilobhmm111> link to generation-id spec/blueprint which nova is/plan to use : https://review.openstack.org/#/c/283253/ 17:15:52 <vilobhmm111> nikhil, _amrith_, Qijing : ^^ 17:15:59 <Qijing> +1 17:17:32 <vilobhmm111> #2. get an agreement on the spec with the design proposed here https://etherpad.openstack.org/p/newton-quota-library 17:17:53 <vilobhmm111> nikhil all upto you 17:18:00 <nikhil> :) 17:18:23 <nikhil> I need a bit more time but I think we can start the groundwork until then? 17:19:11 <nikhil> it will take a bit of effort to bootstrap things and we can know more on where things are heading then 17:19:43 <Qijing> thx nikhil 17:19:47 <nikhil> vilobhmm111: oh, did you mean that you are done with agenda for today? 17:20:00 <nikhil> Qijing: yw :-) 17:20:53 <nikhil> if so, can we change the topic to "setting quota limits"? 17:21:02 <vilobhmm111> nikhil : yes 17:21:18 <vilobhmm111> nikhil : for sure we need to start with the ground work 17:22:29 <nikhil> ok 17:22:43 <nikhil> vilobhmm111 are we discussing anything more on this topic? 17:22:50 <nikhil> !ping 17:22:50 <openstack> pong 17:23:56 <vilobhmm111> nikhil : sorry getting network issue 17:23:57 <nikhil> vilobhmm111: you still here? 17:24:01 <nikhil> ah 17:24:03 <vilobhmm111> ya lets discuss 17:24:15 <vilobhmm111> you have anything specific about getting started 17:24:24 <vilobhmm111> i thought wills setup 17:24:27 <vilobhmm111> #1. repo 17:24:28 <nikhil> nothing much 17:24:32 <nikhil> ok 17:24:35 <vilobhmm111> #2. launchpad page 17:25:03 <vilobhmm111> #3. drop e-mail to ML asking interested people to contribute 17:25:31 <nikhil> hm 17:25:41 <vilobhmm111> i think that can be initial set of steps. 17:26:04 <nikhil> may be a #0. send email to ML giving a summary of the discussion at the summit, approach, spec plan & scope 17:26:34 <vilobhmm111> nikhil : yep 17:26:36 <nikhil> although, spec plan and scope can be merely copy paste of the first para 17:26:38 <vilobhmm111> definately 17:26:54 <nikhil> vilobhmm111: I think there's a great doc page on setting up projects. dims had given the link to us before the summit. 17:27:11 <vilobhmm111> but ya since not everyone could make it to the design summit session it would be nice to give an overview and the next step planned 17:27:16 <nikhil> we may need to setup stuff in gerrit like groups giving +W access etc 17:27:17 <vilobhmm111> nikhil : sure 17:28:03 <nikhil> vilobhmm111: yeah, I think a few people missed the summit session as well during the summit but were interested in it 17:28:23 <nikhil> during the summit == although they were at the summit 17:28:41 <vilobhmm111> ha 17:28:46 <nikhil> :) 17:28:58 <vilobhmm111> sounds like a good plan 17:29:03 <nikhil> ++ 17:29:12 <vilobhmm111> let me rephrase 17:29:39 <vilobhmm111> #1. Drop ML about mission, scope, next steps based on what was discussed in the design summit session 17:29:55 <vilobhmm111> #2. Setup repo, gerrit stuff, launchpad 17:30:39 <vilobhmm111> #3. Spec needs update move quickly with spec - vilobhmm 17:31:24 <Qijing> what is the name of the repo? 17:31:46 <vilobhmm111> Qijing : we have to setup new 17:31:53 <vilobhmm111> it will be mostly "delimiter" 17:32:22 <nikhil> !ping 17:32:23 <openstack> pong 17:32:27 <Qijing> it will be under github.com/ or github.com/openstack 17:32:41 <nikhil> github.com/openstack 17:32:45 <vilobhmm111> Qijing : will need to check what is the prescribed policy 17:32:59 <vilobhmm111> but imho it should be github.com/openstack 17:33:05 <nikhil> actually, the official page is git.openstack.org/openstack 17:33:38 <vilobhmm111> nikhil : ok 17:34:22 <vilobhmm111> nikhil, Qijing : does the above mentioned plan seem ok to you ? 17:34:25 <nikhil> !ping 17:34:26 <openstack> pong 17:34:43 <nikhil> vilobhmm111: yeah, makes sense 17:34:43 <Qijing> very good to me 17:34:48 <vilobhmm111> ok 17:34:53 <nikhil> I have a couple of technical questions for today 17:35:02 <vilobhmm111> nikhil : sure please go ahead 17:35:04 <nikhil> that may be worth addressing in the spec 17:35:10 <vilobhmm111> sure 17:35:17 <nikhil> #topic setting quota limits 17:35:26 <nikhil> !ping 17:35:26 <openstack> pong 17:35:44 * nikhil is getting newtwork lag 17:36:19 <nikhil> vilobhmm111: you may need to switch the topic (only chairs are allowed afaik) 17:36:23 <vilobhmm111> nikhil : what specifically about setting quota limits ? 17:36:30 <nikhil> but the questions are: 17:36:31 <vilobhmm111> irc://irc.freenode.net:6667/#topic setting quota limits 17:36:40 <vilobhmm111> #topic setting-quota-limits 17:36:48 <nikhil> 1. who can set the quota limits? 17:36:55 <nikhil> 2. where are the quota limits set? 17:37:18 <vilobhmm111> lets do one at a time 17:37:20 <vilobhmm111> #1. who can set the quota limits? 17:37:30 <vilobhmm111> depends on what project model we are using 17:37:31 <Qijing> cloud-admin? 17:37:32 <nikhil> oh I've 4 😃 17:37:45 <vilobhmm111> nikhil : oops thats a lot :P 17:37:50 <nikhil> vilobhmm111: right 17:37:52 <vilobhmm111> please go ahead 17:38:02 <vilobhmm111> sorry to interrupt 17:38:05 <nikhil> ok, let me jot them down 17:38:08 <vilobhmm111> ok 17:38:12 <nikhil> then we can go over them one by one 17:38:36 <vilobhmm111> sure 17:39:00 <nikhil> 3. in case of hierarchical namespaces how do individual services figure out the changes in the tree and consider quota limits accordingly? 17:39:43 <nikhil> 4. do we need to have upgrade story for going from non-nested to nested quota limits? (see 4 types of quota limits described in the spec and the comment) 17:39:46 * nikhil done 17:39:51 <nikhil> !ping 17:39:52 <openstack> pong 17:40:09 <vilobhmm111> nikhil 17:40:11 <vilobhmm111> irc://irc.freenode.net:6667/#1. who can set the quota limits? 17:40:26 <vilobhmm111> #1. who can set the quota limits 17:40:27 <vilobhmm111> depends on what project model we are using 17:40:58 <vilobhmm111> if we are using flat ; only admin can update for all the projects …this admin will be the cloud-admin 17:41:28 <vilobhmm111> if we are using hierarchical ; admin or parent of the subtree can update the project quotas 17:41:35 <nikhil> cloud admin or service admin? 17:41:41 <vilobhmm111> service-admin 17:41:46 <nikhil> ok 17:41:55 <vilobhmm111> the cloud -admin also has the priviledge to do so if needed 17:42:15 <vilobhmm111> since cloud-admin is kinda superuser 17:42:22 <nikhil> sure, but not recommended 17:42:23 <nikhil> ? 17:42:30 <vilobhmm111> not recommended yes 17:42:34 <nikhil> cool 17:42:42 <vilobhmm111> cloud-admin interfaces or interacts with service-admin 17:42:51 <vilobhmm111> to update/delegate quota 17:42:56 <Qijing> service admin is just generic user? 17:43:09 <vilobhmm111> and then its upto the service-admin to manage respective projects in the hierarchy 17:43:45 <vilobhmm111> Qijing : service admin is a user with more permissions than normal user..as the name suggest he/she is an admin 17:44:04 <Qijing> ok 17:44:13 <vilobhmm111> nikhil : if this answer is clear we can move to next one 17:44:21 <nikhil> vilobhmm111: yes, thanks. clear for me 17:44:27 <vilobhmm111> nikhil : cool 17:44:34 <vilobhmm111> #2. where are the quota limits set? 17:44:40 <Qijing> service admin can update the limits of its parent project? 17:45:09 <vilobhmm111> right now there is a table in every project which maintains details about project/resouce limits 17:45:19 <vilobhmm111> usually its called quotas 17:45:23 <vilobhmm111> "quotas" 17:45:56 <vilobhmm111> by default the values are picked up from .conf files 17:46:37 <vilobhmm111> #3. in case of hierarchical namespaces how do individual services figure out the changes in the tree and consider quota limits accordingly? 17:46:38 <nikhil> ok 17:47:26 <nikhil> !ping 17:47:27 <openstack> pong 17:48:29 <vilobhmm111> nikhil : just to clarify did you mean that if resource get over consumed how will the parent know about it ? 17:49:06 <nikhil> vilobhmm111: correct and if there is some weirdness between what admin set, value picked from conf file and type of quota supported 17:49:26 <nikhil> basically ensuring that when a quota limit is set, it is set correctly 17:50:07 <vilobhmm111> code will rely on one source of truth the value set in db 17:50:27 <Qijing> need to check the correctness when read from conf file 17:50:33 <nikhil> ok 17:50:56 <nikhil> so when a admin tried to set_quota, delimiter will figure it out for them if they are setting correctly? 17:51:01 <nikhil> tries* 17:51:40 <Qijing> yes 17:52:01 <vilobhmm111> nikhil : there can be 3 cases 17:52:22 <nikhil> ok? 17:52:30 <vilobhmm111> #1. project->delimiter->set_quotas->(resource available)->"yes" grant it" 17:53:05 <vilobhmm111> #2.project->delimiter->set_quotas->(resource available)->"no" not enough resource available exception" 17:54:11 <vilobhmm111> with this exception service-admin can talk to cloud-admin to increase quota 17:54:38 <vilobhmm111> so short answer 17:54:40 <nikhil> ok, I am assuming they will have to physically talk to :) 17:55:17 <vilobhmm111> not necessarily 17:55:24 <vilobhmm111> we can have a logic to 17:55:36 <vilobhmm111> #1. figure out parent of service-admin which is the cloud-admin 17:55:47 <vilobhmm111> #2. send an rpc or something and get the quota extended 17:56:01 <vilobhmm111> but for this the cloud-admin needs to be aware of the inventory details 17:56:07 <vilobhmm111> which is kind of tricky 17:56:11 <nikhil> :) 17:56:12 <vilobhmm111> so for simplicity 17:56:21 <vilobhmm111> lets for now raise an exception 17:56:27 <nikhil> yes 17:56:30 <nikhil> that works 17:56:31 <vilobhmm111> and let them talk physically :) 17:56:37 <nikhil> perfect 17:56:40 <vilobhmm111> we can enhance it further if needed 17:56:51 <Qijing> sounds good 17:56:54 <nikhil> what happens if the hierarchy of the projects 17:57:04 <nikhil> doesn't allow the default conf value to be set 17:57:21 <nikhil> we set min(conf, available_resource_limit)? 17:57:30 <vilobhmm111> yup 17:57:40 <nikhil> k, so that's done by delimiter 17:57:45 <vilobhmm111> yes 17:57:55 <nikhil> so, we keep talking to keystone during this process 17:58:10 <vilobhmm111> rigght now keystone is not ok to store info there 17:58:26 <vilobhmm111> so will query respective projects for the default values 17:58:32 <vilobhmm111> keystone -> project hierarchy 17:58:39 <nikhil> how do individual projects know hierarchy? 17:58:48 <vilobhmm111> from keystone 17:58:57 <Qijing> there is parent_id in keystone, right? 17:58:58 <nikhil> so, for hierarchy talk to keystone and then compute stuff from projects? 17:59:00 <vilobhmm111> i will answer #4 later i have to join a meeting now @ work 17:59:08 <nikhil> k np. 17:59:13 <nikhil> thanks for your answers 17:59:18 <vilobhmm111> nikhil : np 17:59:21 <nikhil> we can catch up on #4 next week too 17:59:25 <vilobhmm111> sure 17:59:33 <vilobhmm111> Qijing, nikhil : thanks for joining 17:59:35 <nikhil> will update agenda 17:59:38 <nikhil> thanks! 17:59:40 <vilobhmm111> lets keep the conversation up and live 17:59:47 <Qijing> thx! 17:59:49 <vilobhmm111> nikhil : sure 17:59:50 <vilobhmm111> #endmeeting