Friday, 2017-07-28

*** phalmos has quit IRC00:00
samueldmqgagehugo: lbragstad: I will be going through project tags in a bit00:00
*** thorst has quit IRC00:00
samueldmqneeded to go afk for a bit earlier today00:00
*** ducttape_ has joined #openstack-keystone00:05
*** phalmos has joined #openstack-keystone00:05
*** ducttape_ has quit IRC00:10
*** phalmos_ has joined #openstack-keystone00:21
*** phalmos has quit IRC00:23
*** aselius has joined #openstack-keystone00:32
*** masber has joined #openstack-keystone00:35
*** boris-42_____ has joined #openstack-keystone00:54
*** boris-42_____ is now known as boris_4200:54
*** masber has quit IRC00:54
*** catintheroof has quit IRC00:57
*** masber has joined #openstack-keystone01:08
*** harlowja has quit IRC01:10
*** catintheroof has joined #openstack-keystone01:18
*** catintheroof has quit IRC01:25
*** edmondsw has joined #openstack-keystone01:25
samueldmqgagehugo: you around?01:29
*** edmondsw has quit IRC01:30
*** ducttape_ has joined #openstack-keystone01:45
*** ducttape_ has quit IRC01:50
*** masber has quit IRC01:50
*** masber has joined #openstack-keystone01:52
*** thorst has joined #openstack-keystone01:57
*** thorst has quit IRC02:02
*** jmlowe has joined #openstack-keystone02:04
*** ducttape_ has joined #openstack-keystone02:21
*** ducttape_ has quit IRC02:25
*** lbragstad has joined #openstack-keystone02:27
*** ChanServ sets mode: +o lbragstad02:27
*** lbragstad has quit IRC02:29
*** zhurong has joined #openstack-keystone02:30
*** tobberydberg has joined #openstack-keystone02:37
*** tobberydberg has quit IRC02:41
*** aselius has quit IRC02:41
*** markvoelker has quit IRC02:50
*** prashkre has joined #openstack-keystone03:04
*** masber has quit IRC03:13
*** edmondsw has joined #openstack-keystone03:13
*** edmondsw has quit IRC03:18
*** thorst has joined #openstack-keystone03:23
*** zhurong has quit IRC03:31
*** thorst has quit IRC03:37
*** boris_42 has quit IRC03:43
*** masber has joined #openstack-keystone03:48
*** nicolasbock has joined #openstack-keystone04:08
*** links has joined #openstack-keystone04:20
*** harlowja has joined #openstack-keystone04:32
*** aojea has joined #openstack-keystone04:41
*** aojea has quit IRC04:46
*** markvoelker has joined #openstack-keystone04:51
*** prashkre has quit IRC04:55
*** edmondsw has joined #openstack-keystone05:02
*** aojea has joined #openstack-keystone05:05
*** edmondsw has quit IRC05:06
*** gyee has quit IRC05:13
*** markvoelker has quit IRC05:25
*** harlowja has quit IRC05:28
*** zhurong has joined #openstack-keystone05:30
*** aojea has quit IRC05:37
*** aojea has joined #openstack-keystone05:40
*** harlowja has joined #openstack-keystone05:41
*** ducttape_ has joined #openstack-keystone05:52
*** ducttape_ has quit IRC05:56
*** thorst has joined #openstack-keystone06:00
*** oomichi has quit IRC06:05
*** oomichi has joined #openstack-keystone06:06
*** aojea has quit IRC06:06
*** thorst has quit IRC06:06
*** oomichi has quit IRC06:10
*** oomichi has joined #openstack-keystone06:11
*** rcernin has joined #openstack-keystone06:15
*** markvoelker has joined #openstack-keystone06:22
*** prashkre has joined #openstack-keystone06:31
openstackgerritColleen Murphy proposed openstack/keystonemiddleware master: Remove notice about system time  https://review.openstack.org/48830806:41
*** harlowja has quit IRC06:48
*** edmondsw has joined #openstack-keystone06:50
*** ducttape_ has joined #openstack-keystone06:52
*** edmondsw has quit IRC06:54
*** ducttape_ has quit IRC06:54
*** ducttape_ has joined #openstack-keystone06:55
*** markvoelker has quit IRC06:55
*** ducttape_ has quit IRC06:59
*** ducttape_ has joined #openstack-keystone07:00
*** ducttape_ has quit IRC07:04
*** oomichi has quit IRC07:05
*** oomichi has joined #openstack-keystone07:06
openstackgerritMerged openstack/oslo.policy master: Updated from global requirements  https://review.openstack.org/48809707:13
*** masber has quit IRC07:13
*** baffle_ has quit IRC07:13
*** baffle has joined #openstack-keystone07:13
*** masber has joined #openstack-keystone07:20
*** aojea has joined #openstack-keystone07:22
*** masber has quit IRC07:38
*** cristicalin has joined #openstack-keystone07:41
*** markvoelker has joined #openstack-keystone07:52
*** cristicalin has quit IRC08:00
*** prashkre has quit IRC08:00
*** ducttape_ has joined #openstack-keystone08:01
*** thorst has joined #openstack-keystone08:03
*** ducttape_ has quit IRC08:03
*** phalmos_ has quit IRC08:03
*** ducttape_ has joined #openstack-keystone08:03
*** ducttape_ has quit IRC08:07
*** thorst has quit IRC08:07
*** ducttape_ has joined #openstack-keystone08:10
openstackgerritPavlo Shchelokovskyy proposed openstack/keystoneauth master: Add release note for 'none' auth plugin  https://review.openstack.org/47883908:10
*** ducttap__ has joined #openstack-keystone08:12
*** ducttape_ has quit IRC08:12
*** ducttap__ has quit IRC08:16
*** openstackgerrit has quit IRC08:18
*** markvoelker has quit IRC08:26
*** BlackDex_ is now known as BlackDex08:33
*** mvk has quit IRC08:36
*** openstackgerrit has joined #openstack-keystone08:37
openstackgerritJose Castro Leon proposed openstack/keystone master: Fix ec1tokens validation in v2 after regression in metadata_ref removal  https://review.openstack.org/46553008:37
openstackgerritJose Castro Leon proposed openstack/keystone master: Fix ec2tokens validation in v2 after regression in metadata_ref removal  https://review.openstack.org/46553008:45
*** ducttape_ has joined #openstack-keystone09:00
*** ducttap__ has joined #openstack-keystone09:03
*** ducttape_ has quit IRC09:03
*** rha has quit IRC09:06
*** ducttap__ has quit IRC09:07
*** markvoelker has joined #openstack-keystone09:23
*** cristicalin has joined #openstack-keystone09:26
*** cristicalin has quit IRC09:37
*** kaisers1 has joined #openstack-keystone09:41
kaisers1Hey! Can somebody give me a hint on how to workaround https://bugs.launchpad.net/keystone/+bug/1697458 ? I'm in dire need of an ocata based setup for testing some backports but so far I'm unable to do this. The setup runs with default devstack settings for keystone.09:44
openstackLaunchpad bug 1697458 in OpenStack Identity (keystone) "Cannot deploy stable/ocata" [Undecided,Confirmed]09:44
kaisers1(I'm asking the same question on the qa channel, btw. Just desperately looking for a way to spin up the ocata based env)09:44
*** rha has joined #openstack-keystone09:46
*** markvoelker has quit IRC09:57
*** ducttape_ has joined #openstack-keystone10:03
*** thorst has joined #openstack-keystone10:04
*** ducttap__ has joined #openstack-keystone10:06
*** ducttape_ has quit IRC10:08
*** thorst has quit IRC10:09
*** ducttap__ has quit IRC10:10
*** edmondsw has joined #openstack-keystone10:26
*** edmondsw has quit IRC10:30
*** kornicameister has quit IRC10:45
*** kornicameister has joined #openstack-keystone10:46
*** zhurong has quit IRC10:53
*** markvoelker has joined #openstack-keystone10:55
*** kornicameister has quit IRC11:03
*** masber has joined #openstack-keystone11:04
*** ducttape_ has joined #openstack-keystone11:07
*** ducttape_ has quit IRC11:11
openstackgerritMerged openstack/keystoneauth master: Add release note for 'none' auth plugin  https://review.openstack.org/47883911:15
*** cristicalin has joined #openstack-keystone11:15
*** cristicalin has quit IRC11:20
*** markvoelker has quit IRC11:27
*** thorst has joined #openstack-keystone11:40
*** AlexeyAbashkin has joined #openstack-keystone11:40
*** thorst has quit IRC11:44
*** AlexeyAbashkin has quit IRC11:47
*** catintheroof has joined #openstack-keystone11:48
openstackgerritzhiguo.li proposed openstack/keystone master: Add the step to install apache2 libapache2-mod-wsgi  https://review.openstack.org/48838611:48
*** rcernin has quit IRC11:55
*** Dinesh_Bhor is now known as Dinesh_Bhor|afk12:01
*** Dinesh_Bhor|afk is now known as Dinesh_Bhor12:02
Dinesh_Bhorcmurphy: Hi, I have updated the request-id patches. Whenever you get time please take a look at them: https://review.openstack.org/#/c/329913/, https://review.openstack.org/#/c/329913/, https://review.openstack.org/#/c/329913/12:03
cmurphyDinesh_Bhor: sure, will try12:04
Dinesh_Bhorcmurphy: thank you so much12:04
*** ducttape_ has joined #openstack-keystone12:05
*** ducttape_ has quit IRC12:11
*** adriant has joined #openstack-keystone12:12
*** edmondsw has joined #openstack-keystone12:13
*** catintheroof has quit IRC12:14
*** rcernin has joined #openstack-keystone12:16
samueldmqmorning12:16
*** thorst has joined #openstack-keystone12:16
*** markvoelker has joined #openstack-keystone12:24
*** markvoelker has quit IRC12:25
*** jdennis has quit IRC12:26
*** markvoelker has joined #openstack-keystone12:29
*** jdennis has joined #openstack-keystone12:29
openstackgerritJose Castro Leon proposed openstack/keystoneauth master: Parameter to tune mutual authentication in kerberos  https://review.openstack.org/45533012:36
*** ducttape_ has joined #openstack-keystone12:38
*** ducttape_ has quit IRC12:39
*** ducttape_ has joined #openstack-keystone12:41
*** cristicalin has joined #openstack-keystone12:42
openstackgerritJose Castro Leon proposed openstack/keystoneauth master: Parameter to tune mutual authentication in kerberos  https://review.openstack.org/45533012:43
openstackgerritOpenStack Proposal Bot proposed openstack/keystoneauth master: Updated from global requirements  https://review.openstack.org/48800712:50
*** catintheroof has joined #openstack-keystone12:50
*** cristicalin has quit IRC12:53
*** ducttape_ has quit IRC12:54
*** ducttape_ has joined #openstack-keystone12:56
*** ducttape_ has quit IRC13:01
*** jaosorior has quit IRC13:04
*** lbragstad has joined #openstack-keystone13:04
*** ChanServ sets mode: +o lbragstad13:04
lbragstadgagehugo: any luck with the hybrid_property attribute?13:07
*** links has quit IRC13:16
*** rcernin has quit IRC13:38
*** jistr is now known as jistr|mtg13:45
*** dansmith is now known as superdan13:45
*** ducttape_ has joined #openstack-keystone13:47
*** ducttape_ has quit IRC13:49
*** ducttape_ has joined #openstack-keystone13:49
samueldmqlbragstad: ping13:55
samueldmqI was looking at https://review.openstack.org/#/c/485302/ and was wondering if that is being tested somehow13:55
lbragstadsamueldmq: not really - we don't have a way to functionally test it :-/13:56
knikolla  o/13:57
samueldmqlbragstad: kk I left a couple of comments to try to understand it better at least14:00
samueldmqlbragstad: thanks for confirming14:00
samueldmqknikolla: hi14:00
lbragstadsamueldmq: it'd be nice to expand our tempest/devstack plugin stuff to support an ldap deployment14:00
lbragstadthen it would be easier to test things like that14:00
*** rcernin has joined #openstack-keystone14:00
knikollawasn't rodrigods working on that with an intern?14:01
samueldmqI was wondering exactly the same14:01
lbragstadpossibly14:01
samueldmqit's been a while we support ldap, and we don't test it :(14:01
knikollahttps://review.openstack.org/#/c/483576/14:01
lbragstadah - nice14:03
samueldmqcool14:04
rodrigodsyep, this is exactly lwanderley's project :P14:05
knikollaif i get more time to work on this https://review.openstack.org/#/c/466406/ we could also support these cases within unit tests.14:05
rodrigodscool14:07
knikollawasn't there a bot that posted the title of reviews and bugs?14:07
lbragstadknikolla: yeah - that'd be nice14:08
lbragstadknikolla: i know the openstack-ansible folks were interested in an ldap backed identity deployment14:08
lbragstadthey wanted to run functional tests against it14:08
knikollalbragstad: that should already be supported by the ldap service in devstack.14:10
knikollawhat's missing is tests that exploit it.14:10
*** spilla has joined #openstack-keystone14:13
lbragstadgagehugo: lamt i've proposed pike-3 (ttx came knocking for it), but if you think you can get the rest of the project tags work done soon we can think about an FFE14:14
samueldmqlbragstad: ++14:15
lbragstadgagehugo: lamt spilla we also have to keep in mind string freeze in order to give the translation team time before we release14:15
knikollais it waiting on reviews or needs changes?14:15
lbragstadhttps://review.openstack.org/#/c/470317/14:16
lbragstadhttps://review.openstack.org/#/q/topic:bp/project-tags14:18
*** AlexeyAbashkin has joined #openstack-keystone14:18
lbragstada couple of those, specifically the policy and json schema validation bits look good,14:18
*** gyee has joined #openstack-keystone14:19
knikolla++, will give the implementation a review now.14:21
openstackgerritJose Castro Leon proposed openstack/keystone master: Fix ec2tokens validation in v2 after regression in metadata_ref removal  https://review.openstack.org/46553014:21
*** sbezverk has quit IRC14:22
spillalbragstad for review.openstack.org/#/c/481223 comment, just using add_tag for example, just change the call on L60 in keystoneclient/v3/projects.py to self.manager.add_tag(tag)?14:27
spillahttps://review.openstack.org/#/c/48122314:27
*** otleimat has joined #openstack-keystone14:28
spillaand use self (the project object) instead of the project_id14:28
lbragstadspilla: that could work14:31
lbragstadi'd be nice to get morgan's feedback there too14:31
lbragstadsince it's client related14:31
lbragstadif we want to keep pursuing project tags for pike though - i'd be inclined to get the server code in and worry about the client stuff next cycle14:31
spillaokay, and yeah agreed on server over client.14:32
*** aojea has quit IRC14:36
*** efried is now known as fried_rice14:36
*** spilla has quit IRC14:37
*** spilla has joined #openstack-keystone14:43
*** jistr|mtg is now known as jistr14:46
*** Dinesh_Bhor has quit IRC14:46
*** masber has quit IRC14:46
*** sbezverk has joined #openstack-keystone14:50
*** harlowja has joined #openstack-keystone14:51
*** Drankis has joined #openstack-keystone14:58
*** spilla has quit IRC14:59
knikollalbragstad: for project tags, supporting head on both /projects/{project_id}/tags/{value} and /projects/{project_id}/tags will cause the same bug as https://bugs.launchpad.net/keystone/+bug/166907015:02
openstackLaunchpad bug 1669070 in OpenStack Identity (keystone) "Checking whether group has role assignment on domain without specifying a role ID result in HTTP 200" [Medium,Confirmed]15:02
*** edmondsw has quit IRC15:06
*** spilla has joined #openstack-keystone15:08
lbragstadknikolla: yeah - i'm sure there are other places in the API that are subject to that15:11
lbragstadknikolla: i was asking morgan about that earlier this week ^15:11
*** rcernin has quit IRC15:13
knikollalbragstad: yeah, i don't think there's much that we can do about that in this api version.15:13
knikollamaybe handle it at the client side and reject values as None.15:14
lbragstadyeah - i don't see how we can distinguish the difference between the two15:17
*** edmondsw has joined #openstack-keystone15:19
*** spilla has quit IRC15:20
*** links has joined #openstack-keystone15:24
*** aselius has joined #openstack-keystone15:24
lbragstadflwang: regarding https://bugs.launchpad.net/django-openstack-auth/+bug/153100315:26
openstackLaunchpad bug 1531003 in django-openstack-auth "region used during login can vary" [Undecided,Fix released] - Assigned to Eric Peterson (ericpeterson-l)15:26
lbragstadflwang: how are your keystone regions named now?15:26
gagehugolbragstad halfway with the hybrid_property, creating projects with tags works, but creating tags for projects separately is not15:33
lbragstadgagehugo: hmmm15:34
openstackgerritKristi Nikolla proposed openstack/keystone master: WIP - Added keystone identity provider installation to Devstack plugin  https://review.openstack.org/48412115:37
timothyb89hi all, I've got a question about accessing keystone via a tunneled connection15:40
timothyb89say I've got a client behind a firewall with no public internet connection, but I do have a tunnel straight to a public keystone, e.g. http://localhost:5000/v3/ forwards to https://example.com:5000/identity/v3/15:40
timothyb89python-keystoneclient connects through the tunnel, discovers versions, and then tries to connect directly to a public URL from the versions list ... but this is not accessible15:40
timothyb89is there a way to force the keystoneclient to use the correct localhost url?15:40
knikollatimothyb89: one easy thing you can do is set up your hosts file to redirect that url to localhost.15:41
timothyb89knikolla: that was the first thought, but unfortunately the endpoints are different (/identity vs just /) so that would require a full proxy server15:42
*** Drankis has quit IRC15:43
knikollatimothyb89: hmm… right. lemme check the docs. last i remember you can't force an endpoint.15:44
*** aojea has joined #openstack-keystone15:46
*** jessegler has joined #openstack-keystone15:47
lbragstadstevemar: responded to https://review.openstack.org/#/c/484167/15:50
*** aojea has quit IRC15:50
*** harlowja has quit IRC15:51
*** jmlowe has quit IRC15:51
*** thorst_ has joined #openstack-keystone16:02
gagehugolbragstad looking at nova's tag sql models16:02
lbragstadgagehugo: do they use hybrid_properties ?16:02
gagehugonot that I can see, currently looking at https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L1462-L147816:04
gagehugohybrid_property works for creating a project with tags16:04
gagehugobut looking at tying creating a project tag back to project16:04
knikollatimothyb89: if  you feel adventurous http://paste.openstack.org/show/616882/16:05
*** thorst has quit IRC16:05
timothyb89knikolla: heh, I like it! we'll give it a try - thanks a ton!16:06
*** aojea has joined #openstack-keystone16:06
knikollatimothyb89: np, anytime.16:07
openstackgerritDoug Hellmann proposed openstack/keystone master: use the show-policy directive to show policy settings  https://review.openstack.org/48850816:07
*** aojea has quit IRC16:10
*** jmlowe has joined #openstack-keystone16:12
*** david-lyle has quit IRC16:14
*** david-lyle has joined #openstack-keystone16:16
*** david-lyle has quit IRC16:22
*** aojea has joined #openstack-keystone16:24
*** openstackstatus has quit IRC16:41
*** openstack has joined #openstack-keystone16:42
*** openstackstatus has joined #openstack-keystone16:43
*** ChanServ sets mode: +v openstackstatus16:43
*** links has quit IRC16:44
*** catinthe_ has joined #openstack-keystone16:54
*** harlowja has joined #openstack-keystone16:54
*** harlowja_ has joined #openstack-keystone16:55
*** catintheroof has quit IRC16:58
*** harlowja has quit IRC16:59
-openstackstatus- NOTICE: The Gerrit service on review.openstack.org is being taken offline for roughly 5 minutes to perform a database backup and reconfiguration17:12
*** junbo has quit IRC17:15
*** gyee has quit IRC17:23
*** gyee has joined #openstack-keystone17:25
*** openstackgerrit has quit IRC17:33
*** openstackgerrit has joined #openstack-keystone17:38
openstackgerritDoug Hellmann proposed openstack/oslo.policy master: fix formatting for empty defaults  https://review.openstack.org/48854617:38
openstackgerritDoug Hellmann proposed openstack/oslo.policy master: throw an exception when sphinxext cannot find the config file  https://review.openstack.org/48854717:38
*** mjax has joined #openstack-keystone17:45
mjaxHi, is this the right chat to ask questions about keystone config? I want to have keystone trust a token that comes from my company IdP, and use it to determine a user's roles and projects. The token has a signature that I can use the public keys to verify, and I was wondering what scope of change would I need to make to the keystone code base in o17:50
mjaxrder to make this happen17:50
*** mjax is now known as mjaxx17:55
*** mjaxx is now known as mjax17:56
*** aojea has quit IRC17:59
*** gyee has quit IRC18:03
knikollamjax: what type of token is that?18:04
*** aojea has joined #openstack-keystone18:05
*** gyee has joined #openstack-keystone18:06
*** catinthe_ has quit IRC18:08
*** catintheroof has joined #openstack-keystone18:10
openstackgerritTin Lam proposed openstack/keystone master: Add database migration for project tags  https://review.openstack.org/48445618:11
*** openstackstatus has quit IRC18:11
*** openstack has joined #openstack-keystone18:12
*** openstackstatus has joined #openstack-keystone18:13
*** ChanServ sets mode: +v openstackstatus18:13
*** gyee has quit IRC18:15
openstackgerritLance Bragstad proposed openstack/keystone master: use the show-policy directive to show policy settings  https://review.openstack.org/48850818:21
openstackgerritLance Bragstad proposed openstack/oslo.policy master: throw an exception when sphinxext cannot find the config file  https://review.openstack.org/48854718:26
openstackgerritLance Bragstad proposed openstack/oslo.policy master: fix formatting for empty defaults  https://review.openstack.org/48854618:26
mjaxknikolla: its an athens role token, structure is similar to PKI.18:30
openstackgerritLance Bragstad proposed openstack/keystone master: use the show-policy directive to show policy settings  https://review.openstack.org/48850818:31
openstackgerritJaewoo Park proposed openstack/keystone master: Add new tags attribute to project  https://review.openstack.org/47031718:33
mjaxI was thinking of looking at the old PKI/PKIZ token support from a previous version as reference, but thought it would be faster if someone knowledgeable about the code base could give me a few pointers on what to focus on18:34
rm_workcan keystone issue a token from another token?18:34
rm_worklike, I use password-auth to get a token once, and then can I use the same token to issue another token before it expires? essentially, extending the life of my auth18:34
knikollarm_work: the expiration of the second token will be at most the one used to get it.18:35
knikollaso you can't extend it.18:35
rm_workhmm ok18:35
knikollamjax: is federation a possibility? if your idp supports saml2/oauth you could use that.18:35
rm_workso it's possible to get another token, but keystone is aware of that possible loophole and forces it to be closed18:36
knikollarm_work: yes.18:36
rm_workkk thanks!18:37
*** dave-mccowan has joined #openstack-keystone18:38
openstackgerritLance Bragstad proposed openstack/oslo.policy master: throw an exception when sphinxext cannot find the config file  https://review.openstack.org/48854718:39
fried_ricemordred Well, shit, we have a problem with the only-undeprecated thing.18:39
fried_ricemordred https://github.com/openstack/keystoneauth/blob/master/keystoneauth1/loading/adapter.py#L172 in fact raises if interface isn't registered.18:41
mordredfried_rice: oh. because ... gah. that's just a bug fix18:41
mordredfried_rice: lbragstad is going to kill us18:41
fried_ricemordred I knoooowwww.18:41
mordredfried_rice: you need to protect c.interface witha hasattr(c, 'interface')18:42
*** openstackstatus has quit IRC18:42
* fried_rice cancels Denver itinerary18:42
*** openstack has joined #openstack-keystone18:42
fried_ricemordred Either way.  Call it.18:42
mordredfried_rice: oh - you could fake it18:42
mordredfried_rice: in nova18:42
fried_ricemordred By registering the opt and then somehow disabling it but leaving it in place?18:43
mordredfried_rice: conf[group].interface = None before you pass it in18:43
*** openstackstatus has joined #openstack-keystone18:43
*** ChanServ sets mode: +v openstackstatus18:43
mordrednope- don't register it - just set that right before passing conf and group to load_from_conf_options18:43
fried_ricemordred Ew, yeah, got it.18:44
mordredfried_rice: then we'll make the bugfix to ksa and can release it at leisure18:44
fried_ricemordred Roger wilco.18:44
mordredput in a note in nova to remove the hack once we get a new ksa with the fix18:44
mordredfried_rice: you want to make the ksa patch or want me to?18:44
fried_riceflip for it18:44
* lbragstad flips a quarter18:45
openstackgerritMonty Taylor proposed openstack/keystoneauth master: Protect against missing interface attribute  https://review.openstack.org/48856818:46
mordredfried_rice, lbragstad: ^^18:46
mjaxknikolla: don't think there is support for oauth/saml yet but I'll ask them about it. However, we wanted to just pass around our token to decrease the amount of database calls. Have keystone itself accept and understand the token, passing it on to the component, which will verify the token using I guess the keystone middleware? and execute the comm18:46
mjaxand for us18:46
fried_ricemordred Cool.  Throw in a test and I'm +118:46
mordredwill do18:47
fried_ricemordred Oh, I think you may need it a few lines down as well.18:47
fried_riceCause I can register only undeprecated, but leave both out.18:47
knikollamjax: keystone will also need the ability to issue a token. but basically you need to implement this interface https://github.com/openstack/keystone/blob/master/keystone/token/providers/base.py18:48
mordredfried_rice: yes. yes you do18:48
openstackgerritSamuel Pilla proposed openstack/python-keystoneclient master: Add project tags to keystoneclient  https://review.openstack.org/48122318:48
knikollamjax: honestly. the federation approach i think is the way to go. since you're going to have an external idp.18:49
mjaxknikolla: yup saw that one. Does that mean that there isn't a way for keystone to unconditionally trust an externally passed in token?18:49
openstackgerritMonty Taylor proposed openstack/keystoneauth master: WIP Protect against missing interface attribute  https://review.openstack.org/48856818:49
mordredfried_rice: ^^ marked WIP so it's clear we need tests18:50
mjaxwe do want to federate everything using the external token, since it contains all of the information needed to determine a user's domain, project and roles within that project18:50
lbragstadmjax: can't you do that with mappings in keystone?18:50
lbragstadand give keystone the saml assertion?18:50
fried_ricemordred Need a bug report too18:51
knikollalbragstad: ++18:51
knikollamjax: keystone can't unconditionally trust a token because when validating it, it needs to get the user's information from the identity backend (when not using federation). so you'll need to write a identity backend to go with it.18:51
knikollalbragstad: correct me if i'm wrong.18:52
mjaxlbragstad: Could you tell me a bit more about that? I am not familiar with how saml works18:52
lbragstadright18:52
lbragstadmjax: so you have an idp, right?18:52
lbragstadmjax: which is the thing that stores all your users (and possibly groups)18:53
lbragstadso when you go to prove your identity, or authenticate, you do it against some identity provider, since it owns the source of truth about your account18:54
lbragstadone thing you can do - depending on the identity provider, is have it issue you a SAML assertion18:54
lbragstadwith is a signed document from the identity provider that contains a bunch of information about the authentication interaction you just performed18:55
lbragstads/with/which/18:55
lbragstadwhat you can do is give that saml assertion to keystone18:55
mjaxand then how does keystone use that information?18:56
lbragstadand keystone will verify it's validity, pull properties out of the assertion, and "map" the user in assertion to resources in openstack18:56
lbragstadso - for example18:56
lbragstadyou could have a mapping in keystone that says "any user that is a member of the 'product' group or has the 'product' group in their saml assertion - place them in the 'product' group in openstack'18:57
lbragstadyou can then give that product group specific access to certain projects, or whatnot18:58
lbragstadamong other things18:58
lbragstadbut the point is that you can give keystone a SAML assertion and keystone will apply a mapping to it to determine what things that use should have access to18:59
lbragstads/use/user/18:59
* lbragstad can't type today18:59
mjaxmmm18:59
lbragstadmjax: does that make sense?19:00
lbragstadmjax: if not - that's totally cool19:00
mjaxi think I understand, so this is basically what I need, except keystone needs the saml assertion to trust the information sent in?19:01
lbragstadmjax: right - that's part of how you set federation19:01
lbragstadmjax: keystone is acting as the "service provider" in this case19:01
lbragstadbecause it's protecting resources provided by a service19:02
lbragstadso - one required thing you have to do when setting up federation is to establish trust between keystone and the thing providing the saml assertion, which is the identity provider19:02
mjaxright19:02
lbragstadthat way keystone can say "yes - this is a valid saml assertion and I can trust it"19:02
lbragstador "no - this isn't valid"19:03
knikollamjax: i think that's the way you wanna go rather than write your own token provider/identity backend.19:03
mjaxdoes that mean that alternatively, if athenz does not provide support for saml or oauth, I would need to go into the keystone code to write custom logic to trust a token sent in by athenz?19:03
lbragstadmjax: https://goo.gl/RCCUsf19:03
openstackgerritSamuel Pilla proposed openstack/python-keystoneclient master: Add project tags to keystoneclient  https://review.openstack.org/48122319:04
lbragstadmjax: yes - the current federation implementation requires SAML or OAUTH19:04
fried_ricemordred You open that bug yet?  If not, I'm gonna - need the number to put in my comment around the nova hack.19:05
*** dave-mccowan has quit IRC19:05
knikollatechnically you could also do kerberos. but i've never tried.19:05
mjaxcan you point me to the code that does the saml/oauth validation?19:09
lbragstadmjax: so - that's where things get interesting19:09
knikollamjax: it's handled by apache.19:09
lbragstad^19:09
lbragstadwe use an apache plugin to handle the validation of the SAML, which means you have to give it metadata so that it can validate the saml19:09
lbragstadmjax: we do have some documentation here - https://docs.openstack.org/keystone/latest/admin/federated-identity.html19:11
knikollalet us know if there's any dead links.19:11
mjaxI guess the problem is still that I'm not sure whether we have support for saml or oauth :(19:12
lbragstadmjax: that's going to be the first step19:12
fried_ricemordred https://bugs.launchpad.net/keystoneauth/+bug/170727319:12
openstackLaunchpad bug 1707273 in keystoneauth "get_adapter_conf_options(include_deprecated=False) results in NoSuchOptError" [Undecided,New]19:12
mordredfried_rice: I have no - can you? I'm juggling a pile of things today19:12
*** nicolasbock has quit IRC19:12
mordredfried_rice: you read my mind :)19:12
fried_riceI'll add the Closes-Bug tag to the change set.19:12
lbragstadmjax: all federated approaches that i know about base the implementation off some sort of standard (like SAML)19:12
openstackgerritEric Fried proposed openstack/keystoneauth master: WIP Protect against missing interface attribute  https://review.openstack.org/48856819:13
lbragstadotherwise the contracts between the thing providing the identity and the thing consuming it because extremely coupled19:13
openstackgerritSamuel Pilla proposed openstack/python-keystoneclient master: Add project tags to keystoneclient  https://review.openstack.org/48122319:13
lbragstadand that kinda defeats the purpose19:13
lbragstads/because/becomes/19:14
* lbragstad sighs19:14
openstackgerritNicolas Helgeson proposed openstack/keystone master: Add new tags attribute to project  https://review.openstack.org/47031719:14
mjaxlbragstad: our architect outlined this approach, since he wanted UUIDs for a user to be the same across all openstack clusters, so that we can federate glance later down the line. Unfortunately, my scope of knowledge isn't quite wide enough to tell you all of the details involved19:15
mjaxI think the intent was to make them very coupled19:18
lbragstadmjax: is each region or deployment suppose to have a separate identity backend?19:19
mjaxeach deployment is supposed to unconditionally trust the info given by the athenz token, and delete/update/add users to their separate databases based on that... I'm not sure if that answers your question19:22
lbragstadmjax: sorry - i could have framed my question a little better19:22
lbragstadmjax: what is the definition of an openstack cluster in your statement above?19:23
mjaxit would be a region/deployment with its own keystone + openstack components19:24
lbragstadok19:24
*** ducttape_ has quit IRC19:24
*** ducttape_ has joined #openstack-keystone19:25
lbragstadmjax: and you want each user to have the same uuid across all deployments?19:25
mjaxyes19:26
lbragstadmjax: is there anything preventing you from using a single/global keystone deployment?19:26
mjaxi've been told that athenz doesn't support saml or oauth, but will be adding support for okta in19:26
openstackgerritSamuel Pilla proposed openstack/python-keystoneclient master: Add project tags to keystoneclient  https://review.openstack.org/48122319:33
*** aojea has quit IRC19:34
mjaxa single keystone deployment might have some problems with scale and latency I think19:37
lbragstadyou can have local keystone nodes in each region - but they'd all share the same backend - so users and projects would be visible across the entire deployment19:39
lbragstadcreating and validating tokens issued from keystone are both read-only operations19:40
lbragstadthe default token provider in keystone doesn't actually persist the token19:40
mjaxi will be back in a bit thanks for help so far19:44
lbragstadmjax: anytime - i'm curious to hear more about  your use case19:45
*** spilla has joined #openstack-keystone19:45
*** raildo has quit IRC19:49
*** prashkre has joined #openstack-keystone20:07
*** prashkre has quit IRC20:07
*** catintheroof has quit IRC20:08
*** boris_42 has joined #openstack-keystone20:20
openstackgerritNicolas Helgeson proposed openstack/keystone master: Add new tags attribute to project  https://review.openstack.org/47031720:26
*** jmlowe has quit IRC20:39
mjaxhi lbragstad, I went ahead and reread some of our previous conversation, and I wanted to clarify that the currently proposed implementation would not need a new identity backend from keystone, but rather our athenz token will specify the required fields, and have a one-one mapping to the current identity backend that keystone uses. It sounds like i20:43
mjaxt would be feasible to get the athens token in the create token method and return that.20:43
openstackgerritLance Bragstad proposed openstack/keystone master: Remove duplicat sample files  https://review.openstack.org/48860920:43
*** raildo has joined #openstack-keystone20:46
lbragstadmjax: so the only thing you'd need to do is write your own token provider, right?20:48
mjaxThe token will have some part of its string include: d=project_name;u=user_name;r=user_roles_in_project;s=signature; I would parse those attributes and check them against the keystone db. I think we will also be using the username to calculate a unique UUID, and use that for any openstack commands that require uuid, but that part has yet to be fina20:48
mjaxlized. Then I could send this token along20:48
mjaxyes i believe I only need to write a token provider20:48
lbragstadit sounds like you'll have the same keystone database across the entire deployment, too?20:49
mjaxyea, the deployment should only have 1 db for keystone identity20:50
*** otleimat has quit IRC20:53
lbragstadfor keystone identity or all of keystone (i ask because we have a specific table in keystone's database for "identity")20:53
mjaxI believe all of keystone. That one contains tables for projects/users/roles right?20:54
openstackgerritLance Bragstad proposed openstack/keystone master: Move credential encryption docs to admin-guide  https://review.openstack.org/48861220:55
lbragstadyeah20:55
*** otleimat has joined #openstack-keystone20:55
lbragstadmjax: are users in your deployment going to be getting tokens from something other than keystone?20:56
mjaxThe idea is to use the athenz tokens, which we will get once from their api20:57
* lbragstad googles20:59
lbragstadthis https://github.com/yahoo/athenz ?20:59
mjaxthats the one20:59
lbragstadinteresting21:00
lbragstaddoes it issue the token is a specific format?21:00
lbragstadlike a json web token or something?21:00
mjaxyea, always in the same format, but it's by default just a string21:02
mjaxit looks like a cookie21:02
openstackgerritLance Bragstad proposed openstack/keystone master: Move url safe naming docs to admin guide  https://review.openstack.org/48862521:03
openstackgerritOpenStack Release Bot proposed openstack/keystoneauth master: Update reno for stable/pike  https://review.openstack.org/48864121:03
openstackgerritOpenStack Release Bot proposed openstack/keystonemiddleware master: Update reno for stable/pike  https://review.openstack.org/48864421:03
openstackgerritOpenStack Release Bot proposed openstack/oslo.policy master: Update reno for stable/pike  https://review.openstack.org/48870821:05
openstackgerritOpenStack Release Bot proposed openstack/python-keystoneclient master: Update reno for stable/pike  https://review.openstack.org/48878221:07
*** thorst_ has quit IRC21:09
*** ducttap__ has joined #openstack-keystone21:11
mjaxhttps://thepasteb.in/p/r0hwJv7j7K1FK21:14
mjaxmaybe that will be more clear? lbragstad (words from our architect)21:14
*** ducttape_ has quit IRC21:14
lbragstadmjax: interesting21:16
lbragstadso athens needs to have access to the user in order to issue tokens21:16
lbragstader - access to where the user is stored21:17
lbragstadso - by the wording of the paste - it sounds like the users are stored in athens21:17
*** ducttape_ has joined #openstack-keystone21:17
lbragstadwhich is where the identity backend for keystone comes into play21:17
mjaxnot quite, we'll have athens maintaining its own db keeping track of that, and keystone will be updating its dbs to match the athens info21:17
lbragstadoh - so users are duplicated in both systems21:18
mjaxfrom my understanding thats what should be happening21:18
lbragstadi wonder how much trouble it would be to write an identity backend that spoke to athens21:18
lbragstadso when you do a GET /v3/users/{user_id} it actually validates the user in athens21:19
mjaxI think the problem with that is we don't want to make so many database or net calls21:20
mjaxso once we have a token that keystone recognizes, we will do validation based on the public key and token signature21:20
*** ducttap__ has quit IRC21:20
lbragstadso athens creates tokens using asynchronous keys?21:21
mjaxyup21:21
lbragstadsigning and/or encrypting with private21:21
mjaxexatly21:21
mjaxmhm21:21
lbragstadhow often do you expect the user data to change?21:22
lbragstadis it something you can cache for a given period of time/21:22
mjaxcould you tell me what you mean by user data exactly?21:22
lbragstadsure - user data as in user information that athens owns21:22
*** spilla has quit IRC21:23
*** edmondsw has quit IRC21:23
lbragstadmjax: it sounds like keystone is going to be in some sort of pub/sub relationship with athens to keep users in sync between the two systems21:24
*** edmondsw has joined #openstack-keystone21:24
mjaxyes that is the intent21:24
mjaxI am not sure how often the user info will change21:25
lbragstadmjax: if it doesn't change often - caching could alleviate some of the concerns around making backend checks over the network21:26
*** aojea has joined #openstack-keystone21:26
mjaxWould that be secure? when would you decide to use the cached information as opposed to doing a network check?21:27
lbragstadmjax: well - that'd be the trade off21:28
lbragstadthe longer you hold the cache the higher the risk of relying on stale data21:28
*** edmondsw has quit IRC21:28
lbragstadthe trick with caching is trying to figure out how long you can confidently assume something is still valid21:29
lbragstadwhich is why i asked how long you expect user information to change in athens21:29
mjaxI understand21:30
*** david-lyle has joined #openstack-keystone21:30
lbragstadyou might also benefit from token caching in keystone - where we cache the token, which includes all information obtained from the call that went over the network to validate things in athens21:31
lbragstadso the first time you validate a token in keystone - you can expect it to take a bit, but after that it's just a cached response in memcached keystone fetches based on arguments21:32
mjaxIf I write a my own token provider for athens, then I could just use the public key to validate the athens token right?21:33
lbragstadyeah - you'd have to make sure keystone knows how to deal with that though21:33
lbragstadkeystone users symmetric encryption to create tokens currently, which would be a good example to look at21:34
mjaxI am able to verify the token signature, it uses standard openSSL ecdsa encryption21:34
lbragstadwe use to have bits that did that in keystone when we supported PKI tokens21:34
lbragstadbut that has since been removed21:34
mjaxyea, I was looking at an older version to get some idea of how the PKI tokens were handled21:35
lbragstadas far as i remember, they were only encoded and signed21:35
lbragstadbefore getting put on the wire21:35
mjaxwhat about validation?21:36
lbragstadsame process, the signature would be validated and the payload would get unpacked21:36
lbragstadwell - i guess that might not be 100% accurate21:37
mjaxSo it sounds like I could put some of the PKI code from an earlier release into my devstack instance to do some testing, and modify it to get it to the point that I want21:37
lbragstadit depends on how you want to deal with token validation21:37
lbragstadis the token *always* going to be validated using keystone?21:37
lbragstadwhich implies a round trip?21:38
mjaxthis is the part that i''m not too clear on since I haven't found out how the keystone middleware plays into things21:38
lbragstadright now - keystone supports two token format (uuid and fernet), both of which require online validation21:39
mjaxi see21:39
lbragstadmeaning keystonemiddlware, sitting in front of the service, has to ask keystone "hey, is this token valid"21:39
mjaxso then I want the keystone middleware to pull up the list of public keys, and verify the message directly, instead of calling keystone21:40
lbragstadwhich PKI - given the nature of asynchronous signing, it was possible to implement validation at the service, in keystonemiddlware21:40
lbragstadbut - the caching thing kinda comes back into play here because the token could be invalid, or the user could be gone, or the project could be deleted, etc... and the service won't know to validate that much of the token21:41
mjaxI didn't quite get that last part21:41
lbragstadok - here's a better example21:42
lbragstadsay i get a token from keystone that is scoped to a specific project, call it 'demo'21:42
lbragstadthen i go pass that token to nova to create an instance21:42
mjaxok21:42
lbragstadbut before i passed my token to nova, let's say an admin disabled my account or deleted the 'demo' project21:43
mjaxah I see21:43
lbragstadwhen my token gets to nova, and if it is validated by verification of using a public key, there isn't anything stopping me from making a request when i should be21:43
lbragstadshouldn't*21:43
lbragstadso - the strategy that keystone and keystonemiddleware use today as a result of the token formats supported is a round trip21:44
lbragstadwhen the token gets to keystonemiddleware, it is required to make a trip back to keystone to get validated21:44
mjaxthrough a net call to make sure that nothing's changed21:45
lbragstadyeah - keystonemiddlware also has a caching layer to help cut down on some of the traffic though21:45
lbragstad(in case that helps)21:45
mjaxyea21:45
lbragstadone of the token providers has a *hard* requirement on this21:45
lbragstadand that is the uuid provider21:46
lbragstadbecause it's a random string stuffed in the keystone database21:46
lbragstadso you have to go back to keystone to validate it21:46
mjaxI see21:46
lbragstadthe other, which is fernet, has a somewhat hard requirement21:46
lbragstadwe use symmetric encryption with fernet tokens21:46
lbragstadwhich means we don't have to persist them anywhere but it makes sharing the keys used to encrypt and decrypt the tokens harder21:47
*** david-lyle has quit IRC21:48
mjaxhmm21:48
lbragstadfwiw - if i had to write a token provider tomorrow, i would take every opportunity to have it be non-persistent, but it doesn't sound like you'll have to worry about that since keystone will only be validating tokens, right?21:49
mjaxright21:49
lbragstadkeystone, in your deployment, will never need to issue a token, will it?21:49
lbragstadok - cool21:49
*** raildo has quit IRC21:51
mjaxlet's say that we ignore the problems with the token going bad or project getting deleted during the call, the only place I would need to write a token validation method is in the keystone middleware right?21:51
lbragstadwould you need to write it in keystone too?21:52
lbragstador are your users never expecting to use keystone to validate tokens?21:52
lbragstadif you take the offline validation approach in keystonemiddleware and you know your users aren't going to be validating tokens using keystone, then the only place you'd need to implement token validation would be ksm21:53
lbragstadbut - it also depends on how much validation you want do21:53
lbragstadare you only checking the signature or are you pulling out all the information and validating it?21:54
mjaxboth21:54
lbragstadso - if you're doing both, part of me things having it supported in keystone would be a good choice21:54
lbragstadbecause when keystonemiddleware gets the token, it validates it with the public key, then starts making a bunch of calls to keystone to validate the project, the role, the user, etc...21:55
lbragstadmaybe it'd be easier to make a single call to keystone (GET /v3/auth/tokens) and have it validate everything and give back a single yay or nay21:55
mjaxi see21:56
lbragstadbut at that point - checking the signature with the public key doesn't really make a whole lot of sense21:56
mjaxThe other possibility that was mentioned is to just validate the message, and trust the message details21:56
lbragstad(because you're already making the round trip)21:56
mjaxyea21:57
lbragstadright21:57
lbragstadvalidate the signature and move along21:57
mjaxsorry I guess I would only be checking the message21:57
mjaxyea21:57
lbragstadand risk the case i mentioned before - which is what we did when we supported PKI21:57
mjaxI will have to ask our architect how he intends to handle that21:58
lbragstadwe went down another rabbit hole in keystone21:58
mjaxin the case the user gets his account deleted, it's not a problem since he wouldn't be able to access to overall system anyway21:58
lbragstadwhere we implemented an API to list all revoked tokens so that the middleware could compare the token it was validation to the values in the list21:58
lbragstad(which is yet another API to keystone to avoid making an API call to keystone)21:59
lbragstadAPI call*21:59
*** thorst has joined #openstack-keystone22:01
*** thorst has quit IRC22:05
mjaxlbragstad: thanks, sounds like for now, since this project is still in testing phase, we will just keep the expiry time on the tokens small to lower the risk of anything like that happening, and implement further safeguards as it gets closer to production. So now, I want to know some information about how to write a driver for establishing trust be22:17
mjaxtween athens and keystone22:17
mjaxcould you point me in the direction of where to look for reference?22:17
*** jmlowe has joined #openstack-keystone22:18
openstackgerritEric Fried proposed openstack/keystoneauth master: WIP Protect against missing interface attribute  https://review.openstack.org/48856822:22
*** aojea has quit IRC22:29
*** ducttap__ has joined #openstack-keystone22:30
*** thorst has joined #openstack-keystone22:31
*** ducttape_ has quit IRC22:33
fried_ricemordred Had to get a tad more aggressive with that workaround in nova FYI: https://review.openstack.org/#/c/488137/2..322:33
fried_ricemordred Otherwise oslo cfg freaked out when it actually tried accessing the opt.22:34
fried_ricemordred ...because of ConfigOpts.__getattr__22:35
fried_riceFound another buglet in Adapter loader while I was there.  Patched it into https://review.openstack.org/488568 - hope nobody will mind.22:36
* fried_rice out22:36
*** fried_rice is now known as efried_zzz22:36
mordredefried_zzz: great work - thanks!22:36
efried_zzz\o/22:37
*** ducttap__ has quit IRC22:42
mjaxeiddccgeilrlcfkgdckhhltgndcfbijeblkjujeitnjj22:44
mjaxwoops22:44
*** ducttape_ has joined #openstack-keystone22:45
*** ducttape_ has quit IRC22:50
*** ducttape_ has joined #openstack-keystone22:52
*** ducttape_ has quit IRC22:56
*** otleimat has quit IRC23:03
*** gagehugo has quit IRC23:50
*** gagehugo has joined #openstack-keystone23:56
*** markvoelker has quit IRC23:56
*** ducttape_ has joined #openstack-keystone23:59

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