16:04:03 #startmeeting hierarchical_multitenancy 16:04:04 Meeting started Fri Jul 11 16:04:03 2014 UTC and is due to finish in 60 minutes. The chair is schwicke. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:04:05 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:04:07 The meeting name has been set to 'hierarchical_multitenancy' 16:04:41 thanks for the lively off-line discussions :) 16:04:50 I think that was very usefull 16:04:58 yes 16:05:10 Maybe we should start then with the design document 16:05:20 yes 16:05:28 ok 16:05:33 #topic design discussions 16:06:27 So let's document the example here. We have a very simple tree A->B->C so one project at each level with A being the root 16:07:17 then we define "used Quota" = the resources used in the current project 16:07:22 ok 16:07:27 ok 16:07:43 Limit: the maximum for the current project 16:07:52 yes 16:08:15 Allocatd: the quote allocated (or delegated) to the children (summed) 16:08:23 A: free_quota= A :limit - (A : used + A: allocated) 16:08:24 yes 16:08:25 yes 16:08:30 B:free_quota=B:limit - (B:used + B: allocated) 16:08:36 C:free_quota=C:limit - (C:used) 16:08:47 done 16:08:58 +1 16:09:03 +1 16:09:06 +1 16:09:12 So as far as I can see everbody is happy with this model 16:09:18 right ? 16:09:21 yes 16:09:22 yes 16:09:27 yeah 16:09:37 yes 16:09:44 I was afraid that I had to rewrite my code 16:09:48 :-) 16:10:03 hehe 16:10:15 good luck for you :) 16:10:25 thanks raildo :-) 16:10:30 #agreed to use the a model with minimal coupling between the projects 16:11:52 raildo ,whether the token will contain the parent hierarchy and list of child projects 16:11:53 in the last meeting we started to talk about the roles as well 16:12:19 yes, let's discuss that first 16:12:26 ok 16:13:00 i think only admin should be able to change quota allocations 16:13:02 sajeesh: yes, we have to make a modification to include the top of the hierarchy in the token 16:13:26 ok raildo 16:14:08 raildo,what will be the format of the list of child projects ? 16:15:43 "hierarchical_ids": "openstack.8a4ebcf44ebc47e0b98d3d5780c1f71a.de2a7135b01344cd82a02117c005ce47", 16:16:13 a list of ids, from the top to the project. 16:16:21 a string* 16:16:31 ok raildo ..that will do 16:16:54 a string with the concatenation of ids separated by a dot. 16:17:28 is everybody happy with that ? 16:17:35 it is upto project in which user has same role or up to root of tree... 16:18:10 for the children, I think about doing similar returning a string for each child. 16:18:21 ok 16:18:33 raildo,for children that will do 16:19:07 it can be string with dot delimiter 16:19:20 nirbhay_: to the top of the tree. 16:19:23 yes for children it is ok 16:19:50 nirbhay_: as to update the quota, I have to go over the top. 16:20:04 yes 16:20:11 raildo, I think we have to see the roles also 16:20:41 for that only u need to go up to the project in which user has same role.. 16:20:48 sajeesh: the token already contains the roles relating to the user. 16:20:59 so how that information will be available with token 16:21:36 "roles": [ { "id": "c60f0d7461354749ae8ac8bace3e35c5", "name": "admin" } ] 16:21:41 something like that 16:21:55 Raildo ,If you are giving me up to the top also no problem......I will filter it based on the roles 16:22:08 ok 16:22:14 you don't need to walk the tree to updated the used quota, with the proposed solution 16:22:43 so, since a user has a role in a project below the hierarchy, it can create instances in this project and the whole tree quota will be seemly updated 16:23:50 i agree for used quota we need not to go up or down the tree.. 16:24:25 raildo,whether the role info contains role-id-user-id-project-id mapping....I am sorry if the doubt is misplaced 16:25:05 yeah, and for limit's updates, it need to check if the parent has enough free limit. it will never be able to change the parent's limit. 16:25:12 this is how i see it working 16:25:31 free_limit = limit - allocated 16:26:41 sajeesh: Yes, the token contains the link between role, user, projecet (in the case now, the inherited roles for your children) 16:26:49 project* 16:27:16 ok raildo,that seems very useful ++1 16:27:22 I think we need to have a short discussion about who can do what where 16:27:41 agreed 16:27:59 The way I see it working is that there are 3 roles: the cloud admin, the project admin and a user role 16:28:12 ok 16:28:31 the cloud admin is a super user 16:28:50 in the sense that he is an admin of the root project 16:29:32 The cloud admin is the only one who can change the quota of the root projec 16:29:39 ok 16:29:45 ok 16:30:35 A normal admin can create projects inside his project, set their quota, and nomincate the admins of the child projects which he creates 16:31:00 agreed 16:31:03 A normal admin cannot change the quota of the project of which he is an admin IMO 16:31:09 ok 16:31:25 if we do that, then I think there is no need to check the quota of the parent, is there ? 16:31:44 because only the admin of the parent can change the quota of a project ... 16:32:02 ups, I think I should update the topic ... 16:32:07 #topic roles 16:32:08 i agree 16:32:17 shwicke ,we can think about iy 16:32:22 shwicke ,we can think about it 16:32:54 raildo,if possible can you please send a small design documentation regarding role inheritance...I doubt whether I am having a complete picture 16:32:58 sajeesh: do you have any doubts about this ? I think it is very important to agree on this nowish 16:33:20 sajeesh: ok 16:33:25 shwicke,I will think about it 16:33:34 raildo ,thanks 16:34:02 shwicke,I will discuss that matter after getting raildo's document 16:35:06 schwicke,yes I am having doubts 16:35:23 sajeesh: tell me :) 16:35:59 This comes at a point that I wanted to discuss, inherited roles currently only work for domains. http://docs.openstack.org/api/openstack-identity-service/3/content/api-1.html 16:36:00 schwicke,I will tell after reading the design documentation of raildo :-) 16:36:55 we have to implement the API about inherited roles for projects. 16:37:02 ok 16:37:20 ok 16:37:25 sure 16:37:52 raildo: do you need help ? Maybe nirbhay could get involved in that ? 16:38:05 I believe that the effort is not large, as it will be very similar to what already works today. 16:38:21 #link http://docs.openstack.org/api/openstack-identity-service/3/content/api-1.html 16:39:21 The folks at my team will develop this in the coming weeks but any problem, I bring here to the meeting. 16:39:28 ok 16:39:32 ok 16:39:35 ok 16:40:05 #action Raildo et al to implement the API for inherited roles for projects 16:41:20 shwicke...we need to have a offline discussion on role inheritance 16:41:30 ok, no problem 16:41:56 #action discuss role inheritenance offline. Schwicke to re-send the proposal via e-mail 16:42:33 Moreover, we are implementing using SQL as the backend, and discussing with the Keystone folks, we decided that we will not give support for LDAP. 16:42:54 ok 16:42:56 I'll include it in the spec. 16:43:02 ok 16:43:07 hmmm.... 16:43:45 ldap support would have been for defining the roles ? 16:44:01 to store the hierarchy, i think 16:44:13 ah, ok 16:44:29 " Ldap assignment is _very_ limited compared to the sql assignment backend" 16:44:42 " If the question is do we really need to support ldap for hierarchical multitenancy, I would say let's not do it." 16:45:17 So we will work only with SQL storage. 16:45:33 ok 16:45:49 in which meeting is that discussed by the way ? 16:45:49 ldap assignment still needs to work 16:46:06 but would expect it to be with single level projects 16:46:22 bknudson: ok 16:47:33 and if someone really wants it for ldap they can do the work 16:48:59 ok, thanks for the info 16:50:13 anything else on this topic ? 16:50:22 no 16:50:35 ok, then let's move on 16:50:39 ok 16:50:43 ok 16:51:10 Last week we briefly discussed if we can do the meeting a bit earlier 16:51:18 yes 16:51:22 yes 16:51:56 one hour earlier would be fine for me but I think that having it still earlier is difficult from India, right ? 16:52:08 yes 16:53:08 would 17MEST be fine ? 16:53:25 ok for me 16:53:26 ok fine 16:53:39 need to check though if that clashes with any other meeting 16:54:03 ok 16:54:20 that would be 15UTC, correct ? 16:54:46 yes 16:54:51 Clashes with blazar I'm afraid 16:55:51 14UTC have another meeting? 16:56:40 14UTC is not good far Sajeesh 16:56:43 14 UTC is too early for me 16:56:50 ok 16:56:50 s/far/for/ 16:58:04 16UTC, 17? :P 16:58:49 err... looks indeed as if we have to keep it as it is for now. 16:59:08 meeting time is over. 16:59:19 ok 16:59:21 so let's keep it for now as it is 16:59:40 #agreed keep the meeting slot as it is now for the time being 16:59:52 #endmeeting