Wednesday, 2017-11-29

jamielennoxmost of that's not hard to fix, just move the references, but i think that's the thing that gets dumped out to policy00:01
*** phalmos has quit IRC00:03
ayoungjamielennox, what is going on with RequestContext?  How does it get populated?00:04
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/common/context.py#n50  is called with00:04
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/middleware/auth.py#n16900:05
ayoungHow does it get the token data?00:05
ayoungDoes that code assume it is set via authtoken middleware?00:06
*** lbragstad has joined #openstack-keystone00:06
*** ChanServ sets mode: +o lbragstad00:06
jamielennoxhmm, yea, it still gets populated from there00:06
jamielennoxwell that's getting populated from auth_context00:06
jamielennoxbut it's supposed to do request_context = RequestContext.from_environment()00:07
jamielennoxwhich gets the values from auth_token middleware00:07
ayoungbut we are not using auth_token middleware00:07
jamielennoxyes we are00:08
ayoungin keystone?00:08
jamielennoxfor > year00:08
jamielennoxhttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/middleware/auth.py#n3600:08
ayoungummmm I don't see it jamielennox00:09
jamielennoxclass AuthContextMiddleware(auth_token.BaseAuthProtocol):00:10
ayoungclass AuthContextMiddleware(auth_token.BaseAuthProtocol):00:10
jamielennoxit's subclassing auth_token00:10
ayounggot it00:10
ayoungI can't read00:10
ayounghttp://git.openstack.org/cgit/openstack/keystone/tree/keystone/middleware/auth.py#n1300:10
jamielennoxBase just abstracts the actual fetch so we can read from the database instead00:10
ayoungok....so how do I kill the tests that are all using the code I wrote....00:11
ayoungOh, maybe I just need to kill more code00:11
jamielennoxso have a look at the current oslo_context.RequestContext object and remove the stuff we duplicate00:12
ayoungjamielennox, can I kill all the code like:  request_context.user_id = auth_context.get('user_id')00:12
jamielennoxyes, for example that has been redundant for ages now00:12
jamielennoxchange creation of the context to use from_environ()00:12
jamielennoxthat'll catch like 90% of the options00:13
ayoungjamielennox, care to write it and I'll review?00:13
jamielennoxbut i think there's a few things like trustee_id and stuff that auth_token doesn't handle00:13
jamielennoxheh00:13
jamielennoxhmm00:13
ayoungwe can add it on to an extended context for now00:14
jamielennoxi'll give it a go quickly00:14
ayoungcool.00:14
*** thorst has joined #openstack-keystone00:16
ayoung    File "/opt/stack/keystone/.tox/py27/lib/python2.7/site-packages/oslo_policy/_checks.py", line 280, in __call__00:20
ayoung        if 'roles' in creds:00:20
ayoung    TypeError: argument of type 'RequestContext' is not iterable00:20
ayounghmmm00:20
*** thorst has quit IRC00:21
jamielennoxdon't pass the whole context to oslo_policy00:23
jamielennoxthere's a function context.to_policy_values() which gives you the dict00:23
jamielennoxeventually there was the intent that all this would be wrapped up behind helpers but for now there's no direct dependency between these components that we can hide that bit00:24
jamielennoxthe advantage of to_policy_values being a function is it's something the service can overload00:25
jamielennoxwhich is how we were handling deprecations00:25
jamielennoxgah, how do you install the prereqs on mac00:36
jamielennoxwhat's the equivalent of ldap-devel00:36
lbragstadwxy_: when you met up with sdague on the unified limit work, did he mention if regions were required at all?00:46
*** thorst has joined #openstack-keystone00:49
*** thorst has quit IRC00:54
*** thorst has joined #openstack-keystone00:58
wxy_lbragstad: no, but I think it should be. A keystone may manage more than one Nova. How to distinguish their limits if no region is specified?00:59
*** thorst has quit IRC00:59
lbragstadwxy_: yeah - i think it makes sense, but theoretically, it's possible to have a service and a endpoint with a region, right?01:00
*** thorst has joined #openstack-keystone01:06
wxy_lbragstad: yes.01:07
lbragstadwxy_: ok - i'm just walking through this, thinking about what happens if we require reqions for limits01:07
lbragstadthat'd require a deployment to move to regions in order to have limits in keystone?01:08
lbragstadi wondering if that's too high a bar01:12
ayounglbragstad, nah, that is fine01:13
lbragstadcc kmalloc ^01:13
ayoungadding in a default region after the fact should be a minimally invasive procedure01:13
wxy_lbragstad: good point. A deployment's endpoint can be None.01:13
kmallocyeh01:13
lbragstadayoung: yeah?01:14
lbragstadi suppose endpoints and services can be updated01:14
ayounglbragstad, yep01:14
jamielennoxcan you create an endpoint without a region?01:14
lbragstadyeah - a few of us asked that same question today :)01:15
lbragstaddoes it make sense? maybe not....01:15
jamielennoxit'd probably confuse some client stuff - maybe?01:15
lbragstadi think most people just assume it to be required since so many deployment projects use one01:15
jamielennoxwell when we added the /regions API i thought we might have actually been enforcing that link01:16
lbragstadyeah01:18
lbragstadsomeone correct me if i'm wrong, but the only reason to make regoin required for a limit it so that we don't have to have unique IDs for limits, right?01:19
kmalloclbragstad: wow, regions are 100% optional01:20
kmallochttps://github.com/openstack/keystone/blob/master/keystone/catalog/backends/sql.py#L7401:20
ayoungIf it does not break backwards compat, and it makes the abstractions easier moving forward, I think its a good idea.  So long as you can get away iwth only specifying project id, and get the region id implied, I don;t think it will impact anyone01:20
jamielennoxi expect it'd be because typically the service only exists in a region to know that info01:20
kmallocayoung: unfortunately... requiring regions would be incompatible01:20
jamielennoxlike nova in us-west doesn't know how to enforce anything globally01:20
ayoungkmalloc, not for everything, just for people that then wanted to do limites01:20
ayoungI really don't have a dog in this race...I just want jamielennox top make my oslo-context problems go away01:21
*** thorst has quit IRC01:21
ayounghhmmm create_trust broken all over the place...bet that has to do with trustee_id01:22
kmallocayoung: i am getting tired of beating the drum of "please don't create things that change how keystone's API works based upon deployment choices"01:22
kmallocbut... ^^ that view applies to "we require regions if we want limit data" type feature adds. but i'm slowly getting to the "don't care, just implement it however" phase.01:23
jamielennoxso if the 'service' user stuff we talked about in denver goes ahead then regions become really important and we'd need a way to start enforcing that link01:23
lbragstadjamielennox: so requiring regions for limits is the way to do that?01:24
lbragstader - *a* way to do that?01:24
kmallocnow... i am 100% ok if we have limits require a region.01:24
kmallocjust changing behavior where say endpoints now require one... that is a no go imo01:25
lbragstadyeah - that'd be backwards incompatible01:25
jamielennoxso i haven't read these specs, but i'd say there is a need to at least have them per region01:25
jamielennoxand it depends on the mechanism as to whether global works at all01:25
ayoungkmalloc, I've been at the "don't care, just implement it however" phase for about 4 years now01:26
kmallocjamielennox: use case for limits that are for the entire deployment (aka, you get 100 vms in each region)? would you just require non-region endpoints to be fixed?01:27
jamielennoxso there is a definite use case for limit/region - which is basically defaulting to 0 to say that a user only has access to specific regions01:28
lbragstadyeah01:28
jamielennoxbut this all depends on whether keystone is the decision point (make a request, keystone says yes/no) or whether the service is fetching limits and doing the enforcement there01:29
lbragstadjamielennox: the later01:29
jamielennoxdecision point lets you be way more flexible01:29
kmallocjamielennox: yeaH.01:29
lbragstadjamielennox: keystone would supply the information01:29
lbragstadand the service enforces it01:29
kmallocjamielennox: i agree. you should be able to enforce limits on a specific region.01:29
jamielennoxok, the later means that if you have nova in west, south, and east they can't know about each other01:29
jamielennoxand so you basically _must_ make it per region01:29
lbragstadok01:30
jamielennoxlike nova-west only cares about quota for itself01:30
lbragstadright01:30
kmalloci just was wondering for the "we want customers to have same limits in all regions" do you need to specify for each, or just a region-less limit?01:30
*** nicolasbock has quit IRC01:30
jamielennoxbecause nothing is syncrhronizing the nova-global is enforced amongst the 301:30
lbragstadright01:30
kmallocand then the edge case of regionless-endpoints01:30
lbragstadkmalloc: i would think if you want to enforce the same registered limit for each region01:31
lbragstadinstead of having a global limit01:31
kmallocso perhaps:  Order of enforcement: [Project-Override] > [Region-specific] > [Non-Region] ?01:31
jamielennoxi'd say config option that you deprecate having region as a string and start making it relate to a region object, and push limist as a requirement of that01:31
kmallocjamielennox: oh god no. no no no no... you know what, whatever, make it config-deployer selection and change keyston's behavior based on that01:32
* kmalloc is done arguing against those types of configs01:32
jamielennoxkmalloc: i super dislike deployer specific config options, however they are the only way of evolving an API like this01:33
kmallocjamielennox: just make non-region endpoints unable to have a limit (we just don't enforce on it at all, regions are required in limits)01:33
kmallocand deployers can update their broken endpoints to have a region01:34
lbragstaddoesn't that essentially do the same thing01:34
jamielennoxbut the endpoint region is just a string currently01:34
kmallocjamielennox: no in the DB it's a FK01:34
jamielennoxi mean actually link it to something that you created via /regions API01:34
jamielennoxkmalloc: oh?01:34
kmallocyeah01:34
jamielennoxoh - then nevermind me01:35
kmallochttps://github.com/openstack/keystone/blob/master/keystone/catalog/backends/sql.py#L7201:35
kmallocjamielennox: we just "autocreate" the region if a region_id (or region) is specified in the endpoint json01:35
kmallocif no region_id or region element is specified you have and endpoint w/o a region01:35
jamielennoxcool, i remember a bunch of pain around that stuff, i just thought it was still a string in json01:35
jamielennoxoh, autocreate, ugh01:35
kmallocyep. but we at least have reliable data on the backend /s :P01:36
jamielennoxok, understood, autocreate is kinda funky01:36
jamielennox(like this fish smells funky)01:36
kmallocyeah. i only know this cause i just looked this all up01:36
kmalloci think the autocreate was to "fix" the json thing01:36
kmallocwhere you were dealing with a string01:37
kmallocw/o breaking api contracts01:37
jamielennoxyea01:37
kmallocstill smells bad.01:37
kmallocbut, eh.. *shrug*01:37
jamielennoxok, so yea, your options are to have a default region (it's already a hierarchy, default is just the root) or endpoint must have a region to have a limit01:37
lbragstadyeah01:38
jamielennoxalthough good luck to whomever has to figure out the hierarchical component of limits01:38
kmallocjamielennox: wait are regions hierarchical?01:38
kmallocgod.01:38
kmalloci forgot about that01:38
kmallocgross.01:38
jamielennoxyep, that was a jaypipes drive by a few years ago01:38
kmallocmy solution: ignore region hierarchy for limits01:39
kmallocreally, i would say limits are for their region and only thier region... none of the hierarchy bits01:40
jamielennoxso it's the same problem as which roles propogate and which don't and yea, i'd just ignore it for now01:40
ayounghierarchies are fun01:41
jamielennoxif you design them from the start01:41
kmallocso, i also am ok if we implement a default root region that anything without a region gets assigned to01:41
ayoungjamielennox, I might actually have this context thing working here shortly01:41
kmallocif that solves the issue(s)01:41
lbragstadkmalloc: like a migration?01:41
kmalloclbragstad: basically db migration01:41
jamielennoxayoung: i've got the base done01:41
*** gmann_afk is now known as gmann01:41
ayoungjamielennox, tests passing?01:41
ayoungthat is the PITA part01:41
kmallocand the case where we use it is: fix any region-less endpoints01:41
jamielennoxwell, i'm trying to make the docker bits go to actually run the tests01:42
kmalloclbragstad: and any time an endpoint has no region on create01:42
jamielennoxgot assigned a mac :(01:42
ayoungjamielennox, I mean unit tests01:42
kmalloclbragstad: pretty straight forward.01:42
lbragstadyeah..01:42
kmallocjamielennox: run vms. don't try and do it all native containers :P01:42
lbragstadkmalloc: wxy_so that sounds like step one?01:42
ayoungjamielennox, what he said01:42
jamielennoxergh, really01:43
kmallocjamielennox: really.01:43
kmallocit is the easiest way (short of just installing linux on the hardware... it does work pretty darn well)01:43
kmallocat least it did last time I did it. was impressive.01:43
lbragstadjamielennox: my old mac worked great as an ssh terminal01:44
kmallocthough thinkpads are still better linux boxes01:44
lbragstadkmalloc: ++01:44
jamielennoxi have a linux machine on ec2 because sometimes you actually need to get work done01:44
jamielennoxbut i don't have anything like this set up there01:44
kmalloci have a linux box [trying to debug an issue with the i210 intel nic chipset] that manages a chunk of my home network for "getting things done"01:45
lbragstadwxy_: kmalloc if we do the whole migration/auto-create thing, we should probably hit up the operator list, yeah?01:46
kmalloclbragstad: yeah probably.01:46
kmallocwe should be clear the only thing we are changing is the case where and endpoint does not have a region01:46
wxy_++01:46
lbragstadright - so we'll create RegionOne iff there isn't a region in the deployment01:47
kmalloci'd call it __DefaultRegion__01:47
lbragstader - $RegionOne lol01:47
lbragstadyeah01:47
kmallocbecause you might have a case where $RegionOne is used but some endpoints aren't part of it01:47
jamielennoxi'd try not to, becasuse that string ends up in the catalog01:48
kmallocor whatever, pick a name01:48
kmallocDefaultRegion01:48
kmallocand services are already region agnostic01:48
kmallocso, we don't need to change that01:48
gmannjamielennox: np. i now my name spell is complex :)01:50
*** thorst has joined #openstack-keystone01:51
ayoungjamielennox, anyways, when you get it working, put me on the review.  I'll be looking for it.01:54
openstackgerritJamie Lennox proposed openstack/keystone master: Clean up RequestContext  https://review.openstack.org/52365001:56
jamielennoxayoung: going to test via zuul because i don't have the setup atm ^01:57
*** thorst has quit IRC01:57
ayoungjamielennox, that works.  post it and I'll run the tests here01:57
openstackgerritJamie Lennox proposed openstack/keystone master: Clean up RequestContext  https://review.openstack.org/52365001:58
*** annp has joined #openstack-keystone01:59
ayoungjamielennox, you missed the trust values02:00
jamielennoxayoung: where? i thought i left them assigned from middleware02:00
ayoungAh...nope it was user_id02:00
*** thorst has joined #openstack-keystone02:00
ayounghttp://paste.openstack.org/show/627655/02:01
ayoungthis line02:01
ayoung        self.assertEqual(self.user['id'], req_context.user_id)02:01
jamielennoxmy laptop is about to die02:01
jamielennoxand then i have to relocate02:01
jamielennoxso if you don't see me push anything again assume i'm gone and just fix the little mistakes02:02
ayoungHeh02:03
ayounglittle02:03
ayoungrequest_context = context.RequestContext.from_environ(  does not fill out  request_context.user_id02:03
jamielennoxit should02:03
jamielennoxbecause it goes via auth_token which adds it to environment02:04
jamielennoxit's just whether the tests correctly set up that path02:04
jamielennoxoh - and also02:04
jamielennoxmake sure you pull #202:04
jamielennoxwas dumb mistake that might have caused that02:04
*** thorst has quit IRC02:05
jamielennoxall i get is: pkg_resources.ContextualVersionConflict: (osprofiler 1.1 (/keystone/.tox/py35/lib/python3.5/site-packages), Requirement.parse('osprofiler>=1.4.0'), {'keystone'})02:05
jamielennoxand i don't have time to debug that one02:05
ayoungyeah, that was 202:05
jamielennoxok, then need to take a deeper look02:07
jamielennox1%02:07
jamielennoxbiab02:07
jamielennoxoh, it goes to 0%02:07
lbragstadlol02:07
lbragstad#goodtoknow02:07
*** aselius has quit IRC02:31
*** daidv has joined #openstack-keystone02:33
*** dave-mccowan has quit IRC02:42
*** threestrands has joined #openstack-keystone03:05
*** thorst has joined #openstack-keystone03:05
errrIm using stable/newtown and trying to use `openstack token issue` but I keep getting __init__() takes exactly 7 arguments (6 given)03:07
errrI think my openrc is wrong but I am having trouble finding an example of a good openrc that uses saml2 federation03:07
lbragstaderrr: do you have a trace?03:08
errrI have the output of doing that command with --debug03:08
lbragstadthat works03:08
errr1 sec while I make sure my password isnt in it before I link to it03:09
errrhttps://gist.github.com/michaelrice/3c1531eba7edfad8f57c212e1dc7018103:10
*** thorst has quit IRC03:10
errrjust an fyi the federation stuff does work using horizon. at this point im just trying to get it working from the cli now03:11
*** swain has quit IRC03:13
lbragstadthe cli using federation?03:17
errrwell thats what Im trying to do anyway03:17
errrwithout federtion it works, but when I try to use federation I get that error above03:17
lbragstaderrr: here is an example using ksa to do federated auth https://docs.openstack.org/keystone/latest/advanced-topics/federation/federated_identity.html#testing-it-all-out03:19
lbragstadknikolla: or cmurphy might know more about that off the top of their head though03:19
errrhttps://gist.github.com/michaelrice/cf2c861c16a5311855a9a87a24e9b26b03:20
errrthats my openrc Im using03:20
errrIm using okta as my idp03:22
jamielennoxayoung: so the reason my patch fails is that the part of auth_token that populates the environment variables is not being used by keystone03:22
jamielennoxso we can't use from_environment as there is no environment03:22
jamielennoxi'm guessing there was a reason i didn't do that, but i have nfi what it was03:22
lbragstadjamielennox: is is possible to do federated authentication with osc?03:23
jamielennoxshould be03:23
lbragstadok - that's what i though03:23
lbragstadthought*03:23
jamielennoxshoudl just be a matter of setting up the auth plugin correclty03:23
jamielennoxerrr: that's an odd error that i feel like i've seen before03:25
jamielennoxfailing at that point is a bug - either in OSC or keystoneauht03:26
jamielennoxmy suggestion would be to put a print statement in at this line:03:27
jamielennox return self.plugin_class(**kwargs)03:27
jamielennoxand see what the kwargs are it's trying to pass03:27
errrjamielennox: while digging through the keystoneauth code I feel like the saml2 plugin requires identity-provider-url to be set but after adding debugging logs to the base.py client that param is not being passed in and when doing openstack --help its also not listed as a valid param03:27
errrheh yeah thats where I added my debugging03:28
jamielennoxso i'm concerned that the plugin is in a module called _saml203:28
errryeah thats the one03:28
jamielennoxwhich would indicate it's private03:28
jamielennoxonly reason i can think it's private is it wasn't working03:28
errrsad panda.03:29
jamielennoxso what's the kwargs contain03:29
errrhttps://gist.github.com/michaelrice/848ff069e4ce48ffca49ee7f44eca33803:32
*** sapd_ has quit IRC03:33
jamielennoxso it looks like identity_provider_url is required but not marked as required03:34
errryep03:35
errrand its being ignored when I pass it in03:35
errrIve tried passing it in manually via --os-identity-provider-url and setting it as an env variable03:35
*** sapd_ has joined #openstack-keystone03:36
*** thorst has joined #openstack-keystone03:36
errrbut its never one of the kwargs when it gets to that return self.plugin_class(**kwargs) line03:36
openstackgerritJamie Lennox proposed openstack/keystoneauth master: Mark SAML loader properties as required  https://review.openstack.org/52367503:40
*** thorst has quit IRC03:40
jamielennoxhmm, so that's weird because OSC shouldn't be messing with those options03:41
*** links has joined #openstack-keystone03:42
errraddng your patch still doesnt help, it just gives me an error about the param missing despite me setting it03:46
errrsomething is keeping that param from being used03:46
jamielennoxyea, that would just show it03:49
jamielennoxi'm just setting up an OSC environment03:49
jamielennoxhaven't got something i can test with at the moment03:49
openstackgerritJamie Lennox proposed openstack/keystoneauth master: Mark SAML loader properties as required  https://review.openstack.org/52367503:58
jamielennoxerrr: are you running master?03:59
errrno, stable/newton but Im not sure what version of the openstack client or those libs it uses. let me check those04:01
errrkeystoneauth1 (2.12.3), python-openstackclient (3.2.1)04:02
jamielennoxso i've just loaded that up on osc and ksa master04:03
jamielennoxand it's passing that point04:03
jamielennoxi don't have a saml idp that i can actually test with but it's trying to make a connection04:03
errrwhat version of those do I need to install? I use openstack-ansible so Ill need to pin those versions and rerun some playbooks to update04:04
jamielennoxerrr: no idea on the actual version04:05
jamielennoxbut install the latest pip version into a venv and tell me if you still have the same problems04:05
errrok. Ill try that04:06
errrsame error04:09
errrthe latest from pip from those 2 packages now: python-openstackclient (3.12.0)  keystoneauth1 (3.2.0)04:11
*** thorst has joined #openstack-keystone04:12
*** thorst has quit IRC04:17
*** d0ugal has quit IRC04:18
openstackgerritwangxiyuan proposed openstack/keystone master: Deprecate member_role_id and member_role_name  https://review.openstack.org/52246104:24
*** d0ugal has joined #openstack-keystone04:25
*** threestrands has quit IRC04:29
*** phalmos has joined #openstack-keystone04:30
*** markvoelker has quit IRC04:30
*** threestrands has joined #openstack-keystone04:41
*** threestrands has quit IRC04:41
*** threestrands has joined #openstack-keystone04:41
*** thorst has joined #openstack-keystone04:44
*** thorst has quit IRC04:49
*** sticker has quit IRC05:08
*** dklyle has quit IRC05:15
*** thorst has joined #openstack-keystone05:21
*** thorst has quit IRC05:26
*** thorst has joined #openstack-keystone05:29
*** markvoelker has joined #openstack-keystone05:30
*** threestrands has quit IRC05:32
*** thorst has quit IRC05:34
*** phalmos has quit IRC05:35
*** thorst has joined #openstack-keystone05:57
*** thorst has quit IRC06:03
*** alex_xu has quit IRC06:10
*** alex_xu has joined #openstack-keystone06:11
*** sapd_ has quit IRC06:16
*** sapd_ has joined #openstack-keystone06:16
openstackgerritwangxiyuan proposed openstack/keystone master: Deprecate member_role_id and member_role_name  https://review.openstack.org/52246106:26
*** thorst has joined #openstack-keystone06:29
*** thorst has quit IRC06:34
*** aojea has joined #openstack-keystone07:02
*** thorst has joined #openstack-keystone07:07
*** thorst has quit IRC07:11
*** aojea has quit IRC07:12
*** jaosorior has quit IRC07:33
*** jaosorior has joined #openstack-keystone07:35
*** thorst has joined #openstack-keystone07:42
*** rcernin has quit IRC07:43
*** thorst has quit IRC07:46
*** AlexeyAbashkin has joined #openstack-keystone07:47
*** pcaruana has joined #openstack-keystone08:04
cmurphyerrr: can you paste the full debug output?08:20
*** thorst has joined #openstack-keystone08:21
cmurphythis has worked for me (tested recently) http://paste.openstack.org/show/627672/08:21
*** thorst has quit IRC08:26
*** rcernin has joined #openstack-keystone08:39
*** thorst has joined #openstack-keystone08:54
*** jsheeren has joined #openstack-keystone08:56
jsheerenhi all08:57
jsheereni have a question about the catalog list08:57
jsheerenwhen we request a catalog list, we get the endpoints08:57
jsheerenall are configured on, lets say, https://thecatalog.list08:57
jsheerenso keystone is https://thecatalog.list:5000 and so on08:57
jsheerenhow can i create a second domain name for the catalog list08:58
openstackgerritOpenStack Proposal Bot proposed openstack/keystone master: Updated from global requirements  https://review.openstack.org/52373508:58
openstackgerritOpenStack Proposal Bot proposed openstack/keystoneauth master: Updated from global requirements  https://review.openstack.org/52373608:58
jsheerenso keystone is also available on, lets say, https://thesecondcatalog.list:500008:58
openstackgerritOpenStack Proposal Bot proposed openstack/keystonemiddleware master: Updated from global requirements  https://review.openstack.org/52373708:58
*** thorst has quit IRC08:59
*** spectr has joined #openstack-keystone09:03
jsheerenwhat i want to accomplish is, when users approach the api's using https://thesecondcatalog.list, and they request the catalog list, they will receive the endpoints with name https://thesecondcatalog.list  instead of https://thecatalog.list09:04
openstackgerritwangxiyuan proposed openstack/keystone master: Add new tables for unified limits  https://review.openstack.org/52304109:05
cmurphyjsheeren: you can create new endpoints on different interfaces (public, internal, admin) or you can create new endpoints in different regions09:12
cmurphyi'm not sure there's a way to make it look seamless like you describe09:12
openstackgerritOpenStack Proposal Bot proposed openstack/oslo.policy master: Updated from global requirements  https://review.openstack.org/52378309:15
openstackgerritOpenStack Proposal Bot proposed openstack/pycadf master: Updated from global requirements  https://review.openstack.org/52379109:16
openstackgerritOpenStack Proposal Bot proposed openstack/python-keystoneclient master: Updated from global requirements  https://review.openstack.org/52379209:18
jsheerencmurphy, ok thanks09:24
*** thorst has joined #openstack-keystone09:24
*** thorst has quit IRC09:29
*** gmann is now known as gmann_afk09:39
*** thorst has joined #openstack-keystone09:55
*** thorst has quit IRC09:59
*** annp has quit IRC10:02
*** AlexeyAbashkin has quit IRC10:28
*** thorst has joined #openstack-keystone10:31
*** spectr has quit IRC10:33
*** thorst has quit IRC10:36
*** daidv has quit IRC10:39
*** pratapagoutham has joined #openstack-keystone10:47
*** mvk has quit IRC10:56
*** mvk has joined #openstack-keystone10:58
*** thorst has joined #openstack-keystone11:08
*** thorst has quit IRC11:13
*** AlexeyAbashkin has joined #openstack-keystone11:19
*** AlexeyAbashkin has quit IRC11:23
*** AlexeyAbashkin has joined #openstack-keystone11:27
*** thorst has joined #openstack-keystone11:30
*** thorst has quit IRC11:32
*** swain has joined #openstack-keystone11:47
*** mvk has quit IRC11:47
*** thorst has joined #openstack-keystone12:03
*** Tahvok has joined #openstack-keystone12:06
*** thorst has quit IRC12:07
*** thorst has joined #openstack-keystone12:18
*** mvk has joined #openstack-keystone12:19
*** thorst has quit IRC12:24
*** Tahvok has quit IRC12:32
*** nicolasbock has joined #openstack-keystone12:36
*** pratapagoutham has quit IRC12:39
*** raildo has joined #openstack-keystone12:39
*** threestrands has joined #openstack-keystone12:42
*** threestrands has quit IRC12:42
*** threestrands has joined #openstack-keystone12:42
*** thorst has joined #openstack-keystone12:55
*** threestrands has quit IRC13:01
*** markvoelker has quit IRC13:19
*** markvoelker has joined #openstack-keystone13:19
*** links has quit IRC13:21
*** edmondsw has joined #openstack-keystone13:32
*** dave-mccowan has joined #openstack-keystone13:36
openstackgerritMerged openstack/keystone master: Add explain of mapping group attribute  https://review.openstack.org/49376513:38
*** zhurong has joined #openstack-keystone13:39
*** openstackstatus has quit IRC13:43
*** openstack has joined #openstack-keystone13:43
*** ChanServ sets mode: +o openstack13:43
*** jsheeren has quit IRC13:43
*** openstackstatus has joined #openstack-keystone13:44
*** ChanServ sets mode: +v openstackstatus13:44
*** panbalag has joined #openstack-keystone13:45
*** zhurong has quit IRC13:56
*** spilla has joined #openstack-keystone13:56
*** swain has quit IRC13:56
*** zhurong has joined #openstack-keystone13:58
lbragstado/14:09
cmurphy\o14:10
lbragstadcmurphy: we had an interested discussion last night about the region id stuff with unified limits14:16
cmurphylbragstad: hmm i guess i'll have to read the scrollback14:19
cmurphyunless you want to tldr it for me :)14:19
lbragstadwell - we pretty much validated that regions are completely optional14:25
ayoungerrr, I had SAML working with the CLI.  It also requires an IdP that supports ECP.14:25
lbragstadso the question becomes, what do we do about deployments that don't have them but want to use limits14:25
lbragstad1.) we provide a migration that introduces a default region iff there isn't one available14:26
*** rcernin has quit IRC14:27
cmurphyayoung: that's what i was thinking but it's still weird for it to manifest as a missing cli argument14:27
lbragstad2.) provide a configuration option to start requiring regions for services and endpoints (changing the API depending on deployments)14:27
ayoungcmurphy, let me see what I had for config14:28
ayoungits been a few years14:28
ayoungcmurphy, http://paste.openstack.org/show/627718/14:28
ayounglbragstad, that was my thinking, too.14:29
ayounglbragstad, I started thinking along these lines:  what if a deployment has a bunch of stuiff not in a region, and a few things  in a few different regions.14:30
ayoungshould we treat that unregioned stuff as the default region, or one layer down?14:31
ayounglike:  nothing goes into the root region except other regions14:31
cmurphyayoung: i'm not sure v3unscopedsaml still works, we have v3samlpassword http://git.openstack.org/cgit/openstack/keystoneauth/tree/setup.cfg#n5814:32
ayoungor, does it make more sense to have the unregioned endpoints etc go into the root region, and then they would be Parent-owned resources14:32
ayoungcmurphy, I'm surwe you are right.  That was from 3 years ago14:32
ayoungOct  5  201514:32
ayoung2 years, anyway14:32
openstackgerritMerged openstack/keystone master: Add New in Pike note to using db_sync check  https://review.openstack.org/52323814:33
lbragstadi don't think i like the configuration option idea because it kinda shoots interop to crap and we've been trying to move away from things that change the API like that14:34
lbragstadbut the other bit is - what do you specify as a default region?14:34
lbragstadbecause that will end up in the catalog14:35
cmurphyi'll need to go over the spec again because requiring regions when we don't currently sounds very heavy handed to me14:35
lbragstadthat was another question i asked last night14:36
lbragstadwhy are reqions required for unified limits14:36
cmurphyright14:36
lbragstadwould an alternative be to make them optional and add in a unique id14:37
lbragstad?14:37
lbragstadare they only there because they are part of the unique key for a limit?14:37
cmurphyif that's the case couldn't 'None' be the region id?14:38
lbragstadmaybe?14:39
ayoungNone is the default region?  Makes sense to me14:41
ayoung"My ID?  You don't need to see MY ID.  I am THE REGION!"14:41
cmurphy:)14:42
*** zhurong has quit IRC14:46
lbragstadI suppose that would work...14:46
lbragstadi need to white board some of that today when i review the spec14:46
*** openstack has quit IRC14:46
*** openstack has joined #openstack-keystone14:47
*** ChanServ sets mode: +o openstack14:47
cmurphylbragstad: i was hoping i could get zane or mordred to ack it14:47
lbragstadcmurphy: ++14:47
lbragstadthat'd be good14:48
cmurphyalso noticed an inconsistency in the roles property but can fix that in a followup14:48
ayoungcmurphy, I think we'd need to be able to do roles ids14:48
ayoungwith domain specific roles, you might have some masking.14:50
cmurphyayoung: ++14:50
cmurphyayoung: with trusts we do [{'id': XXX}] or [{'name': XXX}] so we should probably have the same thing here14:50
lbragstadyeah14:50
ayoungcmurphy, what happens if roles are specified for an app credential that the user does not have assigned?14:51
ayoungright now it reads14:51
ayoung`roles` is a list of role names or ids. It is informational and can be used by the14:52
ayoungConsumer to verify that the Application Credential inherited the roles from14:52
ayoungthe User that the Consumer expected. This is not a policy enforcement, it is14:52
ayoungsimply for human validation.14:52
ayoung(I made an edit)14:52
cmurphyayoung: that's the response14:52
cmurphyayoung: in the request it would error14:52
ayoung++14:52
openstackgerritayoung proposed openstack/keystone-specs master: Repropose application credentials to queens  https://review.openstack.org/51250514:53
ayoungcmurphy, if you +1 my changes, I'll +2 the proposal14:53
ayounggah14:54
ayoungok...I butchered another line...1 sec14:54
openstackgerritayoung proposed openstack/keystone-specs master: Repropose application credentials to queens  https://review.openstack.org/51250514:55
ayounghttps://review.openstack.org/#/c/512505/8..10/specs/keystone/queens/application-credentials.rst14:55
*** rderose has joined #openstack-keystone14:56
cmurphyayoung: let me make another quick edit14:56
ayoung++14:56
*** d0ugal has quit IRC14:56
openstackgerritColleen Murphy proposed openstack/keystone-specs master: Repropose application credentials to queens  https://review.openstack.org/51250514:58
lbragstadcmurphy: do roles {} have to have IDs and names?15:00
*** Neptu has joined #openstack-keystone15:00
cmurphylbragstad: i'm using the trusts API as a reference, in a request it's either or and in the response it's both15:02
lbragstadahh15:03
lbragstadok15:03
*** d0ugal has joined #openstack-keystone15:04
lbragstadi was wondering if it would be tough for someone to figure that information out without being an admin15:07
lbragstadbut it's all in the the token response, so...15:07
*** d0ugal_ has joined #openstack-keystone15:17
*** d0ugal has quit IRC15:20
*** tlbr has joined #openstack-keystone15:28
*** d0ugal has joined #openstack-keystone15:34
*** Tahvok has joined #openstack-keystone15:35
*** d0ugal_ has quit IRC15:37
*** edmondsw_ has joined #openstack-keystone16:00
*** edmondsw has quit IRC16:03
*** edmondsw_ is now known as edmondsw16:03
*** phalmos has joined #openstack-keystone16:04
*** phalmos has quit IRC16:14
*** AlexeyAbashkin has quit IRC16:23
*** phalmos has joined #openstack-keystone16:26
errrcmurphy: openstack: error: argument --os-auth-type: invalid choice: u'v3samlpassword' (choose from 'v2token', 'password', 'admin_token', 'v3oidcauthcode', 'v2password', 'gnocchi-noauth', 'v3password', 'v3oidcaccesstoken', 'token_endpoint', 'token', 'v3oidcclientcredentials', 'v3tokenlessauth', 'v3token', 'v3totp', 'v3oidcpassword', 'aodh-noauth', 'gnocchi-basic')17:13
*** knasim-wrs has joined #openstack-keystone17:14
cmurphyerrr: are you using the latest version of python-openstackclient and keystoneauth?17:14
knasim-wrshi folks, what is the maximum character limit on keystone user passwords?17:15
errrcmurphy: yes, that happened in my newton env, and the new virtualenv I made last night to test the latest version available via pip17:15
knasim-wrsin Newton, I had a test case that would provide 2075 character passwords that would go through. That is failing in Pike17:15
knasim-wrsexceeds the limit of column password(CHAR(128)). (HTTP 400) (Request-ID: req-7ae07943-6b13-44e8-bae1-4a0ba4fa6788)17:15
knasim-wrswonder if this was changed as part of the new AES user encryption BP?17:16
openstackgerritGage Hugo proposed openstack/keystone master: Migrate jobs to zuulV3  https://review.openstack.org/52323117:16
errrcmurphy: python-openstackclient (3.12.0)  keystoneauth1 (3.2.0) is whats in my new virtualenv17:17
cmurphyerrr: is that the original error message? I thought you were seeing something about missing method args17:17
errrcmurphy: this is a new error using the command you provided via the pastebin17:17
cmurphyerrr: sorry, could you paste the whole debug output of the original error? (sorry if i missed it)17:18
errrcmurphy: the whole debug, or just the stack trace?17:19
cmurphyerrr: the whole thing17:19
errrok, give me just a moment17:19
*** knasim-wrs has quit IRC17:19
*** knasim-wrs has joined #openstack-keystone17:21
*** efried is now known as efried_rollin17:22
cmurphyI see export OS_AUTH_TYPE=v3samlpassword in your openrc which is equivalent to --os-auth-type v3samlpassword so i'm not sure what changed17:24
gagehugolbragstad do we use the experimental gate?17:25
errrcmurphy: https://gist.githubusercontent.com/michaelrice/9289d7102d76985ae33a9dc8b2fca2e4/raw/ab58f7fb75b76bbe53b74fcd937be27cf9cac40b/gistfile1.txt17:26
cmurphyerrr: do you have access to the keystone logs? the debug logs there are sometimes helpful17:31
errryes I do17:32
errrlet me go look at those17:32
cmurphyerrr: i'm going to have to drop off in a bit but you could file a bug report against keystoneauth for this17:33
errrcmurphy: but is this even getting to keystone since its an error from openstack-client telling me Im sending the wrong params to the function?17:34
errrand then using the command you gave me to try its openstack-client telling me the auth plugin is not valid17:35
cmurphyerrr: i think i left out --os-identity-provider-api 3 in that command17:38
cmurphyer sorry17:38
errrah17:38
cmurphy--os-identity-api-version 317:38
lbragstadknasim-wrs: https://github.com/openstack/keystone/commit/8ad765e0230ceeb5ca7c36ec3ed6d25c57b22c9d that did go in during pike17:38
cmurphybecause OS_AUTH_TYPE and --os-auth-type are the same thing, the only reason to get a different reaction is if that api version is set wrong17:38
knasim-wrslbragstad: Thanks, I see there was an OSSN - Security Advisory as well for this17:39
knasim-wrsthat would explain it17:39
cmurphyerrr: and you're right, the debug output doesn't make it look like it's hitting keystone at all17:39
lbragstadyeah - it was an issue with the way keystone was hashing passwords17:39
errrcmurphy: adding that still gave me the same output of invalid plugin17:39
lbragstadwe had to update the implementation to support more secure hashing17:40
cmurphyerrr: hmm :/ i have to go but i'm going to try to reproduce later17:40
errrcmurphy: ok thanks for the help, and I loved your talk about this. I watched it on youtube several times.17:41
cmurphyerrr: heh thanks :)17:41
knasim-wrslbragstad: the default value for the [identity]/max_password_length is still 4096. And this length cannot be supported with the new bcrypt hashing algorithm17:42
knasim-wrsthe generated hash, if you provide a 4096 character password (default value of max_password_length configuration option), is more than the SQL backend's 128 character column length and you get a DB insert error17:43
lbragstadcc kmalloc ^17:45
kmallocit shouldn't be using the 128 character length column17:48
lbragstadknasim-wrs: we updated that colume to have a longer length17:48
kmallocit should be using the 255  password_hash = sql.Column(sql.String(255), nullable=True)17:48
lbragstadknasim-wrs: https://github.com/openstack/keystone/blob/master/keystone/common/sql/expand_repo/versions/023_expand_add_second_password_column_for_expanded_hash_sizes.py#L2317:48
kmallocthere is a different column used with bcrypt. if you're trying to backport bcrypt support -- it is not backportable17:48
lbragstadknasim-wrs: do you know if the database migration has been run yet?17:48
kmallocthat said, a 4096 length password should hash down to the same length regardless, it is based upon the hash settings.17:50
kmalloclbragstad:  i can remove the shim for bcrypt/legacy now in Q.17:51
kmalloci should add that code.17:51
lbragstadkmalloc: yeah - i just noticed that as i read the comments17:51
lbragstad++17:51
knasim-wrslooks like the DB migration didn`t run for me17:51
knasim-wrsthe password db table is still 128chars17:51
kmallocthat would cause issues17:51
kmallocno, there is a new column17:52
kmallocpassword_hash17:52
lbragstadknasim-wrs: yeah - that might be giving you problems if you have a Pike node talking to a pre-Pike database17:52
kmallocthe password column remains 128 characters17:52
lbragstadI'd try running the migrations and give it another shot17:52
knasim-wrsok thanks guys17:53
knasim-wrsthis is not an upgrade btw, its a fresh install17:53
lbragstadknasim-wrs: let us know if that works for you17:53
knasim-wrsso I do a keystone-manage bootstrap17:53
knasim-wrsand db_sync17:53
knasim-wrsas opposed to expand_repo / migrate_repo etc17:53
kmalloclbragstad: what is the order of operations for db migrations17:54
kmallocagain17:54
lbragstadexpand, migrate, contract17:54
kmallocand what is required vs optional17:54
kmalloci mean17:54
kmallocyou expand and must migrate17:54
kmallocor is migrate optional?17:54
kmallocuntil later?17:54
lbragstadnone are optional17:55
lbragstadoh - wait17:55
lbragstadwe have docs for this17:55
lbragstadhttps://docs.openstack.org/keystone/latest/contributor/database-migrations.html17:55
kmallochave i mentioned i think this whole thing is so very confusing, because i have to ask every single time17:55
lbragstadyes...17:55
lbragstadso - in the upgrade scenario,17:55
kmallocthat also doesn't (doc) help me17:56
lbragstadif you have 3 ocata nodes, you pull one out of rotation and upgrade it to pike17:56
kmalloccan i rely on a migrate step being run before Q code is run?>17:56
lbragstadbut don't turn it on17:56
lbragstadwith the other two nodes running ocata, you can expand the database17:56
lbragstadthen you can migrate the database17:56
lbragstad(expand and migrate are done using the pike node)17:56
lbragstadthen you can put pike into rotation17:57
kmallocright and migrate is *required* before putting pike back in17:57
kmalloc?17:57
lbragstads/pike/the pike nodes/17:57
lbragstadyeah - i believe so17:57
kmallocok i'm going to roll a Q patch that makes that assertion17:57
kmalloci'm dropping use of the password column17:57
kmallocbut the data will need to be migrated.17:58
kmallocbasically: set password_hash (if None) to (password value)17:58
kmallocand drop the compat code17:58
lbragstadthis document describes that process in more detail https://docs.openstack.org/keystone/latest/admin/identity-upgrading.html17:58
kmallocand contract will drop the password column.17:58
knasim-wrslbragstad: The link for DB contraction / expansion is only for Upgrade scenarios. I am doing a fresh Pike install. Shouldn't the database be set up properly via DB sync?17:59
lbragstadit should so long as you have pike code installed17:59
lbragstadit seems odd that didn't happen17:59
kmallocknasim-wrs: do you have a "password_hash" column?18:00
kmallocbecause that is supposed to be used for the bcrypt hashes18:00
*** thorst has quit IRC18:00
openstackgerritMerged openstack/keystone-specs master: Repropose application credentials to queens  https://review.openstack.org/51250518:00
kmalloci'll look at bcrypt in a few mins. it might need an errata.18:00
kmalloccmurphy: ^ yay merge!18:01
* lbragstad ticks things off in trello18:01
knasim-wrskmalloc: I do have the password_hash column but the error is for the password column18:02
knasim-wrsmy schema:18:02
kmallocthe bcrypt data should not be stored in "password" column18:02
knasim-wrshttps://thepasteb.in/p/k5hYBmXYvMBFE18:02
knasim-wrskeystone=# \d+ password18:02
knasim-wrs                                                           Table "public.password"18:02
knasim-wrs     Column     |            Type             |                       Modifiers                       | Storage  | Stats target | Description18:02
knasim-wrs----------------+-----------------------------+-------------------------------------------------------+----------+--------------+-------------18:02
knasim-wrs id             | integer                     | not null default nextval('password_id_seq'::regclass) | plain    |              |18:02
knasim-wrs local_user_id  | integer                     | not null                                              | plain    |              |18:03
knasim-wrs password       | character varying(128)      |                                                       | extended |              |18:03
knasim-wrs expires_at     | timestamp without time zone |                                                       | plain    |              |18:03
knasim-wrs self_service   | boolean                     | not null default false                                | plain    |              |18:03
knasim-wrs password_hash  | character varying(255)      |                                                       | extended |              |18:03
knasim-wrs created_at_int | bigint                      | not null default 0::bigint                            | plain    |              |18:03
kmalloconly in password hash.18:03
kmallocthe old hash data is stored in password column18:03
kmalloclet me check a couple things18:03
knasim-wrskmalloc: I am sending you the command and the response18:04
knasim-wrs'openstack --os-username 'keystoneuser005_ber' --os-password 'Li69nux*' --os-project-name admin --os-auth-url http://192.168.204.2:5000/v3 --os-region-name RegionOne --os-user-domain-name Default --os-project-domain-name Default --os-identity-api-version 3 --os-interface internal user set --password 'RgJSa?dB&4rH;Q|c,*Ij,zs+nC<bwivV8kEfXePD~pmA2{{K18:04
knasim-wrsUoN3%q6t_h$1Y9Zy]L7.0lM=5:<O@TxuFWG^Ik2|h&>2Y{{A4?2}},vy],9,,j@s?3@9p9G<nYaem@i?wAb_bvZ59>Yd[0~W#8udA[LMpgKXqzqTD<Wpp*:i,gig$#ZVA*N~5QpA@9$Z#,,IdebedJZ57Z#|Nm4{{11z1H#tl*H}};b.O;obLgp?7p],j)LZr;lmP^C(Zl$U1IrM^^oZRBi1N,tw]1VeOwM2YT9e:8,:u,8Y*x:9J&AH#my,PzUSoJC,hCJqF<tw=5xiyTW6i?x#ckyH+u,|Z[CK;4atGd()JM|y%AOT3*}}MerFA^80Mhj*:{{7=]A>N3+c^83Nzj7n1KmXk@18:04
knasim-wrsUvy~:.%7,y2xH^N)oWpZMISm)YPWqesKwy@^:@J>=0ETaW;H:<va&,=qlcUW9B,:?(+M%geElm8<,S%+,:^VH_<0z&,|@N%}}CPjb7Bu7i@x)N3epvb)t5UpEZ?C;,I:Qkwu7]Cd=Ah:W,{{{{?,P&*z5E6E?jZ.JGgmb0=DD{{xK:pf%Lm,v0vR)X=[IYCWWgNkX,8)#,+8AG*Y,P;g@oX8;b<DCYmYM|V%wp.~b)Oyz,drWg.A.Y.NE>K,n:0Q;=d^^L(bB=gR|x3)0B:3]Z9(hJ,&k:T@PpXQEp]r1,c(0mH(,r;#qR6Q,wK,g=q~?hNgyKukdrP4oWDcv0}}b]BXH,rcKA18:04
knasim-wrs;.}}ko*R.x;,,^,#m@}}i~xSQ@Y7zTQDn<Y9munA,>1F$RvJUG$kGJowv{{I?i)<]K?,W<NPZ<T9&T~8p2^r(k*0D7+?iZH_@LDIgsjs+l|uf5oi%[Z2uN)W&8+6y,JtY}}UU4LiHF;,5big+r6lpI){{BT=hIt^.<T}}:{{>DPa:.,P0MHw*)dAmX8R[>[,T=T5}}*aW(,_hO($_UJkGzLrE$o;M+$(iJxM*dtV:sz(l$A3|=^5^y[vw,R?t[y@dd0GY09b*W&2P;3]^y=}}OZF(iO|MK^69H7;lnmn|FaP<ZrJ,H#[ji,NL6Fl$%:Bau<Y5r<pnXm@cqv8dr,_;_L^nTd,q:18:04
knasim-wrsv_Fc,k%,j2<5,4wpM?05jJi?<>Y,,B$8FP}},s,Ig<<1{{o1PKQ,&[CGM$<iaEJL]3hr;ikHh2{{,;lW)Yb[FtEqo=oaypr<(:f9d2n,o.?<Y76app+mJ1r:.QTGg=#c<>BzFd,n3knJJJ^99pxbez|G~sUQI7vX[Ws>e.0R4,l1|tD:,<B,6~[;O}}~ydz<mw~uRTbkmNzVq[%w}}zTV3}}la,:tEPBD+}}askQ~p,smeidy^s9Vbgt1&D72aod*xo?6iA)TIw6WMh}}IrJEm:v@ktx#;rO[iB,lhhM;:=fNId0kG?yTEe7P;0<At4=&0&,.:7bI?jCaC|R6],,+oG{{<f<s218:04
knasim-wrshT{{&,(8.kG5n?<(Nv%B7&G,IWDJU0jD*}}hGe|C$B^~QQXHCg(<t<dH:IM+mq,?K|pa^o9>^itP[F<n8F3Z<(@P]g|0c3IiwIa_hK:@zdK?^,_t%_d4ICA;*&@hRD4EIjTs(xDeD~WqE1+kDRl8RmhcX,J&^...F~GNL@sV8~1v7f^>a_]x|>LJF9SOmDJ=l<T:27;ZzY8lZ]dwL02,cOM;58;[8hU?<(?(?=DOa.Q@&t|*iX3+l2[(4}}@%^)(>+,}}Zkp_:An<erwfu;iwV),(A*:*.vF<nY?#?rXKc}}+jDnbC&y)T{{1;56B9HMhhHa~3?LnnS9X1=2#7v,Qqr[W,:QkP18:04
knasim-wrsI)3Df=<,CqoFScSbO,@5,aMc@MYP4oES0=Ki8L0C*WQ^3KMDt)V<:]ct,,gl2F@[,|5(=Aqbv==c<[C(f<%8V:R@,V<*}}seK~:{{,3zI<c,ish,U86.h,5:<*@uQ,r2' keystoneuser005_ber''18:04
knasim-wrsResponse:18:04
knasim-wrsString length exceeded. The length of string 'RgJSa?dB&4rH;Q|c,*Ij,zs+nC<bwivV8kEfXePD~pmA2{{KUoN3%q6t_h$1Y9Zy]L7.0lM=5:<O@TxuFWG^Ik2|h&>2Y{{A4?2}},vy],9,,j@s?3@9p9G<nYaem@i?wAb_bvZ59>Yd[0~W#8udA[LMpgKXqzqTD<Wpp*:i,gig$#ZVA*N~5QpA@9$Z#,,IdebedJZ57Z#|Nm4{{11z1H#tl*H}};b.O;obLgp?7p],j)LZr;lmP^C(Zl$U1IrM^^oZRBi1N,tw]1VeOwM2YT9e:8,:u,8Y*x:9J&AH#my,PzUS18:04
knasim-wrsoJC,hCJqF<tw=5xiyTW6i?x#ckyH+u,|Z[CK;4atGd()JM|y%AOT3*}}MerFA^80Mhj*:{{7=]A>N3+c^83Nzj7n1KmXk@Uvy~:.%7,y2xH^N)oWpZMISm)YPWqesKwy@^:@J>=0ETaW;H:<va&,=qlcUW9B,:?(+M%geElm8<,S%+,:^VH_<0z&,|@N%}}CPjb7Bu7i@x)N3epvb)t5UpEZ?C;,I:Qkwu7]Cd=Ah:W,{{{{?,P&*z5E6E?jZ.JGgmb0=DD{{xK:pf%Lm,v0vR)X=[IYCWWgNkX,8)#,+8AG*Y,P;g@oX8;b<DCYmYM|V%wp.~b)Oyz,drWg.A.Y.NE>K,n:0Q18:04
knasim-wrs;=d^^L(bB=gR|x3)0B:3]Z9(hJ,&k:T@PpXQEp]r1,c(0mH(,r;#qR6Q,wK,g=q~?hNgyKukdrP4oWDcv0}}b]BXH,rcKA;.}}ko*R.x;,,^,#m@}}i~xSQ@Y7zTQDn<Y9munA,>1F$RvJUG$kGJowv{{I?i)<]K?,W<NPZ<T9&T~8p2^r(k*0D7+?iZH_@LDIgsjs+l|uf5oi%[Z2uN)W&8+6y,JtY}}UU4LiHF;,5big+r6lpI){{BT=hIt^.<T}}:{{>DPa:.,P0MHw*)dAmX8R[>[,T=T5}}*aW(,_hO($_UJkGzLrE$o;M+$(iJxM*dtV:sz(l$A3|=^5^y[vw,R?t[y@18:04
knasim-wrsdd0GY09b*W&2P;3]^y=}}OZF(iO|MK^69H7;lnmn|FaP<ZrJ,H#[ji,NL6Fl$%:Bau<Y5r<pnXm@cqv8dr,_;_L^nTd,q:v_Fc,k%,j2<5,4wpM?05jJi?<>Y,,B$8FP}},s,Ig<<1{{o1PKQ,&[CGM$<iaEJL]3hr;ikHh2{{,;lW)Yb[FtEqo=oaypr<(:f9d2n,o.?<Y76app+mJ1r:.QTGg=#c<>BzFd,n3knJJJ^99pxbez|G~sUQI7vX[Ws>e.0R4,l1|tD:,<B,6~[;O}}~ydz<mw~uRTbkmNzVq[%w}}zTV3}}la,:tEPBD+}}askQ~p,smeidy^s9Vbgt1&D72aod18:04
kmallocknasim-wrs: please use paste.openstack.org18:04
hrybacki+118:04
knasim-wrsok sorry18:04
kmallocit's hard to read in IRC18:04
knasim-wrsI thought it would make a link automatically, it usually does18:05
kmallocirccloud?18:05
knasim-wrsdidn't do it this time18:05
knasim-wrsno kiwiirc18:05
kmallocahh18:05
kmallocyeah18:05
kmallocmust be broken atm, no worries :)18:05
knasim-wrshttp://paste.openstack.org/show/627747/18:05
*** thorst has joined #openstack-keystone18:06
kmallocthat doesn't look like a valid hash.18:06
kmallocoh18:07
kmallochold on18:07
kmallocthat is a crazy password :P18:07
kmallocok18:07
knasim-wrsits not a hash lol... its the actual password18:07
kmallocooh18:07
kmalloci think i see what is happening18:07
knasim-wrsyeah one of those fringe test cases we run everytime we move to a new Openstack release18:07
kmallocit isn't hashing the string with the commandline18:08
kmallocit loooks like18:08
knasim-wrsand kmalloc, I'm using the default Pike configurations for hashing / identity:18:08
knasim-wrs[identity]18:08
knasim-wrsdriver=sql18:08
knasim-wrsthat's all that I have under that stanza18:08
knasim-wrsthis test case used to work in Newton btw18:09
lbragstadedmondsw: hrybacki https://trello.com/c/Vi1RC7di/82-write-a-openstack-spec-for-default-roles18:09
edmondswlbragstad +118:10
lbragstadmake sense?18:10
edmondswlbragstad I would note that I think we should start basic here... not try to boil the ocean with 20 roles off the bat18:10
edmondswadmin, reader, and writer sounds like a reasonable first step18:11
*** thorst has quit IRC18:11
hrybackiagree wholeheartedly with edmondsw18:11
edmondswI worry that folks will try to use that spec to throw in everything their heart desires and we'll never get it approved18:11
kmallocknasim-wrs: do you have the option: CONF.identity.rolling_upgrade_password_hash_compat set in your keystone config?18:11
knasim-wrsnope18:12
kmallocthen nothing should be setting the password column at all18:12
lbragstadhrybacki: edmondsw refresh?18:12
kmallocknasim-wrs: this is a stock pike install?18:13
knasim-wrskmalloc: As far as keystone is concerned: Yes. I haven't rebased our customizations on top of it yet18:13
knasim-wrsits a vanilla pull from stable/pike18:13
edmondswlbragstad sounds like you are allowing that the result might be super simple, rather than saying we should start super simple18:13
lbragstadedmondsw: well - i'd like to keep that enforced by reviewing the spec18:14
lbragstadtrello is only describing the work in my opinion, since it's not an official openstack document18:14
edmondswlbragstad sure. I was just voicing a concern we should be ready for18:14
edmondswnot saying we have to do anything diff in trello :)18:14
lbragstadcompletely agree that is something we need to watch out for in the review process though!18:15
mnasersorry for the partly silly question but I am pretty sure I've seen a documented "role alias" feature in Keystone or I'm going crazy?18:15
kmallocknasim-wrs: i am trying to figure out how the hell your password is being set without hashing on the column.18:16
kmallocsomething very strange is happening.,18:16
kmallocunless...18:16
lbragstadknasim-wrs: can you verify you're actually using pike code?18:16
lbragstadmnaser: role alias? like implied roles?18:16
kmalloclbragstad: even if it wasn't pike code, it should never ever ever be setting the password directly on the password column w/o hashing18:17
knasim-wrslbragstad: Yes I am. I build it myself18:17
mnaserlbragstad: i think implied roles is the correct term!18:17
knasim-wrslet me reproduce the problem18:17
lbragstadmnaser: then no, you're not going crazy :)18:17
lbragstadmnaser: that is a thing implemented in keystone18:17
mnaseri was searching for role aliases but yeah, implied roles works18:17
mnaserthis is perfect18:17
knasim-wrskmalloc: Reproduced again18:18
*** thorst has joined #openstack-keystone18:18
kmallocknasim-wrs: right. i just don't see how it can ever be set on the password column like you're setting it18:18
knasim-wrshttp://paste.openstack.org/show/627750/18:19
kmalloci don't doubt you18:21
kmalloci am baffled how you're getting the password directly set like that18:21
*** thorst has quit IRC18:22
lbragstadedmondsw: hrybacki ok - i'm going to start working on that then18:22
edmondswlbragstad ++18:25
kmallocknasim-wrs: can you show me your user table?18:26
kmallocknasim-wrs: just the show create18:26
kmallocknasim-wrs: not the content18:26
knasim-wrsthis is my own test deployment anyways so I can dump the content and schema... not a problem18:27
kmallocyeah i just want to know what the schema is18:27
kmalloccontent isn't as interesting in most cases.18:27
knasim-wrshttps://thepasteb.in/p/pghQoXO7j6vuR18:28
kmallochm.18:28
kmallocthis is very odd, i just don't see how we could be setting this value18:28
kmalloclike this18:28
mnaserthanks lbragstad, implied roles worked like a charm.. time to clean up our role assignments18:29
lbragstadmnaser: ++18:29
knasim-wrsok, so in my password DB table, the password colum is empty... could it be that its using the password column as a pergutory to store the password there first before moving to the password_hash column?18:29
kmallocknasim-wrs: it should be empty.18:30
knasim-wrsmy password DB table: https://thepasteb.in/p/mwh1lEPq6X7u518:30
kmallocno, it doesn't store it in password column unless the compat stuff is set18:31
mnaserthis should speed up keystone i assume because the assignments table will be signifincantly smaller too.. i think!18:31
kmallocknasim-wrs: it does a hash in bcrypt and then sets it in password_ref.pasword_hash, and if compat is set, it does password_ref.password with the compat hash18:31
kmalloclbragstad: hey, uhm... with openstack user set --password, what API si that calling?18:32
knasim-wrsok I'm going to add breakpoints in keystone identity and try to figure shit out18:32
kmalloclbragstad:  is that the password change API (self-service) or the update user?18:32
kmallocknasim-wrs: i think i have a line on it18:32
lbragstadkmalloc: good question, probably the self service one?18:33
lbragstad--debug?18:33
lbragstadshould give you the path18:33
kmallocknasim-wrs: can you run the password setr command with --debug?18:33
knasim-wrson it18:33
openstackgerritMerged openstack/keystone master: Updated from global requirements  https://review.openstack.org/52373518:34
kmallocyep18:34
kmallocit must be calling that18:34
kmalloclbragstad: https://github.com/openstack/keystone/blob/master/keystone/identity/backends/sql.py#L248-L255 isn't tested18:34
kmallocit directly sets password hash values18:34
kmallocnot user.password18:34
kmalloc*eyeroll*18:34
kmallocthis has been broken for a while now18:34
kmallocthis was a bug we don't test for and we simply broke it in pike18:35
kmallocsorry18:35
kmallocknasim-wrs: yep found it18:35
kmallocoh wait18:36
kmallocno.18:36
kmalloci am wrong, this is doing it correctly18:36
kmallocknasim-wrs: still need that --debug output18:36
*** mvk has quit IRC18:36
knasim-wrshttps://thepasteb.in/p/P1hvXyN88DXtl18:37
knasim-wrskmalloc: here goes... I sent you the entire output but you probably only wanna look at the traceback18:37
kmallocnope i want the whole output ;)18:37
kmallocknasim-wrs: can you check keystone's log and see if there is a traceback there?18:39
*** thorst has joined #openstack-keystone18:40
*** thorst has quit IRC18:40
*** thorst has joined #openstack-keystone18:40
knasim-wrskmalloc: Just a warning (the same as what was returned to the client)... no traceback18:42
knasim-wrshttps://thepasteb.in/p/LghN9Ew9DnPUZ18:43
*** aselius has joined #openstack-keystone18:43
*** david-lyle has joined #openstack-keystone18:45
kmallocare you updating a user or creating a user?18:46
kmalloclooks like creating, right?18:46
kmallocok i see create18:46
knasim-wrskmalloc: Same issue seen with both18:46
kmallocright but you're hitting the create path right now18:47
kmallocso i can chase that vs something else.18:47
knasim-wrsyeah18:47
kmalloclbragstad: when is the @hybrid.expression decorator called?18:48
kmallocerm version of hybrid_property?18:48
kmallocoh. blah i see the issue18:50
kmallocit's hybrid property being... dumb.18:50
kmallocknasim-wrs: so, somehow we're getting a class-version of the property and not an instance version18:52
kmallocwhich is causing the problem18:52
lbragstadahh18:52
knasim-wrswhich property? I can investigate more on my end18:52
knasim-wrsI don't have any custom backends btw18:53
lbragstadwe use hybrid_property to pull together things across multiple database tables18:53
knasim-wrsjust using vanilla sql identity backend18:53
knasim-wrsI see18:53
kmallocknasim-wrs: here i'm going to link the problem code...18:54
*** david-lyle has quit IRC18:54
kmallochttps://github.com/openstack/keystone/blob/master/keystone/identity/backends/sql_model.py#L189-L19118:54
kmallocthat is the issue18:54
kmalloclbragstad:  i don't know how to fix this.18:54
kmalloclbragstad: this is pretty deep-dark sqlalchemy stuff18:55
kmalloclikely .expression() is simply wrong18:55
knasim-wrslol18:55
lbragstadkmalloc: do you think zzzeek would help us look at it?18:55
kmallocpossibly18:55
kmalloci hope zzzeek can help18:55
knasim-wrscan we get a Bug going? So I can link it against this test case and track it18:55
lbragstadknasim-wrs: ++18:55
kmallocknasim-wrs: sure. open a bug in LP.18:55
knasim-wrsok, will do18:55
kmalloclbragstad: this doesn't make sense to me http://docs.sqlalchemy.org/en/latest/orm/extensions/hybrid.html#defining-expression-behavior-distinct-from-attribute-behavior18:56
kmallocat all18:56
kmallocnot sure why we're hitting it18:56
kmalloclbragstad: basically we are settign password.Password to a bad value, then  fixing it when we do the user_ref.password logic18:57
lbragstad?18:58
kmalloclbragstad: we set the value to the raw string18:58
lbragstad?!18:58
kmallocthen the logic re-sets it18:58
kmallocso if a password is *Ever* over 128 characters it would puke18:58
lbragstadwe do or sqlalchemy does because we use the decorator?18:58
kmallocthe way in which stuff is set.18:58
kmallocit is a mix of us + sql_alchemy18:58
lbragstad\o/18:58
lbragstadoh man, that's bad18:59
kmallocit never is persisted to the DB19:00
lbragstadoh - i thought it was19:01
kmallocno no,19:01
lbragstadbut validation error19:01
kmallocbut the issue is the column still restricts the validation19:01
kmallocyeah19:01
*** david-lyle has joined #openstack-keystone19:01
lbragstadbut the passwords isn't hashed yet...19:02
*** david-lyle has quit IRC19:02
kmallochonestly, i think we're mis-using expression19:05
kmallocwe can probably just drop it, it is supposed to be used in cases where SQL and Python would work differently19:05
kmallocin this case.. it's... uh, not really19:05
knasim-wrskmalloc: https://bugs.launchpad.net/keystone/+bug/173525019:08
openstackLaunchpad bug 1735250 in OpenStack Identity (keystone) "Limit for the Password column in the Password table exceeded when using passwords exceeding 2000 characters" [Undecided,New]19:08
*** mvk has joined #openstack-keystone19:09
*** rderose has quit IRC19:20
*** rderose has joined #openstack-keystone19:21
*** david-lyle has joined #openstack-keystone19:21
ayoungkmalloc, what allocates the request_id now?19:24
kmallocayoung: uh oslo.context?19:24
kmalloci think?19:24
ayounghmmm....maybe that is the new problem.,...19:24
ayoungok let me look19:24
*** david-lyle has quit IRC19:34
*** david-lyle has joined #openstack-keystone19:35
zzzeeki hate when i make passwords that are more than 2000 characters19:36
kmalloczzzeek: heh, it's any password > 12819:39
kmallocso... i *think* we're mis-using .expression() here19:40
kmallochttps://github.com/openstack/keystone/blob/master/keystone/identity/backends/sql_model.py#L189-L19119:40
kmallocwhich is the root of the issue19:40
kmallocanyone who uses > 128 character password... but whatever, we have historically supported it19:41
*** jose-phi_ has quit IRC19:49
*** linkmark has joined #openstack-keystone19:50
lbragstadkmalloc: ayoung could i get a kick through here? https://review.openstack.org/#/c/462733/19:51
ayounglooking19:51
ayoungI'm a co-author?19:51
lbragstadi attempted to consolidate a bunch of things, many of which you wrote19:53
lbragstadso - yes :)19:53
openstackgerritayoung proposed openstack/keystone-specs master: Add policy roadmap for security  https://review.openstack.org/46273319:53
*** david-lyle has quit IRC19:53
ayoungminor typo fix.  repushin19:53
kmallocre +A19:54
lbragstadaha - nice19:55
lbragstadthanks19:55
*** aojea has joined #openstack-keystone19:56
* lbragstad needs coffee19:59
*** david-lyle has joined #openstack-keystone20:04
*** efried_rollin is now known as efried20:07
*** AlexeyAbashkin has joined #openstack-keystone20:14
*** spectr has joined #openstack-keystone20:18
*** AlexeyAbashkin has quit IRC20:18
*** spectr has quit IRC20:20
openstackgerritMerged openstack/keystone-specs master: Add policy roadmap for security  https://review.openstack.org/46273320:27
ayoungkmalloc, so...why are the headers added lowercase in middleware, but tested uppercase in context?  What is supposed to convert them?20:33
ayoungjamielennox, I'm making progress but ^^?20:37
kmallocdoesn't matter20:38
kmallocit's a case insensitive dictr20:38
kmallocor should be20:38
kmallocheaders are case insensitive.20:38
kmallocif it's using proper dict, it will be case insensitive.20:38
ayoungoslo is not doing a case insensitive search20:39
ayounghttp://git.openstack.org/cgit/openstack/oslo.context/tree/oslo_context/context.py#n43320:40
ayoungso...maybe I am grabbing the headers wrong somehow?20:40
ayoung request_context = context.RequestContext.from_environ(request.headers,**kwargs)20:40
ayoungshould I somehow convert request.headers?20:41
*** rderose has quit IRC20:43
kmallocrequests.headers is supposed to be case insensitive20:45
kmallocif it's doing X in headers20:45
kmallocthat is a problem.20:45
kmallocmaybe?20:45
kmallocor it's doing it wonky where it's converting to normal strings to search20:45
kmallocbut in short, it is supposed to be a case insentive dict20:45
*** david-lyle has quit IRC20:45
*** threestrands has joined #openstack-keystone20:47
*** threestrands has quit IRC20:47
*** threestrands has joined #openstack-keystone20:47
ayoungkmalloc, OK, so here is where I am at, and maybe this will help:  I reqlize that the keystone/middleware/auth.py   AuthContextMiddleware extends (auth_token.BaseAuthProtocol): which is not the same as the auth token middleware20:49
ayoungit is the baseclass of both, but the AuthToken version calls20:50
kmallocright20:50
ayoung request.set_user_headers(request.token_auth.user)20:50
*** knasim-wrs has quit IRC20:50
ayoungwithout that, we don't have the env vars that oslo context needs20:50
ayoungso I added a call to it, and I have the headers, but the call puts them in Camel Case20:50
ayoung 'X%s-Domain-Id': 'domain_id',20:50
ayoungexpanded and so forth20:50
ayoungI then need to pass these to the constructor function for context20:51
ayoungwhich I am doing like this:20:51
ayoung request_context = context.RequestContext.from_environ(request.headers, **kwargs)20:51
kmallocthat last bit might be converting to a non-case-insensitive dict20:52
kmallocinstead of the case insensitive normal dict.20:53
kmallocthat is used in the request object20:53
kmallocthe case (iirc) is preserved, but __getitem__ is overidden to .lower() it (among other things)20:53
ayoung(Pdb) print request.headers['X-User-Id']20:53
ayoungprint request.headers['X-User-Id']20:53
ayoungb7beda5c7bc741059b05eaebbf1f2e2d20:53
ayoung(Pdb) print request.headers['X-USER-ID']20:53
ayoungprint request.headers['X-USER-ID']20:53
ayoungb7beda5c7bc741059b05eaebbf1f2e2d20:53
kmallocor .upper20:54
kmallocsame net effect20:54
ayoungso it should be OK...right?20:54
kmallocyeah it should be20:54
kmallochttp spec says headers are case insensitive, if .request.headers wasn't, we'd break the spec20:54
kmallocand we're leaning on python stdlib stuff for that20:54
kmallociirc20:54
kmallocor ... at least requests, which does it better than we do20:55
ayoungthere is a getter in there that returns a case insensitive dict...20:56
kmallocthere ya go.20:57
lbragstadanother easy one to kick through https://review.openstack.org/#/c/523491/20:58
*** pcaruana has quit IRC21:00
ayoungprint  environ.keys()21:01
ayoung['X-Tenant-Name', 'X-Role', 'X-User-Id', 'X-User-Domain-Name', 'X-User', 'X-User-Domain-Id', 'Host', 'X-Domain-Name', 'X-Is-Admin-Project', 'X-Tenant', 'X-Tenant-Id', 'X-Auth-Token', 'X-Project-Domain-Name', 'X-Project-Name', 'X-Identity-Status', 'X-Domain-Id', 'X-User-Name', 'X-Project-Domain-Id', 'X-Project-Id', 'X-Roles'21:01
ayoungthey have - in them, not _21:02
ayoungprint 'HTTP-X-USER-NAME' in  environ21:02
ayoungFalse21:02
ayoung(Pdb) print 'X-USER-NAME' in  environ21:02
ayoungprint 'X-USER-NAME' in  environ21:02
ayoungTrue21:02
ayounghmmmm...there must be a conversion I am missing21:03
*** david-lyle has joined #openstack-keystone21:04
openstackgerritMerged openstack/keystone-specs master: Address follow on comments for system-scope  https://review.openstack.org/52349121:05
ayoungkmalloc, what converts X-User-Id to HTTP_X_USER_ID?21:06
kmallocuhm.... i think we do21:06
kmallocin middleware21:06
*** d0ugal has quit IRC21:07
lbragstadcmurphy: so - about the unified limit region thing...21:09
lbragstadwere you in the room at the ptg on crazy friday when jamielennox start whiteboarding the whole system hierarchy thing?21:09
cmurphylbragstad: i don't think so, i left early afternoon that day21:10
*** rderose has joined #openstack-keystone21:10
lbragstadcmurphy: ok - i just stumbled across this picture21:10
lbragstadhttps://www.lbragstad.com/blog/keystone-queens-ptg-summary - in the Policy Future section21:10
kmallocayoung: or is it the opposite, that we get HTTP_X... and convert it?21:11
lbragstadcmurphy: do you see the one with the two trees?21:11
ayoungthe docs imply that,  after AuthProtocol.process_request,  the HTTP_ forsm will be there?21:11
lbragstadthe project/domain tree and system/service tree21:11
kmallocayoung: should be, in the environ21:12
cmurphylbragstad: yes21:12
lbragstadcmurphy: a thought just occurred to me, if we make limits require regions - we kinda break what is depicted in that picture21:13
lbragstadwhere the root of the tree (e.g. system) can have services associated to it21:13
lbragstadand those denote services that are in a sense, global21:13
kmalloclbragstad: what is a "global service"21:14
kmallocstart from that definition21:14
kmallocthen determine if a limit data is relevant21:14
lbragstadwell - an example being keystone itself21:14
lbragstadif your keystone is deployed globally21:14
lbragstadbut you have nova in different regions21:14
kmallocmaybe the default region is then System?21:15
ayoungkeystone is usually not assigned a region21:15
kmallocor we create a system region...21:15
lbragstadayoung: is that the reason why?21:15
kmallocand just associate keystone to it21:15
ayoungbut what quotas would we have for keystone itself?21:15
kmallocayoung: if we allow folks to manage domains: number of projects, number of users,21:15
kmallocbut that is about all i can come up with off the top of my head21:15
cmurphyNone is already synonymous with system/global in my head21:15
kmallocand even that feels... limited21:16
ayoungso those resources should not be assigned to a region21:16
lbragstadcmurphy: yeah - that's kinda what i'm thinking, too21:16
kmallocor we could dodge the whole thing21:16
kmallocand just say a limit w/o a region applies to endpoints without a region21:16
kmallocaka, keystone21:16
kmallocso None implicitly becomes a region for the limit21:17
lbragstadwould that prevent someone from deploying keystone in two different regions and federating them?21:17
kmallocand keystone is implicitly part of the None region21:17
kmallocshouldn't21:17
lbragstadok21:17
kmallocnothing is saying keystone can't have a region21:17
kmallocand nothing is saying keystone limits can't belong to the region if someone has it setup that way21:18
lbragstadright21:18
* lbragstad feels like we're coming to a conclusion21:18
*** raildo has quit IRC21:20
*** sticker has joined #openstack-keystone21:22
lbragstadsomething tells me that because regions are optional for services and endpoints, they need to be optional for limits21:23
ayoungkmalloc, I'm drawing a blank21:27
ayoungI need jamielennox here....I'm sure he knows this off the top of his head.21:29
ayoungso...I think the "Keysteon stuff goes into a region" does not really make sense.  A project would be assigned a region, but it could also have to access resources in tow different regions, and so on, and thus the strict hierarchy there might get in the way21:46
ayoungUsers come in from an external IdP.  Would the IdPs go into a region?  Seems wonky21:46
*** oomichi_afk is now known as oomichi21:48
cmurphyerrr: this works for me http://paste.openstack.org/show/627765/ same version of openstackclient and keystoneauth :/ I see there is no identity_provider_url in the debug output you linked, and i also see this "WARNING: openstackclient.common.utils is deprecated and will be removed after Jun 2017. Please use osc_lib.utils" which I don't see, so maybe there is some version mismatch in one of osc's21:49
cmurphydependencies that is causing all the arguments not to be read21:49
*** oomichi is now known as oomichi_afk21:51
*** edmondsw has quit IRC21:51
*** edmondsw has joined #openstack-keystone21:53
kmallocayoung: that was what i was saying, we should just let None apply to None region limits21:54
kmallocayoung: but it doesn't stop someone from placing keystone into a region21:55
kmallocif someone wanted to *shrug*21:55
*** edmondsw has quit IRC21:58
*** rcernin has joined #openstack-keystone22:03
*** jmlowe has quit IRC22:16
*** spilla has quit IRC22:17
*** aojea has quit IRC22:18
*** thorst has quit IRC22:19
*** jmlowe has joined #openstack-keystone22:31
*** edmondsw has joined #openstack-keystone22:32
*** edmondsw has quit IRC22:37
openstackgerritayoung proposed openstack/keystone master: Use oslo-context  https://review.openstack.org/52365022:39
*** edmondsw has joined #openstack-keystone22:48
*** thorst has joined #openstack-keystone22:50
jamielennoxayoung: sup?22:53
*** thorst has quit IRC22:55
*** thorst has joined #openstack-keystone22:56
* lbragstad apologizes22:59
openstackgerritLance Bragstad proposed openstack/keystone master: Add a new table for system role assignments  https://review.openstack.org/50799322:59
openstackgerritLance Bragstad proposed openstack/keystone master: Implement backend logic for system roles  https://review.openstack.org/50799422:59
openstackgerritLance Bragstad proposed openstack/keystone master: Implement manager logic for user+system roles  https://review.openstack.org/51246822:59
openstackgerritLance Bragstad proposed openstack/keystone master: Implement manager logic for group+system roles  https://review.openstack.org/51264122:59
openstackgerritLance Bragstad proposed openstack/keystone master: Add user system grant policies  https://review.openstack.org/51447122:59
openstackgerritLance Bragstad proposed openstack/keystone master: Add group system grant policies  https://review.openstack.org/51472522:59
openstackgerritLance Bragstad proposed openstack/keystone master: Implement controller logic for system user assignments  https://review.openstack.org/51521522:59
openstackgerritLance Bragstad proposed openstack/keystone master: Implement controller logic for system group assignments  https://review.openstack.org/52401722:59
lbragstadskadoosh22:59
*** thorst has quit IRC23:01
*** d0ugal has joined #openstack-keystone23:04
*** hoonetorg has joined #openstack-keystone23:10
*** jmlowe has quit IRC23:13
*** AlexeyAbashkin has joined #openstack-keystone23:14
*** AlexeyAbashkin has quit IRC23:19
*** jmlowe has joined #openstack-keystone23:21
*** linkmark has quit IRC23:25
*** gmann_afk is now known as gmann23:31
*** rderose has quit IRC23:32
*** thorst has joined #openstack-keystone23:35
*** thorst has quit IRC23:41
*** tesseract has joined #openstack-keystone23:48
*** tesseract has quit IRC23:49
ayoungjamielennox, hey...posted an update but still not working23:57
ayoungjamielennox, what converst the headers like 'X%s-User-Name'  to HTTP_USER_NAME and so on?23:58
jamielennoxayoung: wsgi23:58
jamielennoxor i guess webob23:58
ayoungjamielennox, so doesthat convert it further down the stack?23:59
jamielennoxbut that's a fairly standard (at least python) convention that request.headers['custom_name'] is just a wrapper around environ['HTTP_X_CUSTOM_NAME']23:59
jamielennoxor i guess 'x-custom-name'23:59

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