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