| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2024-02-06 | |||
| 20:24:01 | sean-k-mooney | if so ill pull it down tomorrow and try and review it again | |
| 20:26:30 | melwitt | sean-k-mooney: I did. I'm going to respin once more today because there's something wonky with the encrypted backing files patch but it should be ready to pull down tomorrow | |
| 20:27:33 | melwitt | yeah --poll is the same as --wait in osc | |
| 20:28:23 | sean-k-mooney | cool | |
| 20:41:58 | melwitt | looking at a random passing nova-ovs-hybrid-plug run from a few days ago, it was failing to create the bfv server but it wasn't fatal for some reason https://zuul.opendev.org/t/openstack/build/6156ed6d9d1644d492300b2c33716ce2/log/job-output.txt#29530-29534 | |
| 20:44:18 | sean-k-mooney | odd im not sure why that woudl not have consitent behavior | |
| 20:44:59 | sean-k-mooney | maybe osc changerd its return code | |
| 20:45:14 | sean-k-mooney | i.e. in the past it might have returned 0 even if wait had an error | |
| 20:49:59 | melwitt | oh hm yeah | |
| 21:26:39 | opendevreview | keerthivasan proposed openstack/nova master: Adding sysctl changes for post-copy migration https://review.opendev.org/c/openstack/nova/+/908201 | |
| 21:50:33 | opendevreview | keerthivasan proposed openstack/nova master: Adding sysctl changes for post-copy migration https://review.opendev.org/c/openstack/nova/+/908201 | |
| 22:07:42 | opendevreview | Merged openstack/nova master: run-evacuate-hook: Check cinder before creating BFV server https://review.opendev.org/c/openstack/nova/+/908182 | |
| #openstack-nova - 2024-02-07 | |||
| 01:33:28 | opendevreview | melanie witt proposed openstack/nova master: WIP Support encrypted backing files for qcow2 https://review.opendev.org/c/openstack/nova/+/907961 | |
| 01:33:28 | opendevreview | melanie witt proposed openstack/nova master: libvirt: Introduce support for raw with LUKS https://review.opendev.org/c/openstack/nova/+/884313 | |
| 01:33:29 | opendevreview | melanie witt proposed openstack/nova master: libvirt: Introduce support for rbd with LUKS https://review.opendev.org/c/openstack/nova/+/889912 | |
| 02:13:14 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: AMD SEV-ES support https://review.opendev.org/c/openstack/nova-specs/+/907702 | |
| 02:15:55 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: AMD SEV-ES support https://review.opendev.org/c/openstack/nova-specs/+/907702 | |
| 02:17:28 | opendevreview | Takashi Kajinami proposed openstack/os-resource-classes master: Update bug tracker url https://review.opendev.org/c/openstack/os-resource-classes/+/908219 | |
| 02:18:24 | opendevreview | Takashi Kajinami proposed openstack/os-traits master: Update bug tracker url https://review.opendev.org/c/openstack/os-traits/+/908220 | |
| 02:24:09 | opendevreview | Takashi Kajinami proposed openstack/osc-placement master: Update bug tracker url https://review.opendev.org/c/openstack/osc-placement/+/908221 | |
| 06:02:25 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: AMD SEV-ES support https://review.opendev.org/c/openstack/nova-specs/+/907702 | |
| 06:03:41 | melwitt | sean-k-mooney: I did the respin, it seems like things are working except stable rescue in some cases. I'm debugging that | |
| 06:24:27 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: AMD SEV-ES support https://review.opendev.org/c/openstack/nova-specs/+/907702 | |
| 10:27:39 | bauzas | okay, so I can officially say that nova-lvm has an issue :- | |
| 11:21:39 | whoami-rajat | bauzas, hey, do you mean nova-lvm or nova-cinder-lvm? not sure if nova directly uses lvm without cinder | |
| 11:27:25 | frickler | iiuc that's the nova-lvm job, which does NOVA_BACKEND="lvm", so not involving cinder | |
| 11:28:27 | whoami-rajat | okay, i remember nova team mentioning about some issues with the cinder-lvm backend so good to know it's not that | |
| 11:55:24 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: AMD SEV-ES support https://review.opendev.org/c/openstack/nova-specs/+/907702 | |
| 12:08:16 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: AMD statless firmware support https://review.opendev.org/c/openstack/nova-specs/+/908297 | |
| 12:08:38 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: Statless firmware support https://review.opendev.org/c/openstack/nova-specs/+/908297 | |
| 12:24:26 | greatgatsby_ | Hello. Is it possible to modify OS-EXT-SVR-ATTR:host via the nova command or OSC if it's incorrect (after compute crash)? Trying to avoid modifying via the database. | |
| 12:36:21 | bauzas | whoami-rajat: frickler: yeah was at lunch, correct this is nova-lvm jobn | |
| 13:26:39 | opendevreview | Sylvain Bauza proposed openstack/nova master: Fix verifying all the alloc requests from a multi-create https://review.opendev.org/c/openstack/nova/+/846786 | |
| 13:54:46 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: AMD SEV-ES support https://review.opendev.org/c/openstack/nova-specs/+/907702 | |
| 14:01:47 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: Statless firmware support https://review.opendev.org/c/openstack/nova-specs/+/908297 | |
| 14:02:28 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: AMD SEV-ES support https://review.opendev.org/c/openstack/nova-specs/+/907702 | |
| 14:03:45 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: Statless firmware support https://review.opendev.org/c/openstack/nova-specs/+/908297 | |
| 14:44:30 | opendevreview | Takashi Kajinami proposed openstack/nova-specs master: libvirt: Stateless firmware support https://review.opendev.org/c/openstack/nova-specs/+/908297 | |
| 16:09:23 | bauzas | dansmith: saw your comment on https://review.opendev.org/c/openstack/nova/+/904209/14/nova/virt/libvirt/driver.py#9838 | |
| 16:09:43 | bauzas | dansmith: you're right, we could have problems, that's why I wrote this in the spec : | |
| 16:10:17 | bauzas | "will persist that list of target mediated devices in some internal dictionary field of the LibvirtDriver instance, keyed by the instance UUID. " https://specs.openstack.org/openstack/nova-specs/specs/2024.1/approved/libvirt-mdev-live-migrate.html#proposed-change | |
| 16:10:51 | bauzas | but yeah, in case the operator restart the compute service, then the dict could be wrong | |
| 16:11:03 | bauzas | or the other way if we have a rabbit issue | |
| 16:11:11 | bauzas | so I don't know what to say here | |
| 16:11:40 | bauzas | that's why we discussed this in the PTG, we said we will try to remember those by a dict | |
| 16:12:49 | bauzas | https://etherpad.opendev.org/p/nova-caracal-ptg#L585 | |
| 16:13:04 | bauzas | anyway, let's dicuss this after our meeting | |
| 16:19:26 | zigo | It felt super fast in the host, not so much in the VMs... | |
| 16:23:17 | dansmith | bauzas: yeah, and L576 says "Dan Smith not very convinced" :) | |
| 16:23:40 | dansmith | so I think this is well in bounds for being concerned now that we're looking at the implementation | |
| 16:24:06 | bauzas | dansmith: let's find an alternative after our meeting :) | |
| 16:24:14 | bauzas | let's try* to find (tbc) | |
| 16:24:15 | dansmith | I'm certainly not trying to cause you trouble, I'm just expressing concern | |
| 16:24:19 | dansmith | ack | |
| 17:09:08 | bauzas | dansmith: I'm swamped in another meeting but my point is that I wonder if we should persist the internal dict | |
| 17:09:42 | bauzas | in case of a rabbit issue, people just restart their computes | |
| 17:10:09 | bauzas | that said, if we have a current live-migration, it would be eventually stopped, right? | |
| 17:10:13 | dansmith | right, but if they do, they leak resources in placement right? | |
| 17:10:13 | bauzas | or not ? | |
| 17:10:59 | bauzas | because of the target allocations ? | |
| 17:11:28 | dansmith | yeah | |
| 17:40:40 | bauzas | dansmith: sorry was in a meeting | |
| 17:41:11 | bauzas | so, what I can do is to provide some logs, for sure | |
| 17:42:41 | bauzas | then, I'll try to test with my hardware environment what would arrive if the operator tries to restart a compute while a live-migration is currently running | |
| 17:43:37 | bauzas | for the allocations, it would be like any other feature | |
| 17:54:23 | dansmith | bauzas: what if we had the compute service look for and clean up any allocations against its RP for instances that don't exist on it? basically "things that were reserved here, but are gone now"? | |
| 17:54:27 | dansmith | maybe we already do that and I'm missing it? | |
| 17:54:48 | dansmith | but if so, then a restart would *actually* clean up everything because the in-memory bit would be dumped and we'd clean up the stale reservations | |
| 17:54:52 | bauzas | dansmith: there are two things | |
| 17:55:17 | bauzas | there are VGPU allocations and there are mdev "reservations" | |
| 17:56:02 | bauzas | the internal dict is just here for making sure we don't pass a mdev to a new instance if that mdev is currently used by a live-migrating instance | |
| 17:56:14 | bauzas | so we just 'reserve' it | |
| 17:57:00 | bauzas | that said, and that's something I can verify, if the tarrget domain is created just when we start the live-migration, then we don't need to 'reserve' the mdev | |
| 17:58:16 | bauzas | maybe the context you miss is that a compute only knows which mdevs are used by instances by looking at the guest XMLs | |
| 17:59:18 | bauzas | my concern I had is that if we don't have a domain for a target guest yet while live-migrating, then the compute would not know that the related mdevs are currently used for that one | |
| 17:59:29 | bauzas | hence the internal dict | |
| 18:09:22 | dansmith | bauzas: thanks, I understand the difference between the dict reservation and the allocations | |
| 18:09:36 | dansmith | however, the allocations are not cleaned up by a restart (right?) even though the dict reservations are | |
| 18:09:52 | dansmith | I don't really like the latter requiring a restart, but the former seems very unfortunate to me | |
| 18:10:12 | bauzas | that's the same problem with any live-migration allocation, right? | |
| 18:11:55 | bauzas | dansmith: one question I have and that you could maybe know, are we providing an error for running live-migrations if we restart a target ? | |
| 18:13:00 | dansmith | bauzas: It seems to me like this is the first place where we're doing that allocation in the pre check no? | |
| 18:13:16 | dansmith | we grab pci stuff, but I don't think we persist it until later, if I'm reading correctly | |
| 18:13:56 | bauzas | I don't know *when* we create a target allocation | |
| 18:14:00 | bauzas | I need to look at the code | |
| 18:16:28 | bauzas | https://github.com/openstack/nova/blob/master/nova/conductor/tasks/live_migrate.py#L558 | |
| 18:16:39 | dansmith | okay I just found that | |
| 18:16:58 | dansmith | so the conductor nukes any allocations that we have against the proposed node if we abort, yeah? | |
| 18:17:11 | bauzas | after pre-livemigrate sure | |
| 18:17:26 | bauzas | but then I wonder if we delete the allocations when we monitor the running live-migration | |
| 18:17:33 | bauzas | looking at the compute now | |
| 18:17:57 | dansmith | yeah, that's only if we decide the destination isn't a good fit, but doesn't address the failure later | |
| 18:20:18 | bauzas | https://github.com/openstack/nova/blob/master/nova/conductor/tasks/live_migrate.py#L558 | |
| 18:20:30 | bauzas | here we error a migration if we have any exception | |
| 18:22:19 | dansmith | right, but after we start the migration, nothing will clean up the destination node's allocations right? | |
| 18:22:33 | bauzas | https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L9692 | |
| 18:22:37 | bauzas | nah, found it | |
| 18:22:53 | bauzas | we delete the allocation when calling _rollback_live_migration() | |
| 18:23:26 | bauzas | and then we call the drivers's methods for cleaning up the residues... which then unreserve the mdev from the dict :) | |
| 18:23:39 | bauzas | so we're good | |