Earlier  
Posted Nick Remark
#openstack-nova - 2023-12-20
09:04:52 opendevreview Merged openstack/nova master: Call Neutron immediately upon _post_live_migration() start https://review.opendev.org/c/openstack/nova/+/883682
10:24:09 opendevreview Balazs Gibizer proposed openstack/nova stable/zed: Allow live migrate paused instance when post copy is enabled https://review.opendev.org/c/openstack/nova/+/904085
10:37:18 opendevreview Merged openstack/nova-specs master: Proposes mdev live-migration support in libvirt https://review.opendev.org/c/openstack/nova-specs/+/900636
10:49:57 bauzas gibi: thanks for the spec review but actually about how to check the destination compute, I was wrong
10:50:27 bauzas gibi: I just checked and we recreate the migrate-data object in the source by using the latest version
10:50:41 bauzas so target_mdevs field should be here
10:51:07 bauzas so I'll create another field for just telling whether we support
10:51:25 bauzas like https://github.com/openstack/nova/blob/master/nova/objects/migrate_data.py#L270
10:54:33 gibi addign a field there is OK to me. I guess we don't persist those
11:08:24 bauzas nope indeed
11:09:10 bauzas I'll start to upload the mdev-liv-mig series hopefully today EOB
11:39:20 damiandabrowski Hey! I looked into my issue with VMs that are moved to the other AZs during resize/migrate.
11:39:28 damiandabrowski sean-k-mooney: bauzas Thanks for showing me code responsible for preventing this behavior: https://github.com/openstack/nova/blob/d28a55959e50b472e181809b919e11a896f989e3/nova/compute/api.py#L1205
11:39:37 damiandabrowski The problem is: this method is executed only when instance is created and due to the _get_volumes_for_bdms behavior, it sets proper request specs only when instance is booted from pre-existing volume.
11:39:43 damiandabrowski But if user creates a VM using CLI and --boot-from-volume argument, the VM does not have AZ assigned in requests specs even though its root volume is associated with a specific AZ.
11:39:49 damiandabrowski Should it be considered as a bug?
12:34:56 sean-k-mooney[m] im not sure it could be fixed as a bug
12:35:50 sean-k-mooney[m] i would have expeced boot from volume form image and boot form prexising volume to have the same behavior
12:36:24 sean-k-mooney[m] i.e. both a boot form voluem but in one instance nova is creating the volume and in the other we are using a user provided volume
12:37:06 sean-k-mooney[m] it is expected that we execute this only once at instance creation
12:42:04 sean-k-mooney[m] i assume the ax is not the default az “nova”
12:42:05 sean-k-mooney[m] https://github.com/openstack/nova/blob/d28a55959e50b472e181809b919e11a896f989e3/nova/compute/api.py#L1333
12:44:29 sean-k-mooney[m] this code https://github.com/openstack/nova/blob/d28a55959e50b472e181809b919e11a896f989e3/nova/compute/api.py#L1399-L1406 will only work with precreated volumes
12:45:04 sean-k-mooney[m] but i tought there was code later to update the request spec if its bfv form image
12:47:16 sean-k-mooney[m] we would have to do that in the conductor after we have created the volume unless that happens on the computer. fi it does then its too late to update the request spec
12:49:36 damiandabrowski yeah exactly, _get_volumes_for_bdms considers only precreated volumes
12:50:06 damiandabrowski and since bfv from image is problematic on my dev environment and bfv from existing volume works fine, we most likely don't have anything that would update request specs later on :/
12:50:19 damiandabrowski i can file a bug report today if you don't have anything against it
12:53:55 sean-k-mooney[m] so i think this might be a non bakcportable feature not a bug
12:54:00 sean-k-mooney[m] https://github.com/openstack/nova/blob/master/nova/conductor/manager.py#L1646
12:54:23 sean-k-mooney[m] looking at that method we do not create the cinder volumes before down calling to the compute agent
12:54:40 sean-k-mooney[m] the request specifically is stored in the api db
12:55:01 sean-k-mooney[m] we do not allow upcalls form the compute-agent to the api db in general
12:56:06 sean-k-mooney[m] so to resolve this we would need to move the volume creation to the conductor prior to schduleing
12:59:43 sean-k-mooney[m] alternitively prior to the downcall we could get the selected hosts AZ and update the requet spec here https://github.com/openstack/nova/blob/master/nova/conductor/manager.py#L1779
13:01:36 sean-k-mooney[m] we have already looked up the instance.az here https://github.com/openstack/nova/blob/master/nova/conductor/manager.py#L1727
13:01:46 sean-k-mooney[m] so we would need to add
13:02:06 sean-k-mooney[m] if request_spec.is_bfv:
13:04:01 sean-k-mooney[m] if request_spec.az is non and instance.az != conf.default_az:
13:04:14 sean-k-mooney[m] request_spec.az = instance.az
13:04:24 sean-k-mooney[m] request_spec.save()
13:06:54 sean-k-mooney[m] that might work but it would pin the vm to the az of the first host we trided. that may or may not have space to create the volume on that backend and it may still fail for other reasons when we down call meaing we would have to ensure the alternat hosts are also in the same az
13:07:58 sean-k-mooney[m] damiandabrowski: ^ so i guess you can file a bug but i suspect this was not done orginally since nova created ports and volumes are normally only created by the compute agent which is too late to update the request spec.
13:08:33 opendevreview Merged openstack/nova master: Use configuration for single enabled mdev type https://review.opendev.org/c/openstack/nova/+/899406
13:11:42 damiandabrowski sean-k-mooney: thanks for explanation! that's a lot of information to understand for now, but I'll try to process it all today :D
13:49:00 opendevreview Merged openstack/nova stable/zed: Allow live migrate paused instance when post copy is enabled https://review.opendev.org/c/openstack/nova/+/904085
15:03:40 opendevreview Merged openstack/nova master: Resolve mypy error https://review.opendev.org/c/openstack/nova/+/903530
15:03:48 opendevreview Merged openstack/nova master: tox: Use pre-commit for pep8 target https://review.opendev.org/c/openstack/nova/+/896227
18:13:21 melwitt stephenfin: it looks like the CI failure on https://review.opendev.org/c/openstack/nova/+/903749 is legit ... codespell found a misspelling. not sure how it didn't fail before though
18:15:18 sean-k-mooney interesting my guess is previous runs had not been rebased
18:15:26 melwitt oh it was from the merge of post_live_migration reordering patch heh
18:15:43 melwitt there was one misspelling in that
18:16:21 sean-k-mooney i should check something
18:16:35 melwitt https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L9347
18:17:35 sean-k-mooney i was wondering if it was https://github.com/openstack/nova/commit/2ffdf2e9173ca2ad0f95ac7f565da64b8b62691f
18:17:54 melwitt I wondered that at first too
18:17:58 sean-k-mooney but precommit is using --all-files before and after
18:18:17 sean-k-mooney i knwo stephen mentioned i shoudl use all-files but i could nto recall if i had made that change or not
18:18:18 melwitt https://zuul.opendev.org/t/openstack/build/de967e204d724b27821268c1fe0c5b75/log/job-output.txt#4132
18:19:05 sean-k-mooney ok am i can just submit a change to adress the typo quickly if ye like
18:19:21 sean-k-mooney or if you want to do that
18:19:33 melwitt no go ahead
18:19:33 sean-k-mooney then we can proceed with stephens change
18:22:02 sean-k-mooney oh
18:22:14 sean-k-mooney so stephen is bumpiong the codespell version
18:22:21 sean-k-mooney so on master it passes fine
18:22:30 melwitt oh huh
18:22:46 sean-k-mooney but with 2.2.6 presumablly it addes new misspeling to the list
18:22:51 melwitt why would it consider that not a misspelling in the older version 😆
18:23:03 melwitt yeah, guess so
18:23:16 sean-k-mooney so codespell works by having a list of known incorrect words
18:23:26 sean-k-mooney not a dictonary of correct words
18:23:33 melwitt oh, interesting
18:23:47 sean-k-mooney thats why it tends not to have a lot of false positives
18:24:33 sean-k-mooney brb
18:29:36 sean-k-mooney so stephen is done for today but he is fine wiht use just updating this. im confirming if i can see it locally now
18:30:41 sean-k-mooney oh...
18:30:48 sean-k-mooney so i think i know whats happening
18:31:02 sean-k-mooney so locally this is passing for me evne if i clean the cached copies
18:31:13 sean-k-mooney but the ci does not run on the patch under review.
18:31:23 sean-k-mooney the ci run on the patch under review rebased on top of master
18:31:39 sean-k-mooney and stepehns patch does not have artoms one
18:32:39 sean-k-mooney yep if i rebase stephens patch locally i see the same issue
18:32:43 melwitt ah right
18:33:06 sean-k-mooney and that why we actully run this in ci
18:34:03 opendevreview sean mooney proposed openstack/nova master: pre-commit: Add mypy https://review.opendev.org/c/openstack/nova/+/896228
18:34:03 opendevreview sean mooney proposed openstack/nova master: pre-commit: Bump linter versions https://review.opendev.org/c/openstack/nova/+/903749
18:37:20 sean-k-mooney melwitt: ^ care to reapprove
18:40:57 melwitt done
18:41:41 sean-k-mooney by the way i thin kthe merge conflcit with yoru serise was in the patch that is already merged
18:41:59 sean-k-mooney so if that does not merged shortly you could just unparent again if you want too
18:42:17 sean-k-mooney melwitt: are you around tomorow/friday
18:42:36 melwitt sean-k-mooney: I'm around tomorrow
18:42:57 sean-k-mooney ok i might try and review your code tomorrow so if i can find time
18:43:16 sean-k-mooney are you taking much pto over the next few weeks
18:44:13 melwitt we have the year-end recharge Dec 22 until Jan 2
18:44:38 sean-k-mooney ill be back on the 8th if you think its ready i think it woudl be great to try an land your seriese in early january
18:45:57 melwitt ++ yeah I'm pushing hard to get everything into finished shape by then. it's mostly adding unit tests and stuff like that
18:46:28 melwitt (i.e. the implementation won't change much if at all)
18:46:36 sean-k-mooney well to aid with athat i think it woudl be good to see if we can merge som of the eairler patches.

Earlier   Later