Earlier  
Posted Nick Remark
#openstack-sdks - 2018-06-13
13:02:19 cdent hmmm. we've always had a id, {min,max}_version, but never a status
13:02:55 cdent what's different from what mnaser is doing and what what the scheduler report client (which uses ksa) is doing?
13:03:09 mordred cdent: when keystoneauth does version discovery it filters out statuses that are not CURRENT or SUPPORTED unless you provide a flag
13:03:28 mordred cdent: I'm not 100% sure yet why it's working in nova
13:04:26 mordred cdent: where can I look at the scheduler report client?
13:04:40 cdent nova/scheduler/client/report.py
13:06:34 mordred cdent: weird. I'll have to dig a bit more to figure it out
13:06:38 umbSublime awesome thanks mordred
13:07:49 cdent mordred: it may be in the way nova.utils.get_ksa_adapter is happening
13:08:01 cdent but in any case, I'll add a status
13:08:41 mordred cdent: something something API-SIG recommendations something something
13:08:44 mordred :)
13:09:20 cdent indeed, but also, something something someone ate my clones something something
13:10:01 mordred darned clone eaters
13:10:07 mordred I made you such nice ones just the other day
13:12:31 cdent such brief candles
13:14:56 mordred out. out
13:21:18 openstackgerrit Pavlo Shchelokovskyy proposed openstack/python-openstackclient master: Skip calls to glance and nova when got no servers https://review.openstack.org/568344
13:21:19 openstackgerrit Pavlo Shchelokovskyy proposed openstack/python-openstackclient master: Add --name-lookup option to server list https://review.openstack.org/568345
13:24:21 openstackgerrit Graham Hayes proposed openstack/os-api-ref master: Use 'sphinx.util.logging' https://review.openstack.org/563179
13:37:09 cdent mordred: help me believe that the version discovery doc is not itself microversioned. If it is I'm going to gouge my eyes out
13:37:25 cdent and collapse into a logical black hole
13:40:12 mordred cdent: it is, in fact, not microversioned
13:40:20 cdent bless you
13:40:54 mordred cdent: and I contend that any changes to it that align it more with the API-SIG guidelines are not breaking API changes
13:41:43 cdent as would I
13:56:46 mnaser mordred: thanks. `placement = os_client_config.make_rest_client('placement', placement_endpoint_override='https://placement-ca-ymq-1.vexxhost.net')` doesn't seem to do the trick however?
13:58:41 mordred mnaser: well that's annoying
13:59:12 mnaser mordred: my wip is http://paste.openstack.org/show/723387/
13:59:33 mordred mnaser: I'm unfortunately in a morning of meetings - but I'm very interested in helping to solve this for real -so if I go dark for chunks of time I haven't forgotten about you
13:59:44 mnaser i tried openstacksdk and i was running into the same issues too, alongside is_public not being something changable (that has since been fixed but not released)
13:59:58 mnaser mordred: oh don't worry about it, as async as you want, im not in a total rush about this
14:02:33 mordred mnaser: fwiw, I can reproduce it locally:
14:02:35 mordred >>> import openstack
14:02:37 mordred >>> c=openstack.connect(cloud='vexxhost')
14:02:39 mordred >>> c.placement.get('/allocation_candidates')
14:02:55 mordred (give me same traceback)
14:03:41 mnaser mordred: at least it's not me doing something wrong, yay. if there's anything on our side to do, i can look into it but this is a queens deployment
14:04:10 mordred mnaser: how hard would it be for you to cherry-pick https://review.openstack.org/575117 onto your nova?
14:05:07 mnaser mordred: not very, but i'd be much happier doing it if that type of thing gets backported
14:05:33 mnaser like: if you want a cherry pick to see how it looks like with no guarantee that it will stay there (because we will redeploy from upstream stable and the cherry pick will disappear)
14:06:05 cdent mnaser: that _will_ get back ported
14:06:05 mordred cdent: what do you think the chances are we convince anyone to cherry-pick your patch back to stable/queens?
14:06:09 cdent jinx
14:06:12 mordred _awesome_
14:06:14 mnaser cool
14:06:23 mnaser this seems to be relatively low touch
14:06:25 mnaser lets break stuff now
14:07:54 mnaser i guess there will be a merge conflict because it looks like placement exists in `nova/api/openstack/placement/` in queens but we can take care of that easily in the backport
14:11:18 mnaser mordred, cdent: https://review.openstack.org/#/c/575117/1 cherry-picked and i can see it in effect http://placement-ca-ymq-1.vexxhost.net/
14:11:32 mnaser i'm still getting a traceback in my code but who knows
14:11:40 cdent same or different?
14:11:46 cdent (traceback and code)
14:12:27 mnaser same code http://paste.openstack.org/show/723387/ giving same traceback
14:12:38 cdent drop the override?
14:12:51 mnaser oh right
14:14:31 cdent I'm concered confused by why the override didn't work, but I'm struggling to speculate because of lack of familiarity with the tools
14:15:48 mnaser i cant even get my `clouds.yaml` running properly
14:17:00 mnaser ok no my clouds.yaml is fine
14:17:30 mnaser http://paste.openstack.org/show/723390/ gives me http://paste.openstack.org/show/723391/
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?

Earlier   Later