Earlier  
Posted Nick Remark
#openstack-sdks - 2018-06-28
18:12:06 mriedem looks like some people are'nt even testing these
18:31:40 mriedem dtroyer: on any of these "add support for compute api version" patches to OSC, feel free to ping me to review those
18:31:51 mriedem i've gone through a few
18:34:02 dtroyer mriedem: cool and thanks, I will. The one I +W today was querying novaclient to get it, I know that is wrong (keystoenauth should do that) but we have a bunch to clean up already
18:34:18 dtroyer do you know of an example so far that uses keystoneauth's negotiated versions?
18:34:18 mriedem https://review.openstack.org/#/c/575390/ >
18:34:19 mriedem ?
18:34:41 openstackgerrit Monty Taylor proposed openstack/openstacksdk master: Only send force parameter to live migration if supported https://review.openstack.org/578960
18:34:42 dtroyer yes
18:35:05 mordred nicolas_o: ^^ there's a potential fix for the live migrate / force / nova microversion thing
18:35:05 dtroyer it's been too long and I don't have ksa in my head like I used to… :(
18:35:40 mriedem there might be some ksa version negotiation stuff in some of nova's internal client code for other services....but not totally sure,
18:35:49 mriedem novaclient does it's own server/client version negiotiation
18:35:52 mriedem *negotiation
18:36:11 mordred yah - it's on my list to make you some patches to get novaclient to use ksa's stuff
18:36:17 mriedem what i'm seeing in https://review.openstack.org/#/c/575390/11/openstackclient/compute/v2/flavor.py is just validating that the client requested an acceptable minimum version, which doesn't mean the server supports that
18:36:38 dtroyer right, and that is what is being used so far. ah, ok
18:36:40 mriedem osc-placement has a bit cleaner decorator CheckVersion mixin thing that does this same thing for options
18:37:00 mriedem https://github.com/openstack/osc-placement/blob/master/osc_placement/version.py#L107
18:37:01 mordred we haven't plumbed ksa microversion support into osc yet anywhere as far as I am aware
18:38:06 openstackgerrit Dean Troyer proposed openstack/python-openstackclient master: Retry floating IP tests https://review.openstack.org/578961
18:38:17 mriedem so we have stuff like this in osc-placement https://review.openstack.org/#/c/514646/33/osc_placement/resources/allocation.py@86
18:38:19 mordred mriedem: that placement code is only checking the configured version (which is what placement.api_version contains)
18:38:37 mriedem in that command, it says --project-id is required if --os-placement-api-version >= 1.8
18:38:47 mriedem mordred: yeah i know it's not doing server side version discovery
18:38:50 mriedem like novaclient does
18:39:45 mordred yah - I'm just now starting to use the server side discovery ksa is doing in sdk - that patch above is the first consumption patch
18:40:36 mordred I think we might want to add some comparison methods to either the EndpointData object or directly to the Adapter
18:41:44 openstackgerrit Monty Taylor proposed openstack/openstacksdk master: Only send force parameter to live migration if supported https://review.openstack.org/578960
18:41:47 mordred whoops. typo
18:42:36 mriedem oh god
18:43:34 mriedem 2.30 :)
18:46:50 mriedem mordred: would you like me to add the mega warnings to live migrate sdk if using host and force?
18:46:51 mriedem https://docs.openstack.org/openstacksdk/latest/user/proxies/compute.html#openstack.compute.v2._proxy.Proxy.live_migrate_server
18:46:57 mriedem people shouldn't use those, and really shouldn't use force
18:48:43 mordred mriedem: well - that's a good question
18:48:52 mordred by "should't use force" - do you mean force is going to go away?
18:49:07 mriedem no
18:49:09 mordred or it's a conceptually bad idea and humans shouldn't use it even though it's an exisitng feature
18:49:13 mriedem the latter
18:49:27 mriedem if you specify a host before 2.30, it's the same as specifying a host + force with 2.30
18:49:36 mriedem both mean "send to this host regardless of the scheduler"
18:49:46 mriedem aka "please oversubscribe me and shoot myself and users in the foot"
18:50:03 mordred what is the behavior if you set host but not force with 2.30?
18:50:05 mriedem move your instance from az1 to az8 w/o knowing it, etc
18:50:13 mriedem we run that host through the scheduler
18:50:18 mriedem so if it checks out, great
18:50:31 mriedem "Prior to microversion 2.30, specifying a host will bypass validation by the scheduler, which could result in failures to actually migrate the instance to the specified host, or over-subscription of the host. It is recommended to either not specify a host so that the scheduler will pick one, or specify a host with microversion >= 2.30 and without force=True set."
18:51:28 mordred gotcha. this is fun
18:51:33 mriedem starting in pike we still check with placement to make sure you can allocate resources on the forced host and if placement says 'nope' then we fail
18:51:43 mriedem so it's not as terrible anymore, but you can still f things up like azs
18:52:19 mriedem any of the other qualitative filters - tenant isolation, image isolation, etc
18:52:49 mordred mriedem: lemme take a stab at updating that patch and tell me if I'm getting it right
18:54:19 mordred mriedem: does force have any meaning without host?
18:56:02 mriedem nope
18:56:09 mordred k. cool
18:57:08 openstackgerrit Toure Dunnon proposed openstack-infra/shade master: python-shade expose MTU setting. https://review.openstack.org/578861
18:58:18 nicolas_o mriedem: mordred: I am afraid it's still broken with the patch. The API is not happy unless I pass block_migration: False, disk_over_commit: False.
18:58:51 nicolas_o This is how I got it to work with 2.1 api: https://github.com/nicolasochem/openstacksdk/commit/4a912a026a218e3b146fe1408c460608873ecfd4
18:59:49 mriedem nicolas_o: that's for different reasons https://developer.openstack.org/api-ref/compute/#live-migrate-server-os-migratelive-action
19:00:10 mriedem the block_migration parameter was removed from the api in 2.24
19:00:22 mriedem oh sorry, it was re-typed
19:00:30 mordred wow. this is fun
19:00:46 mriedem 2.25 allows you to send block_migration=auto
19:00:52 mriedem meaning, "you figure out if i'm using shared disk or not"
19:01:18 mriedem disk_over_commit was removed in 2.25
19:01:32 mriedem https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#maximum-in-mitaka
19:01:54 mriedem i'm kind of worried that no one is reading our microversion history or api reference docs...
19:02:18 mordred mriedem: there's a lot of it - and I'm literally just now adding the very first use of a microversion :)
19:02:26 mriedem heh yeah i know
19:02:31 mordred so - I promise I'll read it more
19:02:33 mriedem i started https://etherpad.openstack.org/p/compute-api-microversion-gap-in-osc
19:03:17 nicolas_o Thanks for that. I just want to use the sdk to do something like: self.cloud.compute.live_migrate_server(id, host=host_id)
19:03:43 mordred yup. hopefully we'll get you there :)
19:03:58 openstackgerrit Alessandro Nesta proposed openstack/osc-lib master: Add release note link in README https://review.openstack.org/578459
19:04:10 mriedem i'm not sure what the best default logic there is then, i'd say if you're specifying >= 2.25 and block_migration isn't specified, use 'auto';
19:04:20 mriedem if < 2.25 and host isn't specified, default to True?
19:04:42 mriedem if you're specifying a host, then we might want to require block_migration since you should know if that host is on shared storage and < 2.25
19:04:50 mriedem it's a complicated matrix
19:05:01 openstackgerrit Alessandro Nesta proposed openstack/osc-lib master: Add release note link in README https://review.openstack.org/578459
19:23:16 openstackgerrit Monty Taylor proposed openstack/openstacksdk master: Only send force parameter to live migration if supported https://review.openstack.org/578960
19:23:40 mordred mriedem: how does that look logically ... (ignore the fact that the code is overly repetitive - we can write cleverer code later)
19:26:14 mriedem oh wait we passed a law on nit picking didn't we?
19:38:29 mriedem mordred: supports_microversion is <= right?
19:44:35 mriedem mordred: comments inline
19:45:30 mordred mriedem: yes - <= ... and thanks!
19:48:48 mriedem and a late comment
19:48:55 mriedem 'host' is required in the body always, even if host=None
19:48:56 mriedem it's dumb
19:49:06 mriedem "The host to which to migrate the server. If this parameter is None, the scheduler chooses a host."
19:56:16 rm_work dtroyer: thanks for pushing that tag change through :)
19:59:21 rm_work mordred: was it you i was talking to about fixing some of the neutron version discovery issues that were introduced in 0.10?
19:59:36 rm_work I don't remember where we left that
20:01:16 rm_work looks like it's still not working in 0.14.x for me, though the message is a bit clearer :P
20:23:15 rm_work Failed to contact the endpoint at https://openstack:9696 for discovery. Fallback to using that endpoint as the base url.
20:23:21 rm_work NotFoundException: 404: Client Error for url: https://openstack:9696/networks, Not Found
20:23:29 rm_work ^^ on Liberty
20:56:01 mordred rm_work: I *think* we have a fix for that in master and I'm a bad person who has not cut a release for you yet
20:56:12 rm_work lol np, i can test it
20:56:22 rm_work you have a CR?

Earlier   Later