18:02:28 #startmeeting keystone 18:02:29 Meeting started Tue Feb 25 18:02:28 2014 UTC and is due to finish in 60 minutes. The chair is dolphm. Information about MeetBot at http://wiki.debian.org/MeetBot. 18:02:30 o/ 18:02:31 o/ 18:02:31 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 18:02:33 \m/ _v_ \m/ 18:02:34 The meeting name has been set to 'keystone' 18:02:41 https://wiki.openstack.org/wiki/Meetings/KeystoneMeeting 18:02:48 #topic Reminder: Icehouse feature freeze March 4th (features must be merged) 18:02:48 \o 18:02:52 * lbragstad likes henrynash's spirit 18:03:03 :-0 18:03:03 :-) 18:03:40 we look to be still on a good velocity -- although there are few patches that haven't seen as many revisions as they should be getting in response to reviewer feedback 18:04:09 so if you have something in review with -1's, keep posting revisions ASAP :) 18:04:34 #topic Deprecate XML in Juno? 18:04:40 bknudson: o/ 18:04:48 1 week 18:04:48 dolphm: are some of those outside of the core team? 18:04:49 7 days....168 hours 10080 minutes....604800seconds 18:04:49 AAAAH! 18:05:09 deprecate XML was mentioned on the mailing list recently with nova. 18:05:16 nova has deprecated it 18:05:19 dstanek: yeah 18:05:30 bknudson: for icehouse, correct? 18:05:34 to be removed in juno 18:05:39 so I think keystone is the only project that has it and hasn't deprecated 18:05:42 if the general direction is to remove XML support, i see no reason to not deprecate it in Keystone. 18:05:50 morganfainberg: ++ 18:05:50 bknudson: i completely agree that it's a good idea - the XML interface is dodgy at best, but nova is proposing that they do it with a new major version 18:05:56 we should at least be on the same deprecation timeline 18:06:00 dolphm: yes, they deprecated xml for icehouse -- their v2. and they have a v3 api that will not support XML 18:06:02 I don't know any deployments that use it (i've been listening) 18:06:08 everyone uses json afaict 18:06:32 it would also simplify things a good deal. 18:06:37 ok, just wanted to bring it up and see if there were any objections. 18:06:54 isn't it a compatability issue to remove it for an existing API? 18:07:06 post to openstack mailing list on that one 18:07:13 (my general feeling otherwise is good riddance) 18:07:14 jamielennox, if we do the 2 cycle thing, we probably can get away with it. 18:07:27 jamielennox: that's a good question - but we wouldn't be breaking that by deprecating it -- only be removing it 18:07:32 ayoung, ++ post to -operators and xposted to -dev would be good 18:07:44 deprecation at least discourages further wasted dev cycles on it 18:08:02 dolphm, bknudson , how good is the XML support in V3? 18:08:04 i... am embarassed i've never looked 18:08:12 dolphm, I thik the long term solution for keystone needs to be using Pecan' 18:08:15 s rending 18:08:16 morganfainberg: it works, that's about it 18:08:16 morganfainberg: for us it's just a translation layer 18:08:28 or whatever it is that does the multiple content types 18:08:32 ayoung, ++ pecan 18:08:34 ayoung, yeah 18:08:37 dolphm, k. 18:08:59 I suspect that Pecan is going to change the output of the documents 18:09:06 pecan would try to expose a whole new API though, so that would be massively breaking without a lot of dev effort 18:09:12 cuz, you knowm, automated rendering and all 18:09:13 ayoung: ++ 18:09:32 ayoung, we'll have to cross that bridge when we start down that path 18:09:34 ayoung: it shouldn't change much in terms of output at all 18:09:53 see: https://review.openstack.org/#/c/65428/ 18:10:03 (which was passing) 18:10:10 #link https://review.openstack.org/#/c/65428/ 18:10:29 jamielennox, is that rendering responses that used to be rendered with the XML middleware? 18:10:56 ayoung: it force renders everything into JSON and then lets the XML middleware do its thing for now 18:11:12 jamielennox, that is what we are doing now anyway 18:11:16 just to get something in review to deprecate XML: https://review.openstack.org/#/c/76301/ 18:11:19 I was going to look at an xml rendererer for pecan later 18:11:27 so it is not using the Pecan XML renderer. 18:11:30 ayoung: no 18:11:31 dolphm, snuck soemthing onto the end of the agenda, just for a quick status update 18:11:44 morganfainberg: ack 18:11:45 you guys aren't using wsme for xml? 18:11:48 ayoung: there isn't really a pecan renderer, there is a wsme xml renderer 18:11:51 FYI, pecan doesn't have an XML renderer by default 18:11:55 right, what jamielennox said 18:11:55 right, right 18:12:11 "or whatever it is that does the multiple content types" 18:12:11 dhellmann: we can't regarding the issue of having arbitrarty API inputs that i raised on the dev list a while ago 18:12:15 wsme is the interesting part of pecan/wsme 18:12:24 jamielennox: right, ok 18:12:37 dhellmann, jamielennox, that is on the agenda to talk about for Juno ("extra" attributes) 18:12:48 we're looking into ways to deal with that, since apparently every openstack API needs it 18:12:56 dhellmann: i had a patch that would fix the problem for json, but i couldn't figure out a way to allow the same functionality for XML 18:12:57 dhellmann: really? 18:13:01 dhellmann, jamielennox, at least as far as i am concerned 18:13:13 dolphm: yeah, jd__ is looking into the issue 18:13:14 morganfainberg: ++ 18:13:31 need to start making a list of likely summit sessions 18:13:34 jamielennox, 18:13:44 s/every openstack api/far more openstack apis than I expected/ 18:13:51 jamielennox, don't get too complex w/ it. 18:14:07 but likely the attrs would still need to be defined 18:14:22 i know that isn't valid xml. 18:14:31 dolphm, ++ 18:14:32 morganfainberg, dhellmann: it's fine for JSON because you can just parse direct to python, you could probably do the same thing for pecan's XML format but keystone wouldn't use that anyway - cause we're different 18:14:47 everyone is a snowlfake 18:14:50 er, snowflake 18:15:01 dhellmann, flowerflake? 18:15:10 dolphm, I suspect the buckets from last summit will stand as placeholders for the current summit: client, federation, and so on 18:15:15 it appears my wsme patch is on my work computer... 18:15:26 ayoung: that'd be a good start 18:15:38 ayoung: we'll likely have a slot or two less though 18:15:58 dolphm, only one session for Federation instead of two, then 18:16:04 dolphm, we did very well with unconfrence-like stuff. 18:16:09 dolphm, i think we can make up the difference 18:16:20 morganfainberg: and we'll do better with that this time around, if the logistics work out 18:16:32 dolphm, ++ 18:16:32 --no-promises 18:16:38 #topic Fixing multi-backend LDAP with composite user/group IDs 18:16:45 morganfainberg: o/? 18:16:46 so 18:16:59 henrynash_: my second guess 18:17:02 dolphm, henrynash_ ^ 18:17:10 this is just an update on this one….it's up for review 18:17:13 henrynash_, my big question is whether we "flip the switch" on the format by default 18:17:30 #link https://review.openstack.org/#/c/74214/ 18:17:48 henrynash_: that is an absolutely GIANT patch to land after feature freeze 18:18:00 ayoung: agreed…and I think you are right, we should not flip the switch 18:18:24 dolphm, yeah, but it is a lot of repeated code in Id generation 18:18:53 roughly half is in tests... 18:19:08 dolphm:yeah, a lot of the changes are where we generate a uuid in testing, we now call a method to do it 18:19:13 and he's written a lot of good text documentation 18:19:34 https://review.openstack.org/#/c/74214/12/keystone/identity/core.py is mostly docs and it is the large changed file 18:19:41 (outside of tests) 18:19:46 ayoung: agreed 18:20:21 so... you're saying it's a config option to enable the "new" format? 18:20:37 let's try to get it in before next tuesday - if it doesn't land, my instinct is to hold it for juno rather than to land it as a "bug" fix 18:20:41 morganfainberg, I think so 18:20:43 morganfainberg: so for SQL new entities are in the new format always 18:20:50 henrynash, ok 18:21:01 henrynash, that was what we talked about, i'm cool w/ that approach 18:21:04 henrynash, :) 18:21:11 morganfainberg: but old-style UUIDs are still supported 18:21:15 henrynash, ++ 18:21:17 yeah...larger Database columns, basically maxing out what we can fit in an "in line" text field. 18:21:18 henrynash, perfecrt 18:21:34 the config switch is for existing LDAP-as-the-default-domain installations 18:21:42 henrynash, 100% ++ 18:21:50 We'll try to hit some live testing on this. I think nkinder and company will be interested 18:22:24 I get this: Continue since identity does not exist. 18:22:27 henrynash: one of the docs refers to the "internal" format of ID's -- are you not proposing to change the ID exposed to the API? 18:22:31 henrynash, cool. yeah i just didn't want SQL stuff to end up not getting the new format for new entries 18:22:51 dolphm, format for ID has always been a blob 18:22:59 * ayoung wonders if we are going to break the other services 18:23:11 dolphm: not exitsing entity's ID will change 18:23:15 ayoung: if you're going to stop responding to existing ID's, that's likely 18:23:15 ayoung, hm. possibly 18:23:18 does Nova have an assumption of a uuid for a userid? 18:23:30 Yeah, we need this to be "actively enable" 18:23:32 ayoung, no. 18:23:33 ayoung, but might have a size expectation 18:23:41 dolphm: no….all existing IDs are still supported. period. 18:23:42 right...that is what I meant 18:23:51 ayoung, actually 18:24:02 ayoung, i don't think it wont matter. 18:24:05 ayoung, arg, s/wont// 18:24:09 double negative? 18:24:41 ayoung: if we're unsure of things like other services size limits it seems like something we should hold until juno 18:24:42 dolphm: nobody;s existing ID will change (assuming we set the config switch the right way for people who have an LDAP as the default domain) 18:24:43 ayoung, no lose the second negative. 18:24:48 morganfainberg, the other projects store "owner" and might have fixed sized fields. 18:25:02 ayoung, i think only swift could care 18:25:08 ayoung, afaik nova cares about project 18:25:14 although...would tempest catch that? 18:25:15 ayoung, not "user" in that regard 18:25:48 morganfainberg: what about quotas? 18:26:01 dolphm, in nova, thats still project based 18:26:06 dolphm, not user based 18:26:18 good to know - i thought it was both 18:26:23 i'm 2x checking 18:26:30 dolphm, lets just assume it will break "somewhere" and make it an option that has to be actively enabled, and then we can chase down the offenders over time\ 18:26:31 this sounds like a topic for the dev list to get a wider audience 18:26:32 actually 18:26:51 henrynash: has this been on list before? 18:26:58 Marconi, DBaaS, Barbican...who knows what evil lies in the hearts of code of men? The shadow 18:27:04 and by The Shadow, I mean not us. 18:27:28 dolphm: so myself and ayoung have discussed the ideas of composite IDs (which is what this is) before on the list... 18:27:40 yep...got a lot of feedback, too as I recall 18:28:22 i'll grab nova folks and talk to them today about user id lenfth etc 18:28:23 henrynash: was the change is size called out at all? 18:28:24 henrynash: all i was going to suggest is to resurrect the existing thread 18:28:30 we're going to have some funny-looking ids for federation. 18:28:32 later today in our channel 18:29:27 dolphm: not a bad idea and make an explicit request on the size (dstanek - it was proposed as composite of two existing UUIDs) 18:31:07 its not just nova I am worried about. Nova would get caught in Tempest testing 18:31:33 tempest hasn't been complaining so far 18:31:37 well i think it wont be a huge issue but we'll 2x check. 18:31:48 ++ 18:31:49 #topic v2 tenant list 18:31:51 henrynash: o/ 18:31:56 bknudson, question is whether tempest is running against MySQL. If so, we are getting out length checked 18:32:11 ayoung: tempest runs mysql and postgres 18:32:14 henrynash: i could probably address this topic as well 18:32:15 so just a quick one on tenant list 18:32:34 dolphm:ok 18:32:34 bknudson, yeah, so we should be good, since tempest was run by check on henrynash 's patch 18:32:37 we could return 2 tenants with the same name. 18:32:54 bknudson: yep 18:32:56 I ran the db2 migrations and no complaints. 18:33:02 henrynash: the only intended purpose for the default domain is to provide domain-scope for domain-unaware v2 calls (which is all of v2) 18:33:02 henrynash, yes V2 should only show default domain. 18:33:23 so, with this change are all user ids larger than the previous max? 18:33:33 henrynash: so users and tenants should only ever be returned from the default domain in v2 18:33:37 dolphm, ++ 18:33:38 dolphm: that's my view too…and in fact we do restrict it for users (slight by mistake) 18:33:56 henrynash: by mistake? 18:34:20 what if you get the projects for a user... 18:34:28 and the projects are not in default domain. 18:34:32 I don't know what all the operations are. 18:34:35 dolphm: my original changes to multi-backend for Havana caused the user list via v2 to only be for the default domains 18:34:40 bknudson: it should only show tenants from the default domain 18:34:44 if you're making that call on v2 18:34:58 ++ 18:35:01 henrynash: that's perfect 18:35:02 we should do filtering to eliminate V3 specific data 18:35:08 henrynash, ++ 18:35:09 henrynash: and should have been the existing behavior if it wasn't :( 18:35:15 henrynash, it might not have been intentional on your part, but it was right 18:35:15 dolphm: yep 18:35:43 but I never touched projects, hence it has the old behavior 18:35:46 ++ 18:36:10 it's an easy one-line fix (plus some testing) so can submit a patch for review today 18:36:32 henrynash, can you also ensure other V3 specific data doesn't get returned (e.g. projects for user) 18:36:33 ? 18:36:34 v2 API have no access of projects and users outside of the default domain 18:36:38 henrynash, or is that a larger scope 18:36:50 and/or needs more time/energy/resources to complete 18:37:17 morganfainberg: yeah, I wondered about that….I think it probably IS possible that there are holes there 18:37:40 we have those filters in place already right? 18:37:45 gyee, not sure. 18:37:50 gyee, but we should 18:38:00 I remember seeing them for the token APIs at least 18:38:07 I'll fix this specific issue (tenant list) as one patch…and investigate other issues sperately 18:38:12 henrynash, ok 18:38:14 henrynash: thank you! 18:38:34 #topic Kite 18:38:37 morganfainberg: o/ 18:39:00 (this is also on the TC agenda for today) 18:39:09 dolphm, just a quick status update, (correct me if i'm wrong) we're waiting on TC meeting later today to know if we have scope increase for splitting the repos to openstack/kite 18:39:22 kite is for KDS only, right? 18:39:40 dolphm, talked w/ jamielennox, if the split doesn't occur i think the best bet is to remove KDS from the keystone repo before RC then add it back in post split. 18:39:44 kite is KDS right? 18:39:45 ayoung, yes 18:39:48 gyee, yes 18:39:49 morganfainberg: so, if the TC views this as an increase of scope beyond our existing mission statement, then there will be a lot more discussion 18:39:54 morganfainberg: ++ 18:40:08 sorry post RC cut 18:40:12 not split :) 18:40:19 dolphm: this has been the problem in the past though, the reason it had to be in keystone repo to begin with 18:40:22 we'd have to drop kite entirely if TC doesn't like it? 18:40:23 so we don't halt development, but we don't release bad code. 18:40:26 grr, stupid irc 18:40:28 i'd be fine with a repo on stackforge; it's obviously not going to be an integrated project as of icehouse 18:40:44 bknudson: the TC only cares about the proper program to govern the project 18:40:46 dolphm, sure i'll convert my patch to move it to stackforge if TC says no today 18:40:58 bknudson: i.e. whether kite falls under identity or not 18:41:16 dolphm, the goal is to not release anything in icehouse that is broken-non-functional 18:41:24 and the TC is going to discuss kite vs barbican, and i'm sure identity vs barbican as well 18:41:29 morganfainberg: ++ 18:41:44 if kite is identity then so is barbican :) 18:41:59 morganfainberg: ++ i don't want what is currently KDS in icehouse 18:42:01 gyee, which isn't nessiciarly the wrong "program" for either 18:42:16 gyee, barbican and kite are not keystone and that is the important distinction 18:42:25 morganfainberg, it all depends on the definition 18:42:51 gyee, i didn't say it was the "right" program, but it isn't the "wrong" program. they are (imo) separate projects 18:43:03 the scope of "identity" is defined here https://github.com/openstack/governance/blob/master/reference/programs.yaml 18:43:03 in the upcoming summit, lets have a session on what exactly is Keystone 18:43:15 so it's up to the TC to determine of kite falls inside or outside of that scope 18:43:36 dolphm, yep. just wanted to make sure everyone was aware kds/kite will be out of the repo by RC 18:43:48 (i'm curious about everyone's opinions here, too) 18:43:50 it isn't ready and shouldn't be in keystone 18:44:24 morganfainberg: ++ 18:44:42 dolphm, my opinion is that barbican (certs, keys, etc) same w/ KDS are forms of identity. and should be in the identitty program 18:44:51 its undercloud identity management, out of the scope of keystone currently, but I think we need to loop back around on what is meant by Identity Management, and how Open Stack is approaching it for the Undercloud 18:44:52 dolphm, they should be separate projects 18:45:00 morganfainberg: ++ 18:45:04 dolphm: i'm happy to have it outside of keystone, but we're kind of back to where we were last summit - maybe it is, maybe it isn't, we put it in keystone because it was the quickest way 18:45:38 KDS provides an "identity" for invidual hosts inside of the undercloud that doesn't exisitng in a consistent way. KDS, OTOH, only provides symmetric keys, which are not sufficient for Identity managment purposes, too 18:45:40 ayoung, i think Identity program should encompass cloud and undercloud (i hate "undercloud" as a term) 18:46:03 morganfainberg: what's wrong with undercloud? 18:46:08 * mordred goes back to hiding 18:46:10 ayoung, but, as you are a fan of saying, if you squint hard enough...it looks like identity 18:46:13 morganfainberg, KDS and certificate management are both part of Identity management 18:46:23 mordred, i dislike "cloud" as a term ;) 18:46:29 morganfainberg: +100 18:46:32 mordred, i don't have an alternative 18:46:41 and we are going to be doing more certificate management as part of keystone. We already distribute signing certs 18:46:44 ayoung, yes. 18:46:45 morganfainberg: there are no alternatives - only worse words 18:46:55 Data center management 18:47:10 ayoung, ++ 18:47:17 ayoung, but Keystone is not issuing certs, yet 18:47:24 ayoung: if so we should have barbican closer to keystone 18:47:29 gyee, nope, and I don't think it should isssue them 18:47:38 but distribution.... 18:47:51 gyee, but i think cert issuance and distribution IS identity management 18:48:03 morganfainberg, I am not disagreeing 18:48:08 the question is "OK I have a signed document. I know who signed it, but it has no cert embedded. Where do I get it?" 18:48:31 and for messaging (pub sub) we are going to need to use PKI, cuz symmetric won't cut it 18:48:40 ayoung, ++ for PKI 18:48:46 bout time! 18:49:03 ayoung: i think that the 'no cert attached' thing is wrong and we only barely get away with it for tokens because of size 18:49:16 jamielen-, its a performance tune 18:49:24 for tokens you should be syncing that cert around with puppet or whatever 18:49:27 jamielen-, with messaging, the constraints will be the same 18:49:41 no...puppet is the wrong tool for that 18:49:43 the very nature of asking for a cert from someone else by name is wrong 18:49:47 fetch certs on demand 18:50:07 ayoung, CMS/SMIME was for message security 18:50:13 jamielen-, the cert distribution can be as insecure as possible. So long as the certs themselves are secure 18:50:30 if I wanted a cert I'd get it from LDAP 18:50:37 someone's public cert 18:50:42 bkundson, cert lookup yes 18:50:48 cert issuance no 18:51:03 bknudson, that is the solution of choice in the enterprise, yes 18:51:13 I don't think we need keystone to do cert issuance... solutions exist. 18:51:14 the underclopud does not disctate LDAP 18:51:30 bknudson: ++ 18:51:31 ayoung, but if the whole cert chain is insecurely distributed, how do you ensure you're getting the right authoritative certificate? 18:51:34 funny you should say that 18:51:35 ayoung, it's the idea behind trusting the root cert 18:51:54 morganfainberg, cert fingerprint validation is out-of-band 18:51:56 usually 18:52:07 gyee, you still need to trust the root cert 18:52:17 morganfainberg, yes, CA certs should be synced via Puppet, or something comparable 18:52:27 morganfainberg, yes, but verifying the fingerprint of the cert you are importing 18:52:32 ayoung, ok cool as long as we're clear on that 18:52:33 ayoung, no problems :) 18:52:52 gyee, it isn't about importing the cert it's about management of the CA cert 18:52:56 keystone shipping the CA certs is suboptimal. Its ok if you squint, but I'd prefer a better solution 18:53:07 ayoung: barbican? 18:53:11 gyee, we can't distribute the CA securely.. well we can but meh. 18:53:26 morganfainberg, we do it via chef 18:53:31 gyee, it was just a point of "make sure we recommend how it's supposed to go" 18:53:32 gyee, yep 18:53:34 gyee, ++ 18:53:37 if you don't trust chef then there's no deployment :) 18:53:56 ayoung: shipping as in pki_setup? or shipping as in through the API/ 18:54:09 bknudson, that is just pushing the responsibility around. A CA cert should be a long term resource, should be signed buy, like, a verasign cert and so on, and should be verified by hand once in a while, too 18:54:31 gyee, not trusting your own CMS is not an OpenStack concern 18:54:38 I want pki_setup to go away...and I have a proof-of-concpet for that that aI am going to submit as a patch for devstack shortly 18:54:45 ayoung: yay 18:54:49 ayoung, double yay! 18:54:55 and ssl_setup 18:55:02 ++ 18:55:06 #link http://adam.younglogic.com/2014/02/certmonger-selfsigned-cms-cert/ 18:55:37 wait, you are replacing one *self-signed* with another? 18:56:16 gyee: i'm assuming self-signed there is just for the sake of a reproducible example (?) 18:56:25 gyee, only for development 18:56:42 gyee, the goal is to get certmonger in there, and have certmonger talk to the real CA 18:56:59 k, I see 18:57:23 certmonger will talk to Barbican...or write your own CA plugin . It can already do FreeIPA 18:57:42 dolphm: since we only have a minute of two to do, wanted to draw your attention to: https://bugs.launchpad.net/keystone/+bug/1284700 18:57:45 I discussed with the Barbican folks, they are on board 18:57:57 we say all this but barbican currently has no PKI/cert abilities at all 18:57:57 and certmonger is in ubntu 13.10 now -- cool 18:58:17 and 14.04 is coming soon, so, new LTS! 18:58:17 dolphm: I just raised this…found it during testing for multi-backend….I'll be fixing that issue was well in a separate patch 18:58:28 ayoung, nice! I think atiwari is also working on the PKI piece for barbican 18:58:32 henrynash: ack 18:58:39 gyee, very cool 18:59:02 * dolphm 1 min 18:59:15 gyee, one summit session needs to be around service, endpoint, and policy distribution 18:59:19 (it annoys me that barbican decided on a different HTTP framework to _everyone_ else) 18:59:21 atiwari, 's issues 18:59:23 dolphm when you are accepting proposal for the upcoming summit? 18:59:33 the design summit I mean 18:59:37 gyee, they typtically go up once speaker stuff is done 19:00:01 gyee: that probably won't happen for another month 19:00:01 gyee, so probably in a couple weeks 19:00:15 or what dolphm said 19:00:20 once we're able to propose sessions, we usually go through them after a few weeks, and cut it down to however many spots we have 19:00:29 open in a couple weeks, closed in a monthish, i'm guessing 19:00:32 stay tuned to http://summit.openstack.org/ 19:00:36 dolphm, morganfainberg, cool, I'm making a list 19:00:48 stevemar: ++ 19:00:48 #endmeeting