Earlier  
Posted Nick Remark
#openstack-sdks - 2018-06-13
14:17:43 mnaser (the nova print flavors parts works fine)
14:17:55 openstackgerrit Graham Hayes proposed openstack/os-api-ref master: General overhaul of testing setup https://review.openstack.org/575124
14:23:26 cdent mnaser: i guess something is having trouble understanding how to define auth handling durig make_rest_client, but again, I've got no insight into that code.
14:24:00 mnaser cdent: yeah i tried digging into it but it is way beyond me :( it's not a fun user experience but then again not many people interact with the placement api directly i assume
14:24:44 cdent as far as I can tell the problems you're experience aren't because of placement itself, it is something about how the libraries are trying to contact it
14:24:51 cdent placement itself is way simple
14:25:09 cdent if curl to placement with a valid keystone token, it will just work
14:25:38 cdent but i'm not normal
14:28:49 mnaser cdent: oh yeah, i agree, but i'm saying that the tooling to get me something that interacts with it relatively cleanly doesn't exist fully yet
14:28:56 mordred cdent, mnaser: I'm confused both as to why override did not work and also why it's not working now- I still get the same error as before
14:29:10 mnaser don't want to start building out something using requests etc
14:29:27 mordred oh - I think I have an idea
14:31:01 mordred mnaser: can you try adding placement_api_version to your clouds.yaml? (we're still 2 patches away from having discovery work right without having a configured api version)
14:31:24 mordred mnaser: so placement_api_version: 1
14:31:38 mnaser "IndexError: list index out of range"
14:31:46 mordred sigh
14:32:22 mnaser mordred: http://paste.openstack.org/show/723392/ this is where i am at right now
14:32:37 mordred yah- that looks right
14:36:16 mnaser feel free to throw things my way but i've hit a wall personally, i'd have to figure out the inner working of all of this to work any further
14:37:30 mordred yah - I'll figure it out
14:39:45 openstackgerrit Graham Hayes proposed openstack/os-api-ref master: General overhaul of testing setup https://review.openstack.org/575124
14:41:39 mordred heh
14:41:41 mordred cdent: $ curl http://placement-ca-ymq-1.vexxhost.net/
14:41:43 mordred {"versions": [{"status": "CURRENT", "min_version": "1.0", "max_version": "1.17", "id": "v1.0"}]}
14:42:00 mordred there's no links dict
14:42:17 cdent yeah, never has been. is that a problem too?
14:42:38 mordred it's what tells a discovery client where the given endpoint is
14:42:48 cdent you're already there
14:43:17 mordred but a discovery consumer doesn't know that
14:43:32 cdent one sec
14:43:39 mordred for all of the other services, the discovery document is an index to where the actual endpoints are
14:43:56 mordred $ curl http://compute-ca-ymq-1.vexxhost.net/
14:43:57 mordred {"versions": [{"status": "SUPPORTED", "updated": "2011-01-21T11:33:21Z", "links": [{"href": "http://compute-ca-ymq-1.vexxhost.net/v2/", "rel": "self"}], "min_version": "", "version": "", "id": "v2.0"}, {"status": "CURRENT", "updated": "2013-07-23T11:33:21Z", "links": [{"href": "http://compute-ca-ymq-1.vexxhost.net/v2.1/", "rel": "self"}], "min_version": "2.1", "version": "2.60", "id": "v2.1"}]}
14:44:17 cdent because they are hilariously antiquated things that do weird things like put versions in urls on the same service endpoint for
14:44:26 mordred well - sure
14:44:39 cdent for modern things that don't do such blasphemy, if no link rel self then endpoint is what you already requested
14:45:05 cdent that was supposed to come out as a question, not a dammit!
14:45:41 cdent mordred: i can stick it in too, to that same patch, but it seems...weird
14:45:55 mordred that would be a potential behavior change in keystoneauth ... https://github.com/openstack/keystoneauth/blob/master/keystoneauth1/discover.py#L543-L547
14:46:31 mordred kmalloc: ^^ if we stopped skipping entries with no self link and used that to infer that the existing endpoint was the self-link - would you consider that a breaking change to keystoneauth?
14:46:49 cdent i'm happy to fix placement to make life easier
14:47:05 cdent but I think we want to make room for a future where endpoints are endpoints and that's it
14:47:18 kmalloc mordred: hm
14:47:21 kmalloc reading up
14:48:26 kmalloc mordred: it would be a breaking change, behavior changes are breaking =/
14:48:50 mordred nod. we can queue that up for keystoneauth2
14:49:07 cdent still confused on how it is currently working for nova?
14:49:20 mordred cdent: that is honestly a fascinating question
14:49:22 kmalloc yeah. i am inclined to say we should ksa2 at this point and drop some behavior
14:49:24 cdent s/still/I am still/
14:49:43 kmalloc well... if it has links but no self
14:49:46 kmalloc it doesn't skip
14:49:53 cdent no links at all
14:49:57 kmalloc hm.
14:50:08 cdent so maybe the problem is not at the ksa level?
14:50:20 kmalloc maybe.
14:50:23 cdent in which case I'd argue against changing placement /, perhaps?
14:50:41 mordred cdent: yah - it might be that sdk is triggering version discovery where nova + plain ksa is not
14:50:51 kmalloc likely
14:51:07 kmalloc sdk does stuff in some more indirect ways.
14:51:15 mordred cdent: I would prefer to not special-case placement in sdk with a "please don't try version discovery on placement" - also, it'll break discovering available microversions
14:51:45 kmalloc mordred: ftr, i would love to stop skipping no-link items
14:51:47 cdent i'm not suggesting to avoid version discovery
14:51:56 kmalloc i just see some "this might actually break someone"
14:52:00 kmalloc potential
14:52:03 cdent well if you both feel that way I'll add a link
14:52:14 mordred cdent: yah - but nova's use of ksa is really only likely able to work by using ksa in such a way that version discovery is being avoided
14:52:14 cdent I don't feel strongly about it
14:52:24 kmalloc cdent: i don't want you to add a link, i don't think we can change ksa's behavior
14:52:30 mordred yah - I think the link is silly
14:52:33 kmalloc cdent: so, adding a link might be the correct way
14:52:45 kmalloc just not the desirable one
14:53:08 cdent what I do feel strongly about is having version numbers in urls and double endpoints
14:53:13 kmalloc mordred: i dislike the volume of inherited ick we carried over from ksc.session
14:53:18 mordred kmalloc: yah
14:53:23 cdent but we are in the reality we are in so...
14:53:23 mordred cdent: totally.
14:53:28 kmalloc cdent: please please please don't do version numbers in urls if you can avoid.
14:53:38 kmalloc cdent: so.. i am with you there
14:53:58 kmalloc mordred: how bad would it be to cut a ksa2 and drop compat behaviors [for sdk]
14:54:00 cdent kmalloc: yeah, don't plan to: placement was designed from the outset to never do that
14:54:10 kmalloc and start iterating on that instead of ksa1 continues?
14:54:21 kmalloc cdent: ++ and i appreciate that so very much!
14:54:23 mordred kmalloc: I don't think it would be _bad_ - but I think it would take us a few months
14:54:49 kmalloc mordred: well we'd need to ksa2 work anyway. i'm inclined to talk to lbragstad about it
14:54:56 mordred kk
14:55:04 kmalloc ksa1 is pretty stable, and we could make ksa2 just without all the icky compat stuff.
14:55:23 cdent can you guys speculate what ksa or the sdk would do if I set the href for the self link to ''
14:55:41 mordred I'll show you the code
14:56:04 cdent I want to do that because no where in placement does placemet know its own scheme, hostname, port, base url. And it is very important that it stay that way
14:56:36 cdent sorry about my n key
14:56:40 mordred cdent: https://github.com/openstack/keystoneauth/blob/master/keystoneauth1/discover.py#L406-L426
14:57:42 mordred (although there is a bug in that that needs fixing)
14:57:50 cdent I read that as "should be okay": it will result in the discovery url, which is what we want
14:58:22 mordred cdent: yes. I believe that is true - also, we can make mnaser deploy it and we can find out for sure ;)
14:58:43 kmalloc cdent: it should work afaict.
14:59:08 kmalloc but, honestly,sometimes discovery stuff is wonkier than expected -- we have a lot of carry-over magic in lots of places.
14:59:23 cdent yeah, we shall see
15:00:39 mordred cdent, kmalloc: yup. this is the result of having to support the epic amount of incompatible pre-existing mush
15:01:01 mnaser i don't mind making changes if they're not too wild

Earlier   Later