18:00:07 #startmeeting keystone 18:00:07 Meeting started Tue May 6 18:00:07 2014 UTC and is due to finish in 60 minutes. The chair is dolphm. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:00:09 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 18:00:11 The meeting name has been set to 'keystone' 18:00:18 hey 18:00:21 #topic Reminder: there are two summit schedules 18:00:29 topol, nicely done! 18:00:38 as in HK, there are two sched.org schedules: one for the design summit and one for the main conference 18:00:49 #link http://junodesignsummit.sched.org/ design summit 18:00:56 #link http://openstacksummitmay2014atlanta.sched.org/ main conference 18:01:15 there's some security presentations on monday 18:01:32 dolphm, Do we have any coders from sched.org attending? We need to get them to do the whole Hierarchical Multitenacy for Events 18:01:48 i recommend registering for sessions/events on each and then sync them both to your phone so you A) get updates B) can see conflicts 18:01:49 ayoung, lol 18:02:07 dolphm, when do you give the state of the Keystone Address? 18:02:20 ayoung: we don't do that anymore -- it's a web conference post-summit now 18:02:32 booo 18:02:37 http://openstacksummitmay2014atlanta.sched.org/event/4656993707ba7b22d5f8df0aaa246603#.U2kjtTkjPiU 18:02:44 Lets sit in there and Heckle, then 18:02:49 I would like a transcript of the state of keystone address 18:02:56 ayoung: unfortunately the icehouse one wasn't recorded (as i think i went first + technical difficulties) 18:03:02 where is the invite for the webconf announced? 18:03:20 topol, we also need to have the immediate rebuttle to the state of keystone address >.> 18:03:25 topol, i mean... 18:03:32 some of the summit meetings say FULL already 18:03:34 mfisch: good question... i recall it being on twitter.com/openstack, but i'm sure there was something more formal (operator list?) 18:03:46 yeah, how can they be FULL? 18:03:46 dolphm: ops list works for me 18:03:47 I'm just going to go the that one and sit on the stage 18:03:50 o/ 18:03:54 bknudson: ha, i didn't realize there was a capacity limit 18:04:00 bknudson, wow full? 18:04:08 a lot of the workshops have capacity limits 18:04:15 bknudson: which one were you looking at? 18:04:23 dstanek, if past summits were any indicator... rooms will be overfull for some talks 18:04:25 for everyone here, the state of the union shouldn't be surprising, it'll be a summary of icehouse + what we talked about during the juno conference 18:04:26 lbragstad, there's a bunch 18:04:55 mfisch: ++ 18:05:04 some even say 'filling' 18:05:10 if they are marked as full can you not add them to you schedule? 18:05:16 sign up and scalp tickets 18:05:19 I panic signed up for some last week, but I'm overbooked 18:05:22 bknudson, ++ 18:05:22 bknudson, ++ 18:05:25 will sell tickets for +2s 18:05:37 mfisch, oh thats downright dirty (i approve) 18:05:38 design summit sessions shouldn't have any capacity, beyond actually filing the room 18:05:46 so, first come, first heard 18:05:47 mfisch, you'd have better luck with beer 18:05:57 filling* 18:06:28 yeah, mfisch after you one gives you the +2 another one behind the scenes gives you a -2 18:06:32 "Take a Break with Red Hat" - FILLING 18:06:35 I could handle that one 18:06:37 rofl 18:06:51 thats where redhat gives you snacks in exchange for a resume I bet 18:06:57 Its ok, this whole OpenStack thing is a flash in the pan. All the cool kids are moving to CoreOS 18:07:14 sounds like a commercial break ;) 18:07:21 mfisch, Heh. Maybe for you 18:07:32 Red Hat doesn't feed me. Least, not that way 18:07:48 ayoung: they already have your resume 18:08:08 #topic Design summit scheduling conflicts? 18:08:24 just a reminder to poke me with any potential conflicts you find, today is basically the last day to resolve tehm 18:09:06 dolphm, I have yet to get someone hired here in Engineering. Ops and Services, yes....the easy way of getting into RH Engineering is to build a Successful OpenSource Project and We'll Acquire your company. 18:09:19 the only one i'm aware of, and will attempt to resolve, is that the federation design session conflicts with a federation-related topic from the main conference: http://junodesignsummit.sched.org/event/ab0966f5ec41f78e929effd499e0286f conflicts with http://openstacksummitmay2014atlanta.sched.org/event/11b6f75c349b0bffe204e3cb2880d4c0 18:10:16 that'll likely result in the federation design session moving to a later timeslot, although there aren't many options to do so 18:10:17 ah that mystery one 18:10:20 ah that would be good to resolve if possible 18:10:29 morganfainberg: ++ 18:10:57 i'd rather not swap it with another keystone session (so that we can attend the main conference session) 18:11:07 but that's my backup plan 18:11:19 dolphm, ++ 18:11:33 anyway, if anyone finds anything else, speak up- thanks! 18:11:49 #topic Design summit etherpads 18:11:53 #link https://wiki.openstack.org/wiki/Summit/Juno/Etherpads#Keystone 18:12:24 I started preseeding the etherpads a bit, and linking them on sched.org 18:13:06 the only thing i'd *really* like to have before we get to atlanta, is one or two specific desired outcomes for each session so that we can stay on track while we're there :) 18:13:16 ++ 18:13:51 a couple sessions are completely missing them, as the session descriptions were ... vague ... so i'd appreciate everyone's input here on what we'd like to accomplish in those topics 18:13:53 a rough outline, and desired outcomes are great things to put in the etherpads 18:13:54 #link https://etherpad.openstack.org/p/juno-keystone-client 18:13:59 #link https://etherpad.openstack.org/p/juno-keystone-authorization 18:14:24 keystoneclient and authorization are pretty broad topics to begin with 18:14:51 which is why the folks who propsed the session should help narrow it down :P 18:14:53 we have a seperate authorization track to just normal client? 18:15:00 bknudson: stevemar: ++ 18:15:48 jamielennox: authorization steps into token authz attributes, policy.json and oslo.policy land 18:16:23 oh right, server side 18:17:20 client is vague because while i've got a few things i'm hoping others to have topics as well 18:18:03 jamielennox: the "topics" you mentioned in the session description don't have clear justification or desired outcomes, though 18:18:03 I guess with the client I'm a little more interested in if the other projects are going to use it 18:18:13 rather than re-implementing everything 18:18:16 jamielennox: "Splitting middleware out from the client repo" - what's the challenge we need to overcome at the summit? 18:18:34 jamielennox: "Ideas for fixing auth_token middleware" what's wrong with it, exactly, that we need to solve? 18:18:36 etc 18:19:18 i'd like to have a desired outcome(s) for these, *and* revise the session description to be much more specific for both of these 18:19:37 dolphm: yep, i definetly think we need to revise the description 18:19:43 dolphm, do we anywhere cover having a strategy to getting one of the integrated projects to adopt V3 APIs 18:20:01 heat is using v3 apis 18:20:11 e.g., trusts 18:20:16 topol: i have a bp filed specifically to document our approach to that -- i intend on focusing on it this week actually :) 18:20:37 bknudson, I was thinking more nova, cinder, glance 18:20:59 dolphm, sounds good 18:21:22 topol: the bottom line is that the work is on us to make it happen, but we need a roadmap defined for ourselves, and for our stakeholders to monitor 18:21:30 nova's got an issue where they accept a token and then start using it with neutron... but the token might have expired between when they accepted it and when they hand it off to neutron 18:21:36 dolphm, +++++ 18:22:01 topol: i consider that part of client's responsibility, whilst ever people have to do there own integration with different API versions it won't happen 18:22:13 we need to save cycles for making that happen 18:22:34 we should also have a target -- j2? 18:23:00 jamielennox, so its on us to make happen. Otherwise V3 APIs arent relevant. and not being relevant is a bad place to be 18:23:07 having said that a large amount of what is actually required in terms of features are either implemented or in review, so there is work to be done but i don't know what is left in terms of discussion 18:23:19 topol: absolutely - we are going to need to make the changes 18:23:32 bknudson: my personal goal is for the end of juno, but i like the ambition :) 18:23:46 yes 18:24:14 we could also replace one of these sessions with a v3 roadmap session 18:24:19 dolphm, ideally we could pair up a core from keystone with a core from the other projects to have a two in the box approach to insuring folks upgrade to V3 18:24:37 topol: i like that idea 18:25:33 topol: pairing is a good idea 18:26:01 topol, ++ 18:26:54 s/Authorization/What it will take to kill Identity API v2/ ? 18:27:57 v2 auth isn't hard, it's the rest of v2... that's a pain 18:28:37 dolphm: maybe s/User IDs/Entity IDs/ ….since we are taling about user and group IDs 18:28:47 dolphm, first and foremost it will take: https://review.openstack.org/#/c/90632/ 18:28:51 dolphm: again, generally a client issue so happy to take it, I just need to rewrite that description 18:29:07 we need to make it possible for people to use V3 APIs while stuck with V2.0 clients 18:29:26 other clients, that is 18:29:48 jamielennox: make that a desired outcome of the client session, you mean? 18:29:52 dolphm: or maybe just User/Group IDs 18:30:00 henrynash: "entity" is a bit vague, but happy to expand to user & group 18:30:14 henrynash: i wasn't thinking group id's because i had identity federation in mind 18:30:16 dolphm: ++ 18:30:37 In federation, we need to let the groups be defined completely in the mapping layer, with nothing in identity 18:31:00 dolphm: again, my issue here is that i would love the feedback but as far as i'm concerned most of the pieces for the transition are in place or in review 18:31:01 ayoung, you mean no existing groups in identity backend? 18:31:07 ayoung: something like 'ephemeral' groups? 18:31:10 stevemar, yes, that is what I mean 18:31:19 ayoung, i agree 18:31:20 marekd, ++ 18:31:29 ayoung, you want the groups created on the fly? 18:31:33 marekd yeah, let the IdP manage the set of groups 18:31:34 stevemar: yes 18:31:57 stevemar, group shouldn't need to be "Stored" in identity imo 18:32:05 stevemar, I don't want to have to define them in two places. So if I have them in the IdP, I want to be able to use them from the IdP 18:32:08 stevemar: ayoung: or rather fake groups that are just a bridge to the roles... 18:32:12 NO! 18:32:17 Nothing Fake 18:32:25 They are real, they just don't live in Keystone 18:32:31 morganfainberg, ayoung, i'm not understanding how authz could happen then? 18:32:38 jamielennox: we have a substantial amount of cross-project work to follow - i'd like to enumerate that too. plus, what we expect from deployers to make a transition 18:32:43 stevemar, role is still assigned based on Group Id 18:32:51 a role has to have a user|group and project|domain 18:32:53 stevemar, the same way as now, you just wouldn't have a group in identity backend. 18:32:56 you just don;'t confuirm that the group is in the identity backend a-priori 18:33:03 that is why there is no FK constrain there. 18:33:26 dolphm: ok, i couldn't see any way to edit that summary, do i just have to send it to you? 18:33:45 jamielennox: oh sure - i have no idea what the options look like on your side at this point :( 18:34:09 jamielennox: i think it's all the same to me up until the conference, except after today it's 18:34:11 "pencils down" 18:34:16 morganfainberg, ayoung i suppose 18:34:19 stevemar, it's the same as a federated user, the ID doesn't get "stored" in the identity backend. 18:34:27 ayoung: we will still need to support groups in identity right…e.g. I’m ust using LDAP….just not for federation…unless, as we have discussed before, we make LDAP a subset of federation 18:34:43 dolphm: alright, i'll fix something up soon and email/put it on etherpad and link it to you 18:34:47 jamielennox: danke 18:34:49 henrynash, done by the web server 18:34:49 henrynash, correct, though i'd like to see LDAP as a subset of federation 18:34:56 mod_lookup_identity 18:35:14 http://adam.younglogic.com/?p=3175&preview=true 18:35:31 ayoung, right there are other ways, but if we maintain a raw ldap connection, we woiuld still need groups in identity. 18:35:38 ayoung, similar to SQL backend. 18:35:55 morganfainberg, I said explicitly for Federation 18:36:02 ayoung, yeah. 18:36:04 LDAP Id Backend doesn't go away. 18:36:10 ayoung: assuming everyone is happy to use apache plugins for this…(no, don’t start that argument now)…’cause I think that’s too strict an implementation requiremnet 18:36:12 http://adam.younglogic.com/2014/05/keystone-federation-via-mod_lookup_identity/ 18:36:29 henrynash: (what's too strict, exactly?) 18:36:30 henrynash, "make it possible to" not require 18:36:36 ayoung, ++ 18:36:43 I don't think deployers really want an LDAP ID backend if they have federation 18:36:49 henrynash, more options = better. this is an alternative deployment. 18:36:50 they want to store their service users in sql 18:36:53 henrynash, I don't want to have to explicitly enumerate all of the groups if the Apache module populates them for me 18:37:05 bknudson, ++ 18:37:08 ayoung: ++ 18:37:19 bknudson, somewhat, some of my users do want LDAP direct, but that is more of an edgecase than the norm 18:37:33 bknudson, i agree most cases federation supplants the need for LDAP 18:37:35 dolphm: that we make apache plugins the only way we can get certain key keystone fucntionality (e.g. groups for LDAP) 18:37:57 http://adam.younglogic.com/2014/05/mod_lookup_identity/ can use the ldap pam Module 18:38:05 bknudson: i agree in the long run, and would appreciate being corrected if anyone has an opposing use case :) 18:38:16 they don't have to be apache plugins, could also handle via keystone middleware 18:38:19 morganfainberg: (why?) 18:38:19 bknudson++ 18:38:23 bknudson, ++ 18:38:35 dolphm, because they are picky about how things interact with LDAP 18:38:48 dolphm, it's a silly edge case requirement 18:38:50 bknudson, for an example of that: https://review.openstack.org/#/c/92137/ 18:38:52 morganfainberg: so they don't want users authenticating with ldap or what? 18:38:59 if somebody was picky about interaction with LDAP they'd be surprised by how keystone works. 18:39:10 bknudson: plus plus 18:39:19 dolphm, i'll need to get more info on it and we're using some very odd hybrid backends 18:39:57 bknudson, we could take LDAP an make it into a middleware piece like the Basic_Auth one I just posted, and populate REMOTE_GROUPS from there. 18:40:07 henrynash, i get your concern, i had planned to talk about the dependency at the summit 18:40:21 ayoung, middleware would be good if we wanted to support non-apache wsgi implementations 18:40:30 morganfainberg, ++ 18:40:39 stevemar, how hard is it to get rid of that dependency? 18:41:10 I think that is the way to go, and then we can add or remove them from the pipeline, but Identity is an optional component. We need a way to deal with domains in the Basic_Auth case (that really is just an example one) 18:41:11 topol, not sure, we agreed on the dependency to get something up and running quickly 18:41:36 stevemar, makes sense 18:41:42 topol, it'll be different for the different federation protocols too 18:41:49 ayoung, exactly 18:42:28 ayoung: the thing is I see many customer who just want coroprate LDAP user/groups mapping…and then use keystone to add roles to those users and groups… I don;t see how we get that with a pipeline plug in 18:42:47 henrynash, that is exactly what you get 18:43:03 henrynash, if it provided the remote_user/group mechanism the apache module would have otherwise done, you get the same net effect, right? 18:43:40 we'd have REMOTE_USER and REMOTE_GROUPS? 18:44:02 henrynash, instead of doing a lookup against the backend, it used LDAP to populate REMOTE_USER and REMOTE_GROUPS. Then The Mapping backend (as per SAML plugin) will convert those to the USER_ID and Groups for Keystone consumption 18:44:07 bknudson, yes 18:44:09 and roles map group names to roles instead of IDs? 18:44:20 groups only have ids 18:44:22 how do I have an keystone API that says “pick the group that I add a role to for a project”? 18:44:29 henrynash, you don't 18:44:36 i knew you would say that 18:44:41 :-) 18:44:51 henrynash, you can query them from LDAP 18:44:53 ayoung: and how would you like to link groups from REMOTE_GROUPS with a set of roles? 18:45:04 in the mapping rules? 18:45:32 mapping just converst REMOPTEE_GROUPS to Keystone groups. The rest of the mechanism is the same, except you do not "confirm the group exists" 18:45:43 ayoung: ok, agreed….in that model we say there is no idenitty api as we know it today, you go to the “source” 18:45:59 ah, so some local groups would have to exist apriori... 18:46:19 we'll have to change the project name from openstack identity to openstack assignment. 18:46:33 bknudson, ++ 18:46:47 ayoung: how do you assign project/domain-based authorization to groups that don't exist? 18:47:48 dolphm, there are a couple ways we could address that. Probably the most logical is that an assignement to a group requires that the user doing it has the group in their Assertion (SAML, LDAP whatever) 18:48:22 dolphm, is that really such a problem, though, if the groups are not enumeratable in Keystone? 18:48:38 the mappings are going to be set up by external users. They know about their attributes 18:49:01 If they say "pass through the list of groups that the user has" so long as it is limited to a domain, let it pass. 18:49:24 ayoung: i don't care if their enumerable or not - if the user comes into keystone with groups that keystone has never seen before, they won't be authorized to do anything in the cloud, right? 18:49:32 ayoung, i think there might be some usability issues in that. 18:49:38 dolphm, correct. 18:49:50 ayoung: but you want the user to have authorization to grant themselves authorization? 18:49:54 dolphm, you would need to set up a role assignment before the group means anything 18:50:22 dolphm, no, I was saying "if you need enumeration" 18:50:31 that was just one possible solution,. not the berst 18:50:31 ayoung: so the deployer needs to know about the groups they care about before the user authenticates? 18:50:32 best 18:50:33 morganfainberg, ayoung: maybe not usability, but i'm trying to imagine the headache of getting keystone setup with all these mappings 18:50:56 Not "must" just "may" 18:51:19 jamielennox, ooh we probably need to work w/ horizon folks to make a "friendly" way of defining mapping.s 18:51:20 ayoung: so you want to basically ignore "groups" that don't exist? 18:51:21 jamielennox: would be interesting to see an example mapping setup 18:51:45 If I have an LDAP server with 1000s of groups already defined, I don't want to have to copy each and everyone in to the Keystone Backend (assuming it will not be using direct LDAP, But Rather Federation) 18:52:03 dolphm, yes I want the option to ignore groups with no role assignments 18:52:31 morganfainberg, and of testing them.... 18:52:35 ayoung: that seems like a trivial change relative to how federation is implemented today; why fuss with a radically different implementation to achieve that? 18:53:00 dolphm, I'm not suggesting a radical change. Just that it is something we need to resolve and support. 18:53:06 dolphm: ++ 18:53:27 An option on the domain: don't enumerate groups. 18:53:38 if CONF.federation.ignore_unrecognized_groups: discard_group(); else: raise Exception() 18:53:44 Or "don't confuirm group existinence when creating a role mapping" 18:53:58 dolphm, could be CONF, but probably makes more sense as an option on the domain 18:54:04 Or on the mapping 18:54:36 (3 minutes) 18:54:42 I could see a need for the current functionality for say, public cloud, and then Non-enumeration for a public cloud setup. 18:54:52 er, privateCLoud setup 18:54:59 before we're done I wanted to mention that it's pretty easy to try out the compressed token change -- 18:55:00 ayoung: i'm lost on whether you're talking about ignoring groups during role assignment or after processing a federation mapping 18:55:07 bknudson, ++ 18:55:08 just checkout the 2 commits and devstack 18:55:20 dolphm, both. 18:55:24 bknudson, and it worked OK? 18:55:31 ayoung: yes, it worked fine 18:55:38 and the tokens were obviously starting with PKIZ 18:55:41 One commit for Keystone, one commit for client, and devstack. 18:56:09 https://review.openstack.org/71181 https://review.openstack.org/91145 18:56:31 bknudson, BTW, that mechanism is what I am proposing as the basis for PKI usage in Oslo Messaging 18:56:44 ayoung: there's a patch for devstack? 18:56:51 dolphm, No. 18:56:54 it works with plain devstack 18:57:01 good 18:57:07 time-ish! 18:57:10 dolphm, I think he meant it worked with Devstack if you tell it "don't reclone" 18:57:18 ayoung: gotcha 18:57:29 ayoung, i think devstack doesn't reclone by default 18:57:45 #endmeeting