Wednesday, 2017-05-24

*** brault has joined #openstack-meeting-cp00:00
*** brault has quit IRC00:05
*** aselius has quit IRC00:11
*** diablo_rojo has quit IRC01:20
*** gouthamr has quit IRC02:33
*** edmondsw has joined #openstack-meeting-cp02:35
*** edmondsw has quit IRC02:40
*** brault has joined #openstack-meeting-cp06:00
*** lamt has joined #openstack-meeting-cp06:04
*** brault has quit IRC06:04
*** brault has joined #openstack-meeting-cp06:27
*** lamt has quit IRC06:30
*** rarcea has joined #openstack-meeting-cp06:45
*** jroll has quit IRC07:12
*** edmondsw has joined #openstack-meeting-cp07:59
*** edmondsw has quit IRC08:04
*** sdague has joined #openstack-meeting-cp09:44
*** edmondsw has joined #openstack-meeting-cp09:49
*** edmondsw has quit IRC09:54
*** jroll has joined #openstack-meeting-cp10:25
*** edmondsw has joined #openstack-meeting-cp11:42
*** hemna has quit IRC11:47
*** dansmith has quit IRC11:48
*** hemna has joined #openstack-meeting-cp11:49
*** dansmith has joined #openstack-meeting-cp11:51
*** dansmith is now known as Guest3615411:51
*** felipemonteiro has joined #openstack-meeting-cp13:42
*** felipemonteiro_ has joined #openstack-meeting-cp13:44
*** felipemonteiro has quit IRC13:47
*** gouthamr has joined #openstack-meeting-cp13:51
*** zhipeng_ has joined #openstack-meeting-cp13:58
*** Guest36154 is now known as dansmith14:00
*** lamt has joined #openstack-meeting-cp14:34
*** jaugustine has joined #openstack-meeting-cp14:46
*** aselius has joined #openstack-meeting-cp14:53
*** ayoung has joined #openstack-meeting-cp15:14
*** docaedo has left #openstack-meeting-cp15:21
*** felipemonteiro_ has quit IRC15:29
*** gagehugo has joined #openstack-meeting-cp15:36
*** notmyname has quit IRC15:57
*** hrybacki has joined #openstack-meeting-cp15:58
*** blancos has joined #openstack-meeting-cp15:59
*** notmyname has joined #openstack-meeting-cp16:01
lbragstad#startmeeting policy16:01
openstackMeeting started Wed May 24 16:01:39 2017 UTC and is due to finish in 60 minutes.  The chair is lbragstad. Information about MeetBot at http://wiki.debian.org/MeetBot.16:01
openstackUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.16:01
*** openstack changes topic to " (Meeting topic: policy)"16:01
openstackThe meeting name has been set to 'policy'16:01
knikollao/16:01
lbragstadping raildo, ktychkova, rderose, htruta, atrmr, gagehugo, lamt, thinrichs, edmondsw, ruan, ayoung, morgan, raj_singh, johnthetubaguy, knikolla, nhelgeson16:01
lbragstado/16:01
blancoso/16:01
hrybackio/16:01
gagehugoo/16:01
lbragstad#link https://etherpad.openstack.org/p/keystone-policy-meeting16:02
lbragstadagenda^16:02
nhelgesono/16:02
ayounghrybacki, too!16:02
ayounglbragstad, I took the liberty of copuying most of last weeks agenda forward.  take a look and please OK/object16:03
ayoungwe got through so little last week16:03
*** diablo_rojo has joined #openstack-meeting-cp16:03
*** felipemonteiro has joined #openstack-meeting-cp16:04
lamto/16:04
felipemonteiroo/16:04
ayoungFrom the previous discussions, it sounds like getting a solution to Admin-everywhere is highest priority16:05
ayoungas  such, I wrote up an explanation in the plainest terms I could muster16:05
lbragstadlook like this weeks agenda is a copy/paste of last weeks16:05
ayoung#link http://adam.younglogic.com/2017/05/fixing-bug-96869/16:05
lbragstadhad a blip there with my network connection16:05
ayounglbragstad, yep, it is.  We spent all of last week on the Goals doc16:05
ayoungI wanted to hit some more tactical stuff before we get back into that16:06
ayoungOK with you?16:06
*** MarkBaker has quit IRC16:06
gagehugofixing-bug-968696 was a good read16:06
ayounggagehugo, TYVM16:06
edmondswo/16:06
lbragstadayoung: do you mind if we start with http://lists.openstack.org/pipermail/openstack-dev/2017-May/117419.html16:06
ayoungIf you have not read it, please do so.  It should help make clearer what we are trying to do.16:06
lbragstad?16:07
ayoung#link  http://lists.openstack.org/pipermail/openstack-dev/2017-May/117419.html16:07
lbragstadthanks16:07
hrybackigagehugo++16:07
ayounglbragstad, So, regardless of is_admin_project vs global roles, the policy will need to be enforced in the remote services.  It think my write up still applies, with minor modifications16:08
ayounglets talk global roles for a moment, though16:08
lbragstadayoung: absolutely16:08
ayoungKubernetes has a similar concept; Roles vs ClusterRoles16:08
ayounga ClusterRole is not scoped to a namespace16:08
ayoungk8s is kubernetes for short16:08
ayoungnamespace is kindof what k8s calls a project16:09
ayoungone thing about having them separate is they could go into the same token response16:09
ayounglest say we call ours GLobalROles or CLusterRole or whatever, we could have a new section in the token validation response that enumerates them16:09
lbragstad#link https://youtu.be/WvnXemaYQ50?t=19m39s16:10
ayoungrole assignments for global roles would be on a global target16:10
*** brault has quit IRC16:10
ayounggood link...but a little long for this meeting. Suggest people watch wjhen they have time16:10
edmondswayoung to be honest I wasn't super impressed with what k8s has... better than what we have currently, but not as good as what we've been discussing as our future16:10
*** MarkBaker has joined #openstack-meeting-cp16:11
ayoungedmondsw, fair enough.  I'm just learning it myself16:11
lbragstadsure - for folks who want to get an idea of what k8s has for policy and contrast it to what we do today - that link might help16:11
ayoungso, assuming we got with global roles, the steps we'd need would be something like this:16:11
ayoung1. DEFINE the api for them16:11
lbragstad#topic global roles16:11
*** openstack changes topic to "global roles (Meeting topic: policy)"16:11
ayoung2. Add global roles GR for short16:11
ayoung2. Add global roles to token validation response16:12
ayoung3. Add global roles to oslo-context16:12
ayoung4. enforce policy on Global roles16:12
ayoungnote that this will break exisiting deployments if we do not provide a transition scheme16:12
ayoungie. no one will have any global roles defined, nor any users with them16:12
ayoungThus, we'd probably have to adopt the same approach we did with is_admin_project:16:13
ayoungstart by making all admin role assignments into GlobalRoles until some switch is set16:13
ayoungotherwise, we end up rewriting policy files twice, and that will be a disaster16:14
ayoungwe want to touch nova once and only once and be done with it16:14
edmondswayoung it sounds like you're suggesting we have global roles16:14
ayoungedmondsw, no16:14
*** spilla has joined #openstack-meeting-cp16:14
ayoungedmondsw, I'm suggesting I've thought through what it would take to implement them16:14
edmondswwhat we've been discussing is roles that could be scoped either locally or globally16:14
ayoungand I want people to be aware of the pain involved16:15
edmondswnot global roles vs. local roles... roles, period16:15
edmondswand scoping is separate16:15
edmondswscoping comes in with how you make the assignment16:15
ayoungedmondsw, ok...so let me address that16:15
edmondswgoes back to my "we can do better than k8s" comment16:15
ayoungright now, a token is either scoped or unscoped.  Unscoped tokens are not currrently usable outside of keystone16:16
ayoungwe could, if we want, use unscoped tokens to do global roles, and put them in the roles field.16:16
ayoungwhat that would then do with policy is this16:16
edmondswno16:16
edmondswwe already had this discussion and said no to that16:16
ayoungwe'd have two stanzas, one that checked the role for scoped, one that checks the role for unscoped16:17
edmondswunscoped != global scoped16:17
ayoungedmondsw, which is why I was using a different name for them: GR versus Role16:17
edmondswunscoped is the empty set, global scoped is the universal set16:17
lbragstad++16:17
ayoungedmondsw, or we explicitly request a token with global scoping, yes16:17
edmondswit's not different types of roles, though... it's roles + scope16:17
lbragstadi would agree but i'd also expect operators/deployers to confirm that16:17
ayoungregardless, the policy file needs to have a different check for a globally scoped role than for a project scoped role16:18
edmondswayoung no, scope checks should be in code, not policy16:18
ayoungedmondsw, stop16:18
ayoungedmondsw, you are being argumentative.16:18
ayoungI know that16:18
ayoungplease don't be pedantic16:18
edmondswayoung ha! pot calling the kettle... ;)16:19
ayoungI am talking about from where we are today16:19
ayoungedmondsw, policy file is the reality on every service.  Nova and Keystone have the policy-file-less approach16:19
ayoungI'm not going to tell Neutron it needs to adopt it16:19
edmondswI thought we already agreed that fixing 968696 will involve doing scope checks in code16:19
ayoungedmondsw, for Keystone and Nova, yes16:20
ayoungedmondsw, for the other projects, I am not willing to rewrite them to that level16:20
edmondswI'm not sure you can fix this without doing so16:20
ayoungI think that decision can be taken up by whomever choses to fix the bug on those systems16:20
edmondswstronger than that... I'm pretty sure you can't16:20
edmondswsure16:20
ayoungedmondsw, so, I don't think there is anything we need to do in python code that you cannot do in the policy.json file today.  Just that modifications have a greater probility of breaking things16:21
ayoungglance and neutron and cinder can all be fixed in their default policy files for the first step16:21
ayoungif they go to scope check in code, they should then inherit the fix16:22
ayoungwhich is an argument against an explicit GLobalROle change.  Policy is in flux, and we will soon have python code enforcing the bug effect16:22
ayoungI'd like to get the fix through as fast as possible16:23
ayoungchanging from is_admin_project to GlobalRoles will delay that, and confuse the message, even if the term is the better term16:23
ayoungis_admin_project can be seen as an implementation of global roles using exisint mechanisms.  It exposes a low level detail that GR does not.16:24
lbragstadi think having operator or deployer input would be valuable16:24
lbragstadbecause we can implement global role assignments via project scoping16:25
ayoungSo, if fixing 968696 is the highest priority, I am going to suggest we not change the mechanism we are using to solve it16:26
ayoungbecause it will push back the fix by a good bit...we are too late for Pike as it is,  Which means it won't go uin until queens, and then the fix for the other projects backs up behind that16:27
edmondswayoung I don't see any reason we can't do both in parallel16:27
ayoungR if we are really lucky16:27
ayoungedmondsw, sure16:27
ayoungedmondsw, I'm ok with that, so long as we prioritize 96869616:27
ayoungAnd with that, I would like to find out who is actually planning on workin on this16:27
ayoungright now I know of gagehugo actively writing code16:28
ayoungis anyone else willing to work on the fixes for any of the other services?16:28
hrybackiI am willing to dedicate some cycles to the cause16:28
ayounghrybacki, excellent16:28
ayounghrybacki, we have need for fixes in16:29
ayoungNeutron and Cinder from scratch16:29
ayoungthere is a half-kiestered fix in for glance16:29
ayounggagehugo is tackling nova16:29
hrybackigagehugo++16:29
ayoungand I think was flagged to take the keystone changes too16:29
gagehugoayoung yeah I was looking at what we might need to do for tempest16:30
hrybackiayoung: would that mean he is taking over some of the patches you've already got up or something completely new?16:30
gagehugohrybacki was using ayoungs patches16:30
hrybackidon't mean to de-rail -- I'm happy to help with some guidance (as this clearly has a lot of history)16:30
ayounghrybacki, all submitted patches are linked to from the etherpad16:30
hrybackiack16:30
ayounghrybacki, this is not derailing.  The is re-railing16:31
lbragstadi think we need more operator and deployer feedback for the global role or is_admin_project approach16:31
ayounglbragstad, go for it, but don't hold this up16:31
ayoungI really don;'t think they will care16:31
ayoungRBAC is something that most people ignore until it bites them16:31
ayoungif we document what we are doing, they will get the same end result16:31
edmondswthis operator cares and wants global roles... trying to explain is_admin_project is a mess16:32
ayoungand, if we go in parallel, we can roll this fix in to global roles without hurting them16:32
ayoungedmondsw, it was your idea16:32
edmondswI'll do it while I have to, but we need to get that replaced with global roles16:32
edmondswayoung sort of16:32
lbragstadif we want to do this in parallel - then we should change the is_admin_project bits16:33
*** Rockyg has joined #openstack-meeting-cp16:33
hrybackido we have a plan for getting more operator feedback?16:33
edmondswayoung and that was just to implement a quick fix... 18 months later we still don't have a fix16:33
edmondswit was never to be a permanent solution16:33
lbragstadhrybacki: #link http://lists.openstack.org/pipermail/openstack-dev/2017-May/117419.html16:33
*** zhipeng_ has quit IRC16:33
hrybackithanks lbragstad16:33
ayoungyep16:33
lbragstadhrybacki: no problem16:34
ayoungSo, go write up the global roles spec16:34
ayoungget the code started in keystone, including the transition plan16:34
lbragstad#link https://review.openstack.org/#/c/464763/8/specs/keystone/ongoing/global-roles.rst16:34
edmondswlbragstad that email was sent to the dev ML... what about the operator ML?16:35
lbragstadedmondsw: #link http://lists.openstack.org/pipermail/openstack-operators/2017-May/013547.html16:35
lbragstadedmondsw: i sent it to the operator and dev lists16:36
edmondswlbragstad great, tx16:36
*** zhipeng_ has joined #openstack-meeting-cp16:37
ayoungare you serious about doing it in parallel, or do you want to prioritize global roles over is_admin_project for the fix?16:38
lbragstadedmondsw: no problem16:38
lbragstadayoung: I'm serious about getting the feedback - because I think it is important16:39
ayounglbragstad, are you putting a hold on the is_admin_project fixes until we get that feed back?16:39
lbragstadi don't want to implement is_admin_project fixes only to have operator migrate to global roles16:41
lbragstadoperators*16:41
lbragstadthat seems like a lot of work16:41
lbragstadwhich is why i'm asking for feedback16:42
ayounglbragstad, a lot of work has been done already16:42
ayoungare you telling me you want to throw that out>16:43
lbragstadayoung: no - i'm not saying we need to throw it out16:43
ayoungand if so, I would like to point out that the time to have this discussion should have been when that idea was floated16:43
ayoungAnd when those specs were posted, and approaved. And implemented.16:44
lbragstadayoung: i'd like to get buy in from operators that they are ok migrating an approach for global roles16:45
lbragstadtwice16:45
ayoungThis is a long, multi-project effort. Having it reset this late in the process due to a name change is a waste16:46
lbragstadit's not a naming change - it's a structural change for elevated privileges in my opinion16:46
ayoungSo, I want to know who is committing to see this through16:47
ayoungits a name change16:47
ayoungis_admin_project to global16:47
ayoungoperators want a read-only role16:48
ayoungthis is holding that up16:48
ayoungbecause we've prioritize 968696 over that16:48
ayoungyou are doing the operators no favors here.16:48
ayoungso, are you willing to derail the is_admin_project fix, and further postpone RBAC in middleware, to change is_admin_project to global?16:49
ayoungAnd if so, who is going to pay for it?16:50
samueldmqisn't global related to 968696?16:50
ayoungsamueldmq, its another way to get there, but longer16:50
samueldmqI thought it was a way to keep allowing what is possible today: global scope16:50
ayoungit is, but it needs to be implemented16:50
ayoungand we went through the comparable pain already for is_admin_project16:50
samueldmqso the question is use is_admin_project to allow global roles16:51
samueldmqor implement global roles as proposed in lbragstad's spec16:51
samueldmqcorrect?16:51
ayoungsamueldmq, sort of16:51
samueldmqokay, would it be useful to get input from other projects too?16:52
ayoungthe question is whether to wait on fixing 968696 in the remote services used the global scope proposed, or to fix it now with the implemented mechanisms16:52
samueldmqI still need to look at global roles spec myself, I understand your proposal, fully got your blog post16:52
ayoungI;'d say it would be useful to stop waste time and effort and just fix the damn thing16:52
samueldmqhow do global role (or is_admin_project) go with the current idea for migrating scope checks to the code?16:53
samueldmqdo we plan to add that in the files for now, then migrate them to the code later?16:53
ayoungthe check needs to be done regardless16:53
samueldmqagreed16:53
samueldmqmy question is what's the plan on the check16:54
ayoungif we do it in code, we have the more flexible language of Python to implement16:54
samueldmqwe put them on the files for now, and they will go to code once the rest goes too?16:54
* samueldmq nods16:54
ayoungthat realyl only matters for advance cases, like domain vs project vs global scoped tokens for creating projects16:54
samueldmqyeah and I guess the answer to that will depend on how fast we can advance on 968696 and how fast migrating scopes to code is gonna take16:55
ayoungSo, I have hrybacki and gagehugo that are planning on writing code using the existing mechanisms16:55
samueldmqI was just checking we were in the same page16:55
ayoungfor nova, the review is submitted16:55
ayoungfor Keystone, its been kicked back and needs a little more work, but what is needed is in place16:56
samueldmqthat's good to see we have resources to work on this front16:56
ayoungsamueldmq, I cannot work on this myself any more16:56
samueldmqok, I will review the global roles approach too, before that I can say anything :(16:56
ayoungso if we are going a different direction, someone needs to own that, and understand the real costs16:56
samueldmqbut I got your proposal and I understand it solves the issue16:57
* samueldmq nods16:57
ayoungincluding the hacks we've had to do to provide a forward compatable solution16:57
ayounga global scope is going to have to map to something people have now, or we are going to have to dual check or something16:57
edmondswsamueldmq we can't fix this in the policy files without adding a bunch of new policy checks, so it's easier (and what we want anyway) to just do scope checks in the code to start with16:57
ayoungwhich is why we went with is_admin_project16:57
ayoungedmondsw, for Keystone16:58
ayoungedmondsw, not for glance, cinder, or neutron16:58
edmondswayoung not only for keystone16:58
ayoungedmondsw, and we already fixed the pyhthon code for nova16:58
samueldmqedmondsw: I get that, that's where my question on what we do now and how we address the to-code migration16:58
samueldmqFYI we're almost out of time16:58
ayoungASnd we are out of time16:58
ayoungand we did not discuss the RBAC in middleware, because we were once again derailed.16:59
hrybacki:(16:59
edmondswayoung you dominated the conversation, so you can't blame anyone else on that ;)16:59
samueldmq#endmeeting17:00
lbragstad#endmeeting17:00
*** openstack changes topic to "OpenStack Meetings || https://wiki.openstack.org/wiki/Meetings"17:00
openstackMeeting ended Wed May 24 17:00:33 2017 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)17:00
openstackMinutes:        http://eavesdrop.openstack.org/meetings/policy/2017/policy.2017-05-24-16.01.html17:00
openstackMinutes (text): http://eavesdrop.openstack.org/meetings/policy/2017/policy.2017-05-24-16.01.txt17:00
openstackLog:            http://eavesdrop.openstack.org/meetings/policy/2017/policy.2017-05-24-16.01.log.html17:00
*** zhipeng_ has quit IRC17:13
*** blancos has left #openstack-meeting-cp17:23
*** spilla has quit IRC17:53
*** gagehugo has left #openstack-meeting-cp18:07
*** Rockyg has quit IRC18:12
*** ayoung has left #openstack-meeting-cp18:23
*** prometheanfire has joined #openstack-meeting-cp18:53
*** prometheanfire has left #openstack-meeting-cp18:53
*** jaugustine has quit IRC18:58
*** nhelgeson has quit IRC19:17
*** diablo_rojo has quit IRC19:24
*** felipemonteiro_ has joined #openstack-meeting-cp19:36
*** felipemonteiro has quit IRC19:39
*** rarcea has quit IRC20:10
*** aselius has quit IRC20:13
*** diablo_rojo has joined #openstack-meeting-cp20:37
*** edmondsw has quit IRC21:58
*** felipemonteiro_ has quit IRC22:08
*** gouthamr has quit IRC22:32
*** gouthamr has joined #openstack-meeting-cp23:04
*** lamt has quit IRC23:12
*** sdague has quit IRC23:17
*** edmondsw has joined #openstack-meeting-cp23:32
*** edmondsw has quit IRC23:36
*** diablo_rojo has quit IRC23:47

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!