| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2017-11-30 | |||
| 16:42:07 | mriedem | which has an untargeted context, | |
| 16:42:16 | mriedem | so it's going to create the service/computenode in the default context, which is cell1 | |
| 16:42:18 | mriedem | so i guess that's why | |
| 16:42:46 | mriedem | to hack around this, i'd have to create the compute node records in the cells before actually starting the services | |
| 16:43:00 | mriedem | or allow temporarily mutating the default context in the CellDatabase fixture | |
| 16:43:21 | openstackgerrit | Eric Fried proposed openstack/nova master: Nix log translations from scheduler.client.report https://review.openstack.org/524245 | |
| 16:43:27 | melwitt | well, what I did in my patch is wrap the Service class and target the context during start | |
| 16:44:02 | melwitt | if that's not working then I messed up what I tried to do | |
| 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 | mriedem | kashyap: would depend on the scheduler filters | |
| 16:46:45 | dansmith | kashyap: if we run the scheduler then I assume so | |
| 16:46:56 | dansmith | if a host is provided, I don't think so | |
| 16:46:56 | mriedem | unless, of course, you specify a host with the force option | |
| 16:47:02 | mriedem | then we bypass the scheduler altogether | |
| 16:47:14 | mriedem | it's not the same | |
| 16:47:16 | kashyap | mriedem: Yep, scheduler filters is what I was going toc heck | |
| 16:47:16 | mriedem | evacuate is a move | |
| 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 | kashyap | mriedem: Heh, noted | |
| 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: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: Implement new attach Cinder flow https://review.openstack.org/330285 | |
| 17:29:09 | openstackgerrit | Ildiko Vancsa proposed openstack/nova master: libvirt: Allow multiple volume attachments https://review.openstack.org/267587 | |
| 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 | |