16:00:01 #startmeeting policy 16:00:02 Meeting started Wed Nov 29 16:00:01 2017 UTC and is due to finish in 60 minutes. The chair is lbragstad. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:03 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 16:00:04 #link https://etherpad.openstack.org/p/keystone-policy-meeting 16:00:06 The meeting name has been set to 'policy' 16:00:07 agenda ^ 16:00:14 ping raildo, ktychkova, rderose, htruta, hrybacki, atrmr, gagehugo, lamt, thinrichs, edmondsw, ruan_he, ayoung, kmalloc, raj_singh, johnthetubaguy, knikolla, nhelgeson 16:00:24 o/ 16:00:28 o/ 16:00:33 o/ 16:00:37 o/ 16:00:49 so - we don't have anything on the agenda 16:01:05 but i figured we could meet and open it up to any policy topics if folks have any 16:01:11 #topic open discussion 16:01:33 Do we want to kick up the polciy exploring sessions again or wait until after the new year? 16:02:10 o/ 16:02:23 hrybacki: i'm good with either 16:02:24 I vote wait until the new year 16:02:50 +1 16:03:00 do we feel like we got some useful bits out of the ones we had/ 16:03:08 and would a summary there be beneficial? 16:03:33 I think it attracted a pretty diverse crowd which was nice 16:03:47 I thought they were useful 16:04:41 it helped reinforce the needs for the initial steps we're taking 16:04:46 at least in my opinion 16:05:24 and it highlighted some key differences between what other systems have to protect with policy and what openstack has to protect with policy 16:05:51 * hrybacki nods 16:06:16 if folks think a summary would be useful - i can attempt to jot down my thoughts and aggregate notes 16:06:54 It would be a good thing to add to our next email to the ML advertising the next session for sure 16:07:06 hrybacki: a link to a summary? 16:07:23 * hrybacki nods -- or a concise version in the body of the email 16:07:30 yeah 16:08:42 in other news 16:08:48 #link http://lists.openstack.org/pipermail/openstack-dev/2017-November/124966.html 16:08:57 i sent out a quick status on goal progress 16:09:34 a few projects are getting really close to being done 16:10:04 also 16:10:16 #info tc is now accepting goals for rocky 16:10:32 i have a todo to draft a goal for getting projects to use scope-types 16:10:43 lbragstad do all of those actually need changes for the policy goal? Should only need changes where there's an API, so e.g. why is heatclient in the list? 16:11:02 edmondsw: yeah - that's a good question, i need to follow up with ricolin there 16:11:08 i'm not sure why that is in the list 16:11:16 and all those networking- and neutron- ones that aren't started 16:11:19 etc. 16:11:29 yep - i pinged mlavalle about those 16:11:36 cool 16:11:37 i can go ask again 16:12:19 were there any other goals we wanted to propose for rocky? 16:12:25 gnocchi and aodh seem to be missing from the email 16:12:26 from a policy roadmap perspective? 16:12:46 #link https://trello.com/b/bpWycnwa/policy-roadmap 16:13:40 something that came up in the tc office hours was that it's hard to set a goal that no one has completed yet, better to already have a few early adopters taht everyone else can copy from and make the goal just getting everyone else to follow suit 16:13:51 lbragstad I'd love to see a community goal for removing any policy hardcoding, such as things that are hardcoded for admin, ResellerAdmin in swift, etc. 16:14:00 good point cmurphy 16:14:02 cmurphy: ++ 16:14:09 edmondsw: yeah - that'd be a good one,too 16:14:13 edmondsw: #link https://review.openstack.org/#/q/status:merged+project:openstack/aodh+branch:master+topic:policy-and-docs-in-code 16:14:22 i'll update aodh in governance 16:15:05 cmurphy: so maybe we do a trial run with scope_types in rocky with keystone and a couple other projects 16:15:17 and slate scope types for a proposal as a queens goal for S 16:15:43 which shouldn't set our roadmap back, since the functionality to fix admin-ness isn't changing 16:16:07 ++ 16:16:36 sweet - that actually removes a todo from my list 16:16:42 sounds good. I don't think we should need a trial run for removing policy hardcoding, though... Seems like a very project-specific thing 16:16:56 trial run or a goal? 16:17:02 I do think we need a goal 16:17:06 if it's project specific - does it need a goal? 16:17:32 or if it's is extremely project specific? 16:17:49 I would still think it needs a goal 16:17:53 so that everyone does it 16:18:11 it's project-specific in the sense that everyone has hardcoded things differently 16:18:21 so - in order to complete that refactor, isn't using scope-types required? 16:18:23 but it's common in the sense that nobody should hardcode anything 16:18:42 why would scope-types be required? 16:18:59 I think this is parallel to scope 16:19:00 becuase you'd need to actually fix the problem of admin-ness in order to remove the hardcoded checks 16:19:07 allow hardcoding scope, but nothing else 16:20:09 maybe I'm missing something, but I don't think we should need to fix 968696 to remove hardcoded policy checks 16:20:25 role checks, anyway 16:20:38 I'm not talking about removing hardcoding of policy checks 16:20:43 s/policy/scope/ 16:20:51 * lbragstad is confused 16:21:21 in order to remove hardcoded "admin" checks, right? 16:21:39 where a service just checks that a user has the "admin" role regardless of what they are scoped to? 16:21:45 or other things, e.g. ResellerAdmin in swift 16:21:49 yeah 16:21:56 forget scope 16:22:00 other than that, yes 16:22:09 but scope has to be a part of that doesn't it? 16:22:20 why? 16:22:33 if we remove the hardcoded check of a string, oslo.policy has to evaluate scope, too 16:22:44 right? 16:23:26 something does, but not oslo.policy 16:23:34 not until we have scope-types anyway 16:23:43 today, scope checks are generally done in code 16:23:47 hardcoded 16:23:51 and should stay that way 16:24:02 because they shouldn't be customizable 16:24:04 i guess i could be more specific here 16:24:10 role-scope check 16:24:18 versus just scope-check 16:24:39 "does the user have the required role for this operation on the right scope" 16:24:53 I would say there is no such thing as role-scope check... there is role check and there is scope check and there is target attribute check, and they are all independent and unrelated 16:25:18 they are only related in that you have to pass all of them 16:25:31 but they can all be implemented independently 16:25:34 1.) role check = does this user have the role necessary to perform this operation 16:25:54 yes 16:26:04 2.) scope check = is the token using the proper scope for the operation being done (system vs. project) 16:26:14 yes 16:26:33 3.) target attribute check = is the thing being acted on in the right project, etc... (all service specific) 16:26:46 yes 16:26:48 in order to removed hardcoded "admin" checks 16:26:53 don't 1 and 2 need to be done? 16:27:02 in order to fix that as a community goal? 16:27:06 I think that would just be related to #1 16:27:32 ok 16:27:43 define policy checks that are customizable to indicate what role should be allowed, instead of hardcoding that only the admin role is allowed 16:27:56 yeah - i think i see what you mean now 16:28:10 i'd need to go through a bunch of the projects to figure out where that is being violated 16:28:27 yeah 16:28:36 if it's only a handful of projects, maybe we can just do it with bugs 16:28:44 instead of proposing a community goal 16:28:59 that's fair 16:29:01 but - yeah, i think that totally depends on how many services are doing that 16:29:13 I know it's a problem in nova and swift at least 16:29:24 and I think cinder? 16:29:55 and probably all the telemetry projects 16:30:13 sounds like we have something to chase before a formal proposal - either way i agree we should fix that 16:30:21 yep 16:31:20 anything else we should do as a rocky goal? 16:32:40 default roles? 16:32:53 #link https://trello.com/c/C1INH5AI/7-define-default-roles 16:33:08 That's an important one 16:33:24 even if it is just admin, reader, writer... 16:33:50 I think that one needs a trial first 16:34:47 so something we can try and pilot in rocky 16:34:49 at least more discussion on "how" 16:35:21 if all goes well we can remove the policy.v3cloudsample.json file since it will be obsolete at that point 16:35:24 because we don't want to break backward compat, and that will be tricky 16:35:39 lbragstad isn't v3cloudsample already obsolete? 16:36:11 i suppose, but we could officially remove it saying "yep, this is no longer needed because we have sensible defaults out-of-the-box" 16:36:18 oh, we probably need to fix a bunch of scope checking before we remove it? 16:36:25 yeah... 16:37:22 so, community goal, yes or no? 16:37:33 it will generate discussion that's for sure 16:37:44 I want to say yes. Might we at a minimum propose it? 16:38:09 yeah - worst case, it gets shot down and we learn a little more about what still needs to be done 16:39:09 and maybe we break it into a couple goals 16:39:16 1.) define a set of defaults 16:39:22 2.) implement a set of defaults 16:39:56 I don't think #1 needs a goal 16:40:10 3.) test a set of defaults 16:40:17 probably not - but we do need people to participate in the discussion 16:40:26 and you can't separate 2 and 3 16:40:35 :) 16:41:04 traditionally - any sort of default roles discussion had lived in either nova-specs or keystone-specs 16:41:18 and i think we need to have it at a level where other projects can jump into that discussion 16:41:34 * lbragstad is open to suggestions here 16:41:47 I think it should be a cross-project spec 16:42:04 that might work 16:42:21 are cross-project specs voted on by tc? 16:42:24 and tc managed? 16:42:32 I'm not entirely sure how that works 16:43:10 but I think that's the right place to do it, and I would start that ball rolling and get that spec approved before we propose a goal that everyone implements it 16:43:33 yeah - i agree 16:44:48 so, it looks like we have an action there 16:45:22 i think that kinda wraps up the rocky goals questions i had 16:45:27 does anyone have anything else? 16:46:22 * hrybacki shakes his head 16:46:52 cool - thanks for coming everyone 16:46:57 #endmeeting