| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-09-04 | |||
| 15:36:51 | dansmith | artom: yep | |
| 15:36:51 | aspiers | kashyap: yeah I guess yours could still go in utils.py | |
| 15:37:03 | sean-k-mooney | artom: are you expecting it to regenerat the xml when the RPC version is pinned? | |
| 15:37:12 | artom | We log the migrate_data all over the place, so if that's not in it, we haven't NUMA live-migrated | |
| 15:37:16 | artom | sean-k-mooney, no | |
| 15:37:22 | sean-k-mooney | ok ill check that so | |
| 15:37:30 | mriedem | stephenfin: i see the libvirt driver init_host raises Invalid, but we already have a InvalidConfiguration so that seems more appropriate | |
| 15:37:32 | artom | Any RPC pin on either source, dest or cond should cause the current half-broken behaviour | |
| 15:37:34 | mriedem | it doesn't really matter though | |
| 15:37:35 | kashyap | aspiers: It's a similar method. But in your case, I see you're clubbing it all together with the relevant mem encryption- / SEV-related checks | |
| 15:37:38 | stephenfin | ack | |
| 15:37:48 | sean-k-mooney | the config i have would require the xml to be update to be correct so i shoudl see the xml updated in only 1 direction | |
| 15:38:01 | sean-k-mooney | or not at all | |
| 15:38:25 | aspiers | kashyap: right | |
| 15:39:05 | kashyap | aspiers: I'll just Depends-On yours for the exception class | |
| 15:39:23 | aspiers | kashyap: or just make it the child commit | |
| 15:39:31 | aspiers | kashyap: isn't Depends-On more for cross-repo stuff? | |
| 15:39:55 | sean-k-mooney | artom: dansmith: pinned source => unpinned dest no xml updates on migration | |
| 15:40:26 | kashyap | aspiers: True, Depends-On is indeed normally used for cross-repo things | |
| 15:41:28 | sean-k-mooney | artom: and i get erros in the compute log because the vm xml is invalid for the new host vcpu_pin_set so that is working as we expect | |
| 15:41:53 | artom | "and i get erros in the comput" *panic* "so that is working as we expect" *relief | |
| 15:42:04 | artom | u kill me man | |
| 15:42:35 | sean-k-mooney | its compliing the vm cpu pinning is not valid for the host in the periodici task that caulates resouce usage | |
| 15:42:51 | artom | Which is a known bug I think | |
| 15:42:56 | sean-k-mooney | its compliing the vm cpu pinning is not valid for the host in the periodici task that caulates resouce usage | |
| 15:43:05 | sean-k-mooney | wrong terminal | |
| 15:43:34 | sean-k-mooney | well its not really a bug so much as use say hay you vm pinning is invalid | |
| 15:45:24 | artom | I mean there's a launchpad bug for it somewhere | |
| 15:46:25 | sean-k-mooney | ya there is a patch that sugges we skip updating the resouse if its invalid | |
| 15:46:35 | sean-k-mooney | which i think we both nack'd | |
| 15:47:06 | sean-k-mooney | artom: dansmith same behavior for new source to old dest. no xml update | |
| 15:47:17 | artom | sean-k-mooney, yep | |
| 15:47:20 | dansmith | cool | |
| 15:47:47 | artom | dansmith, well, figured out why my func tests weren't doing the expected thing | |
| 15:47:57 | artom | I was stubbing stuff on the ClientRouter, which is a global singleton | |
| 15:48:06 | artom | So *all* 3 services got capped | |
| 15:48:07 | dansmith | ah yeah | |
| 15:49:18 | artom | I shouldn't hit the same problem if I replace the actual compute_rpcapi objects, though, right? | |
| 15:49:40 | dansmith | you can get access to the managers in the services you start right? | |
| 15:49:48 | dansmith | so manager.rpcapi = $newthing | |
| 15:49:48 | artom | I couldn't figure out how to either cap the objects directly, or create new ones and replace. Looks like I have no choice to do that now. | |
| 15:49:48 | dansmith | I think | |
| 15:50:09 | artom | Yeah, it's "$newthing" that needs thinking about | |
| 15:50:49 | artom | There's no __init__, so how do I cap it? | |
| 15:50:52 | mriedem | compute = self.start_service('compute', host='host1') | |
| 15:50:58 | mriedem | compute.manager.compute_rpcapi = my_stub | |
| 15:51:25 | mriedem | or something like that | |
| 15:51:37 | mriedem | stub the compute_rcpapi on one of the services in the func test | |
| 15:51:43 | dansmith | that ^ | |
| 15:52:23 | dansmith | I think you could also not stub the full rpcapi, and just stub out can_send_version on the one it sets up for you | |
| 15:53:17 | openstackgerrit | Adam Spiers proposed openstack/nova master: Enable booting of libvirt guests with AMD SEV memory encryption https://review.opendev.org/666616 | |
| 15:53:19 | artom | can_send_version is on the client though | |
| 15:53:20 | sean-k-mooney | so ... there is one issue. if we live migrate the server to a host where the pinning is invalide. | |
| 15:53:26 | sean-k-mooney | then we cold migrate it | |
| 15:53:35 | sean-k-mooney | the cold migrtion fails in resize confim | |
| 15:53:58 | artom | sean-k-mooney, is pinning involved, or master to master? | |
| 15:54:08 | sean-k-mooney | yes | |
| 15:54:15 | artom | Yes to...? | |
| 15:54:17 | sean-k-mooney | nova.exception.CP│ | |
| 15:54:19 | sean-k-mooney | UUnpinningUnknown: CPU set to unpin [12, 15, 4, 7] must be a subset of known CPU set [] | |
| 15:54:40 | artom | Wouldn't that be a latent thing? | |
| 15:54:54 | sean-k-mooney | im going to triple check but i think cold migration of a pinned instnace is fine | |
| 15:55:19 | sean-k-mooney | jsut not one that has been live migrtation to a host with out regenrting the xml if the xml is invalid for that host | |
| 15:55:48 | artom | That's still a different bug though, and why we moved to block numa live migration by default? | |
| 15:55:51 | sean-k-mooney | i can check but i think this would happen on master too | |
| 15:57:00 | sean-k-mooney | by the way i was kind of expecting that might fail im just reporing what im finding as i try to break it | |
| 15:57:26 | artom | Totally, this sort of testing is great | |
| 15:57:51 | openstackgerrit | Adam Spiers proposed openstack/nova master: Enable booting of libvirt guests with AMD SEV memory encryption https://review.opendev.org/666616 | |
| 15:58:07 | artom | Wait, would live migrating to an invalid pinning situation go through? | |
| 15:58:07 | openstackgerrit | Merged openstack/nova master: Refactor MigrationTask._execute https://review.opendev.org/679651 | |
| 15:58:17 | openstackgerrit | Merged openstack/nova master: unit test: do not fill rp mapping for failed re-schedule https://review.opendev.org/679653 | |
| 15:58:34 | sean-k-mooney | ok cold migration of a new instance works fine | |
| 15:58:47 | artom | I guess as long as the host CPUs are online, we don't check whether they're part of vcpu_pin_set during the LM | |
| 15:58:59 | sean-k-mooney | ill check reverting to master on the compute node then master only | |
| 15:59:01 | artom | So it'd make sense for that to fail in a subsequent operation | |
| 15:59:46 | sean-k-mooney | artom: right libvirt checks they are are a thing but libvirt is not aware of the vcpu_pin_set | |
| 16:00:10 | sean-k-mooney | and i have intentionally configred theyse hsot so the vcpu_pin_sets on each host does not overlap | |
| 16:00:44 | artom | Right, to make sure the old broken behaviour is happening | |
| 16:01:13 | sean-k-mooney | yes | |
| 16:01:25 | sean-k-mooney | and to give a really hard edgecase | |
| 16:02:05 | aspiers | kashyap: I've just built an image with an experimental kernel and grub secure boot fails due to "invalid signature" | |
| 16:02:16 | aspiers | kashyap: any idea how to tell it the signature is trustworthy? | |
| 16:02:17 | sean-k-mooney | one server is set up to only allow resouce on numa node 0 the other for node 1 only and it have the cpu_shared_set configure to use the opistie numa node to the vcpu_pin_set | |
| 16:03:07 | kashyap | aspiers: Yeah, "experimental kernal" is the keyword :-) | |
| 16:03:55 | sean-k-mooney | aspiers: it has not been sgined with a key that is in the secure boot keystore would be my guess | |
| 16:04:10 | kashyap | So, there is a manual way to make it "trustworthy" | |
| 16:04:27 | kashyap | aspiers: But I don't see a document for it. Last I checked with an admin who does it, said it's quite tedious | |
| 16:05:27 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add delete_on_termination to volume-attach API https://review.opendev.org/673133 | |
| 16:05:35 | sean-k-mooney | dansmith: artom os i have a proablem with 1 node on master and the other node on artoms code | |
| 16:05:56 | sean-k-mooney | on startup the agent on master code is raising "ServiceTooOld: This service is older (v39) than the minimum (v40) version of the rest of the deployment." | |
| 16:06:05 | donnyd | Is there a way to ask nova for a specific trait on an instance without configuring a flavor first? | |
| 16:06:17 | openstackgerrit | Adam Spiers proposed openstack/nova master: Enable booting of libvirt guests with AMD SEV memory encryption https://review.opendev.org/666616 | |
| 16:06:28 | artom | sean-k-mooney, update the database I think | |
| 16:06:35 | kashyap | aspiers: If Secure Boot is not a reqiurement for your test, then I'd suggest to disable it | |
| 16:06:36 | sean-k-mooney | i guess i need to pin artoms code to the older version? | |
| 16:06:42 | aspiers | kashyap: how? | |
| 16:06:47 | mriedem | donnyd: required traits are defined on the flavor or image | |
| 16:06:50 | artom | sean-k-mooney, I hit that a few times when I git pulled a new service version, but the version in the database for the service was old | |
| 16:06:56 | sean-k-mooney | artom: well i didnt use the head of master. i used the version of master your code was bassed on | |
| 16:06:58 | kashyap | aspiers: You mean, "disable how"? | |