Earlier  
Posted Nick Remark
#openstack-nova - 2017-09-25
20:42:47 openstackgerrit Brianna Poulos proposed openstack/nova master: Add trusted_certificates to REST API https://review.openstack.org/486204
20:42:52 dansmith tbh, I'm surprised it's not worse than that given what I know of the internals
20:44:01 mriedem that reminds me of a thread i meant to pull at one point, but i thought based on microversion we could be lazy-loading other things in the server view
20:44:05 mriedem like tags
20:44:09 mriedem oh, AND,
20:44:16 mriedem if you have instances in error state, we'll lazy-load fault
20:44:36 mriedem from the api
20:44:58 dansmith not anymore
20:45:19 dansmith this set rips out the fault lazy-loading remember
20:45:24 mriedem https://github.com/openstack/nova/blob/29ef2474d9d6a59ae6859b5b01caad350252c23e/nova/api/openstack/compute/views/servers.py#L148
20:45:27 mriedem https://github.com/openstack/nova/blob/29ef2474d9d6a59ae6859b5b01caad350252c23e/nova/api/openstack/compute/views/servers.py#L164
20:45:31 mriedem yeah,
20:45:34 mriedem just thinking about before that
20:45:35 dansmith mriedem: yeah I rip that out
20:45:36 dansmith hard.
20:45:41 mriedem how about tags?
20:45:52 dansmith tags are joined, AFAIK
20:45:56 mriedem i should probably be running this with the latest microversion...
20:47:02 dansmith mriedem: https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L2229-L2229
20:47:22 mriedem i'm not using filters
20:47:49 mriedem so if you're listing servers with details with microversion>=2.26, we lazy-load tags on all of them...
20:47:53 mriedem https://github.com/openstack/nova/blob/29ef2474d9d6a59ae6859b5b01caad350252c23e/nova/api/openstack/compute/views/servers.py#L164
20:48:16 mriedem let me do that quick and see if i'm right
20:48:22 jaypipes efried: tried to answer your query in the traits spec as best I can. this stuff is icky. :)
20:48:38 efried jaypipes Looking...
20:48:57 jaypipes efried: all good questions/comments from you, btw.
20:49:01 efried jaypipes Generally speaking, I'm fine with whatever answer; just would like it to be stated in the spec (docs, whatever)
20:49:08 jaypipes totes
20:49:13 efried jaypipes Thanks for that. I feel like I'm being a PITA.
20:49:19 jaypipes no, not at all.
20:49:43 jaypipes I agree that more explicit is better. it's good you're raising these points.
20:50:06 jaypipes sshh, everybody quiet! penick has joined..
20:53:16 fungi hugops as a service!
20:54:57 jaypipes fungi: :)
20:59:42 mriedem hmm, very weird, OpenStack-API-Version doesn't seem to work
20:59:44 mriedem sdague: ^
20:59:58 mriedem i'm doing a curl request with that on a devstack i created today, it doesn't pick up the microversion
21:00:05 mriedem i have to use X-OpenStack-Nova-API-Version
21:00:29 openstackgerrit Steve Noyes proposed openstack/nova master: update live migration to use v3 cinder api https://review.openstack.org/463987
21:03:20 mriedem oh nvm, i see, need to specify compute
21:03:26 mriedem OpenStack-API-Version: compute 2.53
21:03:42 dansmith mriedem: actually, I wonder if you can create your broken instances by specifying a target host that doesn't exist?
21:03:56 mriedem yeah probably
21:04:09 mriedem i'm not running under the admin tenant...
21:04:32 mriedem which might have other wrinkles...like checking the host status
21:04:54 openstackgerrit Dan Smith proposed openstack/nova master: Pre-create migration object https://review.openstack.org/498950
21:04:55 openstackgerrit Dan Smith proposed openstack/nova master: Revert allocations by migration uuid https://review.openstack.org/498949
21:04:55 mriedem https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id14
21:04:55 openstackgerrit Dan Smith proposed openstack/nova master: Refactor resource tracker to account for migration allocations https://review.openstack.org/506419
21:04:56 openstackgerrit Dan Smith proposed openstack/nova master: Make migration uuid hold allocations for migrating instances https://review.openstack.org/506420
21:05:05 dansmith jaypipes: ready for another flogging I think ^
21:05:26 mriedem microversion >= 2.16 GET /servers/detail will lookup host status if you're admin
21:05:34 mriedem per instance
21:05:47 jaypipes dansmith: I'll ready my cat-o-nine-tails then
21:06:22 dansmith jaypipes: oooh, you know what I liiiiike
21:06:35 jaypipes lol
21:11:31 mriedem dansmith: 15.73s average to list servers with details at microversion 2.53
21:11:46 mriedem double that of listing servers with microversion 2.1
21:11:57 dansmith that sucks
21:12:03 dansmith this is all baseline still right?
21:12:13 mriedem ypu
21:12:15 mriedem *up
21:12:16 mriedem gdi
21:12:17 mriedem YES
21:12:27 mriedem and that's demo tenant
21:13:19 mriedem fuck man, looking at the code for microversion 2.16 if you're an admin, we aren't caching host status
21:15:38 mriedem so i think if you're an admin, listing instances from all tenants, with microversion >= 2.16, we're doing a lazy-load of instance.services on every instance
21:16:22 mriedem and that does a server group is_up call per service if it's not forced_down or disabled
21:16:23 mriedem jesus
21:17:29 mriedem oh nvm, for instance list it's a bit smarter
21:17:33 mriedem whew
21:26:30 openstackgerrit Chris Dent proposed openstack/nova master: DNM: Don't monkey patch eventlet in functional or unit tests https://review.openstack.org/506668
21:26:51 mriedem ah we don't lazy-load tags https://github.com/openstack/nova/blob/29ef2474d9d6a59ae6859b5b01caad350252c23e/nova/api/openstack/compute/servers.py#L297
21:26:55 mriedem we join those in the db query
21:27:01 mriedem same for services
21:27:13 dansmith mriedem: I shot you that link right?
21:27:18 mriedem https://github.com/openstack/nova/blob/29ef2474d9d6a59ae6859b5b01caad350252c23e/nova/api/openstack/compute/servers.py#L295 should probably be version constrained
21:27:24 mriedem dansmith: you send me something else
21:27:36 mriedem you sent me https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L2229-L2229
21:27:48 mriedem but that's in a conditional block
21:28:19 dansmith oh I see, but actually I guess it's because they end up in columns_to_join_new
21:28:43 mriedem https://review.openstack.org/#/c/355558/
21:28:47 mriedem ^ doesn't go far enough
21:29:44 dansmith that's services
21:29:49 mriedem i know,
21:29:53 dansmith but yeah, that won't do anything I think,
21:30:01 dansmith because it's not in the _expected_cols() thing in instance
21:32:10 mriedem it worked because it was in _INSTANCE_OPTIONAL_JOINED_FIELDS
21:32:12 mriedem for services
21:32:19 mriedem fault wasn't before queens
21:32:30 dansmith services is in optional?
21:32:33 mriedem yup
21:33:30 dansmith oh we actually have a .services on instance
21:33:37 dansmith I didn't remember
21:35:55 mriedem yeah
21:35:55 mriedem https://bugs.launchpad.net/nova/+bug/1719460
21:35:56 openstack Launchpad bug 1719460 in OpenStack Compute (nova) "instance.services loading when listing instances regardless of microversion" [Medium,Triaged]
21:35:58 mriedem i think ^ sums it up
21:36:09 openstackgerrit Ed Leafe proposed openstack/nova-specs master: Re-propose nested resource providers spec https://review.openstack.org/505209
21:37:14 mriedem btw, deleting 1000 instances via the API takes awhile

Earlier   Later