Earlier  
Posted Nick Remark
#openstack-nova - 2017-11-30
16:46:17 kashyap dansmith: When you get a moment, maybe you'd know top off your head -- during 'evacuate', certainly CPU model compatibility is checked before an instance is moved away, yes?
16:46:45 dansmith kashyap: if we run the scheduler then I assume so
16:46:45 mriedem kashyap: would depend on the scheduler filters
16:46:56 mriedem unless, of course, you specify a host with the force option
16:46:56 dansmith if a host is provided, I don't think so
16:47:02 mriedem then we bypass the scheduler altogether
16:47:14 mriedem it's not the same
16:47:16 mriedem evacuate is a move
16:47:16 kashyap mriedem: Yep, scheduler filters is what I was going toc heck
16:47:17 mriedem rebuild is not
16:47:42 mriedem you can evacuate with a target host and if you don't specify the force flag, we'll validate that host against the scheduler filters,
16:47:50 mriedem if you specify a host + force, we don't run through the scheduler filters
16:47:59 mriedem because you've decided you want to shoot yourself in the foot
16:48:04 mriedem and we hand you the gun to do that
16:48:47 kashyap dansmith: mriedem: Do you have a pointer to the relevant Scheduler code? libvirt / QEMU has reworked how CPU models are detected, so I'm trying to investigate what action items are there on the Nova side
16:48:55 mriedem if you rebuild (not evacuate) with a new image, well, then it depends on which roll of the cve dice you've landed on
16:48:55 kashyap mriedem: Heh, noted
16:49:15 mriedem kashyap: the compute capabilities filter
16:49:30 mriedem https://github.com/openstack/nova/blob/master/nova/scheduler/filters/compute_capabilities_filter.py
16:49:44 mriedem i think anyway
16:49:53 mriedem i'm not super well versed in the details of what all the filters do
16:49:58 mriedem bauzas would know
16:50:13 kashyap Wauw, thanks for the super quick response
16:50:35 kashyap dansmith: Yes, good point on the "if you provide a host, then no checks are performed"
16:50:56 kashyap Because, well, if you're providing a target host yourself, then you're expected to keep an eye on CPU comapt
16:51:03 kashyap s/comapt/compat/
16:55:43 kashyap mriedem: I think the scenario where one would "specify a host + force" is the admin damn sure knows about his target host, and wants to avoid extra checks?
16:56:21 mriedem wants to avoid the scheduler kicking out the specified host, yes
16:56:25 edleafe kashyap: yes, that was the idea
16:56:34 edleafe "I'm the admin, dammit!"
16:56:38 mriedem i.e. i know this instance doesn't fit on this host, but i'm going to shove it in there anyway
16:56:41 kashyap edleafe: Thanks, noted.
16:57:20 kashyap bauzas: When you're about, I don't see CPU-compat related checks in the 'compute_capabilities_filter.py' -- https://github.com/openstack/nova/blob/master/nova/scheduler/filters/compute_capabilities_filter.py
16:57:45 mriedem kashyap: that's because the filter is generic
16:58:03 mriedem stats = getattr(host_state, 'stats', {})
16:58:12 mriedem that stats stuff is put on the compute node down in the resource tracker / claim code
16:58:45 mriedem https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L561
17:00:10 mriedem the cpu stats comes off the driver here https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L7380
17:00:35 kashyap Yeah, that I have open
17:00:36 mriedem although that might be a different thing,
17:00:40 mriedem for the cpu monitor stuff
17:00:43 kashyap Thanks for the precise pointers
17:01:06 kashyap mriedem: Aside, do you know top off your head, where is the Git repo for this file? -- https://docs.openstack.org/nova/pike/configuration/config.html)
17:01:32 mriedem nova
17:01:45 mriedem https://docs.openstack.org/nova/pike/configuration/sample-config.html
17:04:02 openstackgerrit Dan Smith proposed openstack/nova master: WIP: Genericify the instance_list stuff https://review.openstack.org/524253
17:04:03 dansmith mriedem: see if you don't not hate this ^
17:04:19 kashyap mriedem: Thanks. (So, it's this - ./doc/source/configuration/sample-config.rst)
17:04:24 dansmith mriedem: seems to work and be fairly straightforward actually
17:04:36 dansmith mriedem: I need to do a lot of cleanup and fixing the docs of course
17:04:50 dansmith but if you like that I will do that post haste and then we can ask the migration dudes to base on that
17:05:51 dansmith mriedem: look at the InstanceLister class for the things you have to implement in order to be cross-cell-listable
17:08:27 mriedem dansmith: i like it
17:08:41 mriedem yeah it delegates the db / object calls to the subclass impl
17:08:42 mriedem which is nice
17:08:44 dansmith right
17:08:49 mriedem only suggestion was using an abc at the top
17:08:51 dansmith might even be easier to digest if you're looking at it cold
17:08:57 dansmith I KNEW you were going to say that
17:09:08 dansmith almost put a comment like "Yes matt, I know"
17:09:34 mriedem that would be a fun easter egg
17:10:30 mriedem kashyap: looking at the libvirt driver i don't see that it returns 'stats' from get_available_resources
17:10:43 mriedem so i'm not really sure how that would work with the compute caps filter
17:10:58 kashyap Hmm
17:12:09 mriedem might be the cpu_info or supported_instances fields
17:12:20 mriedem those get put on the compute node record, which is the HostState object (wrapper) in the scheduler filter
17:12:35 mriedem no https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L7380 is for the cpu monitor metric stuff i think
17:12:38 mriedem which is a weigher
17:12:40 mriedem i think
17:12:52 mriedem i think you're looking for the cpu_info field on the compute node
17:13:03 mriedem https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L5826
17:14:51 kashyap Thanks for clarifying; I think that looks like it.
17:15:34 kashyap mriedem: dansmith: Speaking of Easter eggs, try this one -- https://unix.stackexchange.com/questions/405783/why-does-man-print-gimme-gimme-gimme-at-0030
17:15:37 kashyap :-)
17:15:55 kashyap It actually broke a _real_ use-case
17:16:26 kashyap But the 'man' authors were graceful enough to immediately admit that it wasn't supposed to affect error-scenarios, and fixed it right away.
17:16:40 kashyap (While still retaining the easter egg.)
17:17:23 kashyap (However, no one complained about that bug for _6_ years. So, it's edge case.)
17:18:16 openstackgerrit Merged openstack/nova master: check query param for server groups function https://review.openstack.org/500347
17:29:09 openstackgerrit Ildiko Vancsa proposed openstack/nova master: libvirt: Allow multiple volume attachments https://review.openstack.org/267587
17:29:09 openstackgerrit Ildiko Vancsa proposed openstack/nova master: Implement new attach Cinder flow https://review.openstack.org/330285
17:31:40 cfriesen melwitt: (or anyone else) has bug 1469179 been fixed with placement/resource_providers?
17:31:41 openstack bug 1469179 in OpenStack Compute (nova) "instance.root_gb should be 0 for volume-backed instances" [Medium,In progress] https://launchpad.net/bugs/1469179 - Assigned to melanie witt (melwitt)
17:34:10 melwitt cfriesen: not yet. at the ptg when we discussed placement priorities, other items were more pressing, like alternate hosts and nested resource providers. so shared storage got bumped to rocky
17:39:00 mriedem melwitt: i've got a workaround for the compute node create / cell issue
17:39:03 mriedem pushing up shortly
17:39:07 mriedem it's uber hacky, but...
17:39:12 mriedem it's also pretty simple
17:40:24 melwitt okay, thanks. that'll help me determine what's wrong unless it's the periodic task thing from the fixture review
17:41:30 openstackgerrit Andreas Karis proposed openstack/nova master: Fixes 'Not enough available memory' log message https://review.openstack.org/524038
17:42:50 openstackgerrit Eric Fried proposed openstack/nova master: Proper error handling by _ensure_resource_provider https://review.openstack.org/524263
17:42:51 mriedem this isn't a periodic task issue
17:43:03 efried cdent jaypipes --^
17:43:10 openstackgerrit Matt Riedemann proposed openstack/nova master: Workaround CellDatabase fixture limitation when creating computes https://review.openstack.org/524264
17:43:10 openstackgerrit Matt Riedemann proposed openstack/nova master: Add multi-cell negative test for cold migration with target host https://review.openstack.org/524027
17:43:13 mriedem melwitt: dansmith: ^
17:43:28 cdent thanks efried
17:44:24 openstackgerrit Dan Smith proposed openstack/nova master: Genericify the instance_list stuff https://review.openstack.org/524253
17:44:25 cfriesen melwitt: okay, thanks. For the two patches that are up for review, are there problems with them or are they basically functional?
17:44:25 dansmith mriedem: melwitt: ^

Earlier   Later