| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2025-03-11 | |||
| 18:04:21 | sean-k-mooney | i can tell you tha tthat is very problematic | |
| 18:05:33 | sean-k-mooney | sriov live migraiton and the gpu live migration depend on that never happeinging | |
| 18:06:31 | sean-k-mooney | it looks like that was added before i started workign on nova in the very early days of pci support | |
| 18:06:59 | sean-k-mooney | but that breaks other assumtions made over the years | |
| 18:09:20 | sean-k-mooney | i guess it does not break sriov live migration because of the hotplug | |
| 18:09:42 | sean-k-mooney | the vgpu live migraiton does not expect this nor does pci in placment | |
| 18:12:30 | gibi | yeah pci in placement explicitly forbid this, just not with the proper response hence the bug and reproduce above | |
| 18:12:55 | sean-k-mooney | we need to add a check to prevent merging aliais with diffent resouce classes | |
| 18:13:11 | sean-k-mooney | like https://github.com/openstack/nova/blob/0d484ce37d86e989c8abdf57aec5e334f68206ef/nova/pci/request.py#L168-L170 | |
| 18:13:49 | gibi | we have a clear reject in the pci in placement code already https://github.com/openstack/nova/blob/0d484ce37d86e989c8abdf57aec5e334f68206ef/nova/objects/request_spec.py#L504-L528 | |
| 18:14:14 | gibi | just the exception is not translated properly hence the 500 return from nova-api | |
| 18:14:31 | sean-k-mooney | that failign for a diffent reason | |
| 18:14:38 | sean-k-mooney | the check is vlaid there | |
| 18:14:50 | sean-k-mooney | but this really should be a config error in other case | |
| 18:14:57 | sean-k-mooney | but ya lets pick this up again tomorrow | |
| 18:15:48 | sean-k-mooney | there are several thinkg our config parsing has allwoed over the years that i woudl condier invliad an dthis is right at the top of the list for me | |
| 18:16:19 | sean-k-mooney | specificly merging 2 alisie with a diffent product_id | |
| 18:17:21 | sean-k-mooney | merging none conflictign values is kind of ok | |
| 18:17:41 | sean-k-mooney | but the orign behavior is not in my opipion | |
| 18:48:07 | opendevreview | Dan Smith proposed openstack/nova master: Support "one-time-use" PCI devices https://review.opendev.org/c/openstack/nova/+/943816 | |
| 20:46:07 | opendevreview | mitya-eremeev-2 proposed openstack/nova master: Add more thorough handling of evacuated instances https://review.opendev.org/c/openstack/nova/+/944058 | |
| #openstack-nova - 2025-03-12 | |||
| 06:27:40 | opendevreview | Amit Uniyal proposed openstack/nova master: DNM: enable NFS backend job https://review.opendev.org/c/openstack/nova/+/944008 | |
| 06:51:50 | opendevreview | Rajesh Tailor proposed openstack/nova master: Add support for showing instance-action finish_time https://review.opendev.org/c/openstack/nova/+/928933 | |
| 08:05:26 | opendevreview | Michael Still proposed openstack/nova master: libvirt: Add extra spec for sound device. https://review.opendev.org/c/openstack/nova/+/926126 | |
| 08:05:27 | opendevreview | Michael Still proposed openstack/nova master: Protect older compute managers from sound model requests. https://review.opendev.org/c/openstack/nova/+/940770 | |
| 08:05:27 | opendevreview | Michael Still proposed openstack/nova master: libvirt: Add extra specs for USB redirection. https://review.opendev.org/c/openstack/nova/+/927354 | |
| 08:22:14 | gibi | sean-k-mooney: I have a feeling that the pool matching logic in stats.py also intentionally handles the multi spec case. See https://github.com/openstack/nova/blob/0d484ce37d86e989c8abdf57aec5e334f68206ef/nova/pci/utils.py#L75 it basically implements an OR between the multiple specs | |
| 08:22:49 | sean-k-mooney[m] | it did in the really early days | |
| 08:23:02 | sean-k-mooney[m] | but i tough twe removed this like 10+ years ago | |
| 08:23:21 | gibi | appreanlty we did not | |
| 08:23:51 | gibi | PCI in Placement never supported it though I just broke the error reporting leading to http 500 | |
| 08:23:55 | sean-k-mooney[m] | so the vfio-variant dirver live migration depend on 1:1 alias mappings | |
| 08:24:12 | sean-k-mooney[m] | at least when not using pci in placement | |
| 08:24:56 | gibi | sean-k-mooney: do you mean that the live migration will only work if the same exact device is on both sides and therefore having specs in OR relationship with different product id would not work? | |
| 08:25:15 | sean-k-mooney[m] | that is my understanding | |
| 08:25:20 | gibi | yeah I agree | |
| 08:25:44 | sean-k-mooney[m] | i dont se how it could work any other way when the deviece is directly exposed to the guest kernel as a vf | |
| 08:26:21 | sean-k-mooney[m] | i think we need to at least restict when oring can happen | |
| 08:26:48 | gibi | the unplug/plug live migration for neutron requested PCI probably works as that is not real live migration of the device, but the variant driver based will lead to very sad guest kernels | |
| 08:27:07 | sean-k-mooney[m] | yep | |
| 08:28:25 | sean-k-mooney[m] | so i know why they orginally did this which is they were trying to make differnt configurations of intels QAT device look the same\ | |
| 08:28:39 | sean-k-mooney[m] | and allow you to use ask for QAT | |
| 08:28:47 | sean-k-mooney[m] | without careing which one you got | |
| 08:29:29 | sean-k-mooney[m] | that only works if you never have to deal with live migration | |
| 08:29:59 | sean-k-mooney[m] | so i think we need to disable this when live_migratable is set to true or you use pci_in_placment | |
| 08:30:15 | sean-k-mooney[m] | either should result in a config error on startup | |
| 08:31:20 | sean-k-mooney[m] | we can allow it for non llive migratbale device or when not using PCI in placement for backward compatibality | |
| 08:58:23 | opendevreview | Rajesh Tailor proposed openstack/nova master: Add support for showing instance-action finish_time https://review.opendev.org/c/openstack/nova/+/928933 | |
| 09:12:16 | sean-k-mooney | it is day 2 or alt world where my fundemental core belife that "their should only be 1 7:30 in a day and it should happen after noon" is being chllanged by the concept of 7 am... | |
| 09:13:27 | sean-k-mooney | its currntly 09:13 which is still an hour before im useually awake | |
| 11:43:09 | opendevreview | ribaudr proposed openstack/nova master: FUP improve comment accuracy and variable naming for tag removal https://review.opendev.org/c/openstack/nova/+/943124 | |
| 11:43:10 | opendevreview | ribaudr proposed openstack/nova master: FUP Remove unnecessary PCI check https://review.opendev.org/c/openstack/nova/+/944105 | |
| 11:43:10 | opendevreview | ribaudr proposed openstack/nova master: FUP improve and add integration tests for PCI SR-IOV servers https://review.opendev.org/c/openstack/nova/+/944106 | |
| 11:52:58 | andrewbonney | sean-k-mooney: in case you have time today for another look, https://review.opendev.org/c/openstack/nova/+/919961 seems fine in CI | |
| 12:13:32 | sean-k-mooney | andrewbonney: ill review it propelry shortly. if you need to respin it might be nice to add a fixes release note | |
| 12:13:40 | sean-k-mooney | but thats not strictly required | |
| 12:13:56 | andrewbonney | thanks | |
| 12:13:58 | sean-k-mooney | so ya ill take a look shortly | |
| 12:23:17 | sean-k-mooney | andrewbonney: +2 form me | |
| 12:24:02 | sean-k-mooney | andrewbonney: this proably wont merge for RC1 but it can merge and be backported as normal after | |
| 12:24:27 | andrewbonney | sure, just trying to get it ticked off before I head off for extended leave | |
| 12:24:50 | sean-k-mooney | ack | |
| 12:26:07 | opendevreview | Merged openstack/nova master: Fix serial console for ironic https://review.opendev.org/c/openstack/nova/+/942575 | |
| 13:44:08 | gibi | folks, Why do we only use the move claim during live migration if the VM is NUMA aware? context https://github.com/openstack/nova/blob/f71a0a6204744b7774caf85c16f27964a4f851db/nova/compute/manager.py#L9057-L9066 | |
| 13:45:06 | gibi | based on my local testing that src_supports_numa_live_migration check there is only true if the VM is NUMA aware | |
| 13:45:43 | gibi | so it seems like we doesn't do any claim for the instance during live migration if the instance is not NUMA aware (except claiming things outside of the Claim object like PCI) | |
| 13:48:43 | Uggla | @artom, can you have a look at gibi's question above. | |
| 13:50:01 | artom | gibi, I don't remember :( | |
| 13:50:11 | artom | But I'm pretty sure it's not _just_ NUMA-aware VMs | |
| 13:50:17 | artom | Other code added later started using that too | |
| 13:50:26 | artom | VPMEM I think? | |
| 13:51:04 | artom | And src_supports_numa_live_migration was there to handle the rolling upgrade case at the time of implementation | |
| 13:51:18 | gibi | if you look at the code linked above there is a check that looks for src_supports_numa_live_migration in the migrate data, that condition is false for me locally for a non NUMA aware VM | |
| 13:51:22 | artom | We can _probably_ remove it now, with the usual caveats around RPC | |
| 13:51:30 | Uggla | @artom, look at https://review.opendev.org/c/openstack/nova/+/944105 you left a comment that may remember you things. | |
| 13:52:48 | artom | Oh yeah, there was the SRIOV live migration thing as well | |
| 13:52:53 | artom | It's handled by a separate code path | |
| 13:53:06 | Uggla | yep below in the manager | |
| 13:53:12 | gibi | yeah the PCI stuff claimed differently, but what about the rest of the resources? | |
| 13:53:31 | artom | You mean non-Placement resources? | |
| 13:55:14 | Uggla | @gibi this is claimed at scheduler step before no ? | |
| 13:55:58 | gibi | artom: yea | |
| 13:56:19 | gibi | all the normal things we do during an instance claim or during a move claim in other ops | |
| 13:56:59 | artom | I _think_ as live migration stuff got added they all stated using the MovaClaim? | |
| 13:57:00 | gibi | obviously what is not done today does not casue any highly visible issue so maybe those things does not need to be claimed during live migration, but it is very strange | |
| 13:57:50 | gibi | yeah using the MoveClaim would be logical during live migration, but my observation is that for a non NUMA aware VM the code does not use any claim | |
| 13:58:14 | gibi | (except the PCI one outside of the Claim obj) | |
| 13:59:05 | artom | I agree with you that it's strange | |
| 13:59:21 | artom | But it's been so long (Train!) that I've lost most context for the decisions that were made | |
| 13:59:49 | gibi | yeah I understand you don't have a context. I will try to charachterize the my feelings more | |
| 14:00:12 | artom | I talk about it here: https://specs.openstack.org/openstack/nova-specs/specs/train/implemented/numa-aware-live-migration.html#resource-claims | |
| 14:00:15 | gibi | best would be to find a way how this could break our resource tracking and the move from there | |
| 14:00:32 | gibi | I need to jump on a call, I will be back in 30 mins (hopefully) | |
| 14:01:14 | artom | OK | |
| 14:02:28 | gibi | that section reads for me like we wanted to do the claim regardless of NUMA awareness | |
| 14:17:30 | artom | Yeah, I dunno anymore :( | |
| 14:17:53 | artom | Maybe let's come at it from a different angle - what led you to notice this, and what are you trying to do? | |
| 14:20:46 | dansmith | ah, the old "let me answer a different question" deflection :D | |
| 14:21:52 | artom | Hah | |
| 14:22:00 | artom | I'd _like_ to answer the original question | |