20:00:07 #startmeeting keystone_horizon 20:00:08 Meeting started Thu Dec 1 20:00:07 2016 UTC and is due to finish in 60 minutes. The chair is r1chardj0n3s. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:09 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 20:00:12 The meeting name has been set to 'keystone_horizon' 20:00:34 stevemar: I'm always open to suggestions how to better run things! 20:00:36 o/ 20:01:06 #link https://etherpad.openstack.org/p/ocata-keystone-horizon is our current list of issues 20:01:10 o/ 20:01:49 what are we starting with first? :) 20:02:05 looks like rderose has an update for Proper Domain-admin support 20:02:18 "still in WIP" 20:02:51 o/ 20:03:04 i think the initial bug goes beyond the limitations imposed by a federated user 20:03:37 (otherwise doesn't look like a lot of updates in the issues etherpad) 20:04:08 yep, still in WIP, but once done, all federated users will belong to a real domain 20:04:35 so, who has a topic they'd like to discuss? 20:04:50 r1chardj0n3s: we have edtubill and crinkle around, they're both working on bugs 20:05:00 o/ 20:05:04 pick on one of them :P 20:05:09 crinkle, what're you working on? 20:05:12 also, I'd like to quickly discuss PCI 20:05:21 rderose: get in line! 20:05:23 rderose: ack 20:05:38 https://review.openstack.org/#/c/389679/ and https://review.openstack.org/#/c/389337/ could use keystone and horizon eyes 20:06:15 i don't have an update beyond that 20:06:40 crinkle: so https://review.openstack.org/#/c/389679/ seems like an issue from when we moved to the bootstrap command? 20:07:29 stevemar: no, it's that different parts of the code were using a config setting as either an ID or a name 20:07:54 crinkle: hmm, yeah.. "OPENSTACK_KEYSTONE_DEFAULT_DOMAIN" isn't very clear is it 20:08:43 "NOTE: This value must be the name of the default domain, NOT the ID" 20:09:13 isn't that backwards incompatible? 20:09:20 this: https://review.openstack.org/#/c/389679/4/openstack_dashboard/local/local_settings.py.example 20:09:21 ? 20:09:57 no because it was a bug, if you were using it the way it was documented it wasn't working 20:10:05 stevemar: the comment was incorrect before 20:10:08 o/ 20:10:11 we expect a name 20:10:12 ah okay 20:10:23 because that's the only way the login form makes sense 20:10:23 david-lyle: so what's the hold up on getting this merged? :) 20:10:31 david-lyle: true 20:10:38 crappy reviewer 20:10:45 * david-lyle points at self 20:10:52 :) 20:10:59 that patch hasn't hit the mandatory 69-day minimum delay for Horizon reviews yet :/ 20:11:16 r1chardj0n3s: team review in the meeting :P 20:11:24 ship it! 20:11:29 :-) 20:11:33 aaaand break! 20:11:42 (i am only half joking) 20:12:15 stevemar: and I am intrigued by the idea! 20:12:35 okay, crinkle also has https://review.openstack.org/#/c/389337/ up 20:12:50 slightly more involved 20:13:17 crinkle: this was a bug you noticed when playing around with federation / sso? 20:13:24 stevemar: yes 20:13:39 this could use someone from keystone saying "yep that's how that API works" or "no that's not how it's supposed to work at all" 20:13:52 just to reverify, the list_domains call will work with an unscoped token in the federation case? 20:14:19 david-lyle: yes, and only in the federation case 20:14:52 david-lyle: yes, that is correct i believe... http://developer.openstack.org/api-ref/identity/v3-ext/index.html?expanded=list-domains-a-federated-user-can-access-detail#list-domains-a-federated-user-can-access 20:15:48 and that's not guarded by policy? 20:16:03 says deprecated 20:16:08 that one only works in the federation case, but we replaced it with a general purpose api a while ago 20:16:22 jamielennox: ++ 20:16:35 but that one is guarded to "admin" only? 20:16:44 oh wait it's auth 20:16:46 listing /v3/auth/projects or /v3/auth/domains should tell you the projects/domains a user has access to, regardless of federated/regular login 20:17:00 checking on client equivalent... 20:17:12 jamielennox: right, those are the new APIs /auth/project not the one i pointed out (old ones) 20:17:29 v3.Client.auth.projects 20:17:33 v3.client.auth.domains 20:17:41 yeah - i thought we deprecated the OS-FEDERATED apis a while ago 20:17:43 jamielennox: could you comment on the review and I'll fix it? 20:17:57 david-lyle: so why don't we check what domains a user has access to, in addition to projects? 20:17:57 not all, but we deprecated those 20:18:24 wasn't accessible when I wrote the original implementation 20:19:03 i suppose we can put that as a follow-on if someone wanted it 20:19:11 but I'm not sure dumping into an arbitrary domain is ideal 20:19:13 but this is decently isolated 20:19:18 jamielennox ah - yes... specifically the apis for getting domains and projects for federated users 20:20:29 crinkle: commented 20:20:36 thanks 20:20:43 david-lyle: r1chardj0n3s y'all good with this once crinkle updates? 20:21:00 david-lyle | but I'm not sure dumping into an arbitrary domain is ideal 20:21:08 crinkle: also, as a matter of procedure, could you please link those to a bug to aid our tracking backports? 20:21:31 r1chardj0n3s: ++ 20:21:32 r1chardj0n3s: okay 20:21:45 thanks 20:21:59 in the federation case, will there be more than 1 domain? 20:22:20 david-lyle: possible? 20:22:29 david-lyle: federated users will belong to only a single domain 20:22:38 different domain, different user 20:23:04 because we're shadowing the users? 20:23:05 rderose: belong to != have access to 20:23:51 horizon doesn't have a switch to change domains 20:23:56 oh no? 20:24:02 thats a bummer 20:24:11 is/was there a reason why? 20:24:11 so if we dump into the first of possibly many then they can never get to the other 20:24:29 david-lyle: yeah, because we're shadowing federated users, they are like any other keystone user and will have to belong to a single domain. 20:24:41 until your newer API domain list was guarded to be "admin" only by the policy file 20:25:01 so there was no point adding it 20:25:08 i see what you mean 20:25:12 this all went into the Havana release, btw 20:25:22 so it has some gray hair now 20:25:33 might be worth adding it since we have /auth/domains now 20:25:42 anywho, getting off topic for this specific change/bug 20:25:55 good discussion tho, I think :-) 20:26:05 yep 20:26:09 right, the method to switch would go into doa, but the actual user interface would be in Horizon 20:26:12 edtubill: still around? 20:26:20 stevemar: yeah 20:26:26 I can talk about k2k federation for horizon: david-lyle approved the new k2k dropdown blueprint. I am currently writing some patches, I'll push them out for review soon. 20:26:28 dammit, stupid call starting soon 20:26:29 stevemar, I'm not sure it's off topic 20:26:52 because the unnavigable domain issue above, based on the current patch 20:27:35 is it worth the effort to make domains navigable or is it usually expected that all users have projects and this doesn't need to be fixed? 20:27:55 something is better than nothing I suppose, but adding the switch method to forms.py would be a good piece for this patch as well 20:28:01 david-lyle: okay, maybe crinkle's assumption that a federation setup result in a domain admin isn't a good one? 20:28:33 david-lyle: okay i can work on that 20:28:38 david-lyle: so it'll be like the project switcher? 20:28:44 stevemar: yes 20:28:51 thanks for volunteering to do the work crinkle 20:28:58 ofc 20:29:14 then once it's merged in doa and released we can put a user control in horizon 20:29:24 david-lyle crinkle okay, let's let crinkle tinker around for now, she can come back with an update next week? 20:29:39 sounds good 20:29:43 a domain switcher would be all kinds of useful, i think 20:30:06 yes, didn't realize we had gained access to the list for the user 20:30:16 has to dial into a call, will be half paying attention :( 20:30:37 so edtubill, any issues or will we await the patches? 20:30:42 oh wait, meeting at 4! 20:30:44 yay! 20:30:48 \o/ stevemar 20:30:58 \o/ 20:31:14 david-lyle: edtubill: so what was actually decided? 20:31:15 No issues so far 20:31:42 #link https://blueprints.launchpad.net/horizon/+spec/k2k-horizon this blueprint 20:32:30 And also I will make the 'K2K at login time' work with the new blueprint as well. 20:32:43 edtubill: so it'll be a drop down next to projects (and the new domains drop down ;)) ? 20:32:52 edtubill: make that a separate bp 20:33:09 stevemar: that's the current bp yes 20:33:13 david-lyle: cool 20:33:14 david-lyle: ok I'll make that a seperate bp for 'k2k at login time' 20:33:22 david-lyle: how is the list of SPs selected? 20:33:27 edtubill: ^ 20:33:40 It's taken from the access info object for a scoped token. 20:33:43 for the current bp, or the latter 20:34:15 david-lyle: i guess on login time it's a set of config options? and once logged in, from the token? 20:34:35 the latter will require another hardcoded list unless keystone has an open call to obtain it, or we go to a two step login process, which I'm not excited about 20:35:20 stevemar: So the user logs in and gets to see the list of available sps in a dropdown. The blueprint is different from the 'k2k at login time'. It gets it dynamically from the token and not the config file. 20:35:32 so it sounds like both are on the table right now? 20:35:52 is there a reason we are not deciding one over the other? 20:36:01 or is it -- we can do both, so why not? 20:36:15 hardcoded lists are bad 20:36:25 (sorry for all the questions, i think i've missed a few meetings :( ) 20:36:59 and my thoughts were the selector once logged in was cleaner and useful, but did not bar the login case 20:37:15 I'm not excited about how we have to do the login case at this point 20:38:06 david-lyle: okay, sounds like since both can happily co-exist, we let them co-exist? 20:38:37 I am for having them co-exist incase someone wants them both. 20:38:47 But prioritize the drop down blueprint more. 20:38:56 I think so, but I'm open to other opinions 20:39:03 i'm trying to get a firm decision on what will be accepted by the team, so we don't make edtubill go back and forth 20:39:05 :) 20:39:20 and if the decision is 'meh', that's cool too! 20:39:54 (we can move to another topic, i think i beat this horse to death) 20:39:56 I'm deferring to people who know more about what's going on (hi, david-lyle) 20:40:02 hehe 20:40:11 david-lyle, pressure's on 20:40:11 so, rderose, about about that PCI? 20:40:16 I would think if you had other keystones that were cost inducing, you could use the current endpoint list on login page and let the user choose 20:40:23 I've added a patch to support "PCI-DSS 8.2.6 Set passwords/passphrases for first-time use and upon reset to a unique value for each user, and change immediately after the first use" 20:40:29 https://review.openstack.org/#/c/403916/ 20:40:37 So after first auth, the user's password will be set to expire and they will be required to change their password. 20:40:45 1) horizon gets token for user (first time after password reset) 20:40:45 2) horizon will inpsect the 'password_expires_at' attribute in the token 20:40:45 2a) if expired, show password dialog for user to change their password 20:41:37 sound good? 20:41:53 lookin' 20:41:53 questions? 20:42:08 sounds good to me. we have some expiry interface work in progress, just not sure if we have the step 2) stuff covered yet