Thursday, 2025-12-18

*** mhen_ is now known as mhen03:00
rm_worksean-k-mooney: So the issue I guess was that A) it doesn't get everything, only things set to be "cloud-init", and then also it doesn't accept JSON, it has to be a pure string, which is kinda dumb but it "works", I just `json.dumps` my json before I send it and have to load it up on the other side T_T03:03
rm_workbut did get it working finally. like... an hour ago lol03:03
opendevreviewRajesh Tailor proposed openstack/nova master: Update api-ref for server create  https://review.opendev.org/c/openstack/nova/+/93753405:41
rm_workIt’s weird that “DynamicJSON” type vendor data endpoint can’t return JSON 😅06:15
rm_workBut will cloud-init run code if I return a code block the same way as user data?06:16
opendevreviewRajesh Tailor proposed openstack/nova master: Update api-ref for server create  https://review.opendev.org/c/openstack/nova/+/93753406:25
jkuliksean-k-mooney: if you have some time left, https://review.opendev.org/c/openstack/nova/+/699176 got updated again (faults from cell DB) to address your comments. if not, happy holidays :)09:39
*** Jeff is now known as Guest3384909:51
sean-k-mooneyjkulik: +2 from me but im not sure if melwitt or gibi will have time to review before the go on pto for the year11:30
jkulikthank you. that's fine, I'll keep on bugging people next year then. but if it looks finished to you, that's already very helpful feedback :)11:31
sean-k-mooneywe can always ad dmore testing liek fucnitonal test ectra but i think what you have proesed is good enough and i think it sovles the orginal reported porblem without changing things unessisarlly11:33
sean-k-mooneyso to me it looks good as a single atomic commit that is self contained and backportable11:33
opendevreviewhuanhongda proposed openstack/nova master: WIP: NUMA fit instance to host with cpu/ram_allocation_ratio  https://review.opendev.org/c/openstack/nova/+/97140912:55
opendevreviewhuanhongda proposed openstack/nova master: WIP: NUMA fit instance to host with cpu/ram_allocation_ratio  https://review.opendev.org/c/openstack/nova/+/97140912:59
opendevreviewDmitriy Rabotyagov proposed openstack/nova-specs master: Add 2026.2 spec structure  https://review.opendev.org/c/openstack/nova-specs/+/97141313:46
gibiUggla: gmaan: FYI I filed the bug for the py312-threading intermittent failure I mentioned yesterday https://bugs.launchpad.net/nova/+bug/2136815 I have a good idea now why it is happening so I will probably able to fix it.14:04
Ugglagibi 👍14:05
opendevreviewBalazs Gibizer proposed openstack/nova master: [DNM]Show issue with loopingcall in threading mode  https://review.opendev.org/c/openstack/nova/+/97143114:41
stephenfingibi: random question on https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L2680-L268514:59
stephenfinthat assumes the device has an alias. Will devices always have an alias?14:59
stephenfinI ask because we have tests validating behavior of functions with devices with and without the alias attribute, e.g. https://github.com/openstack/nova/blob/master/nova/tests/unit/virt/libvirt/test_driver.py#L1072515:01
stephenfinI don't know if those are valid tests or not15:01
gibistephenfin: I assuem that libvirt always assign alias as that is what coming back from libvirt in the event. Nova might or might not explicitly set the alias 15:02
stephenfinYes, that's my thinking also (and my experience from brief local testing)15:03
gibii think that test covers the case when nova request the detach by using an alias or by not using the alias15:03
gibithat is independent from the device having an alias in libvirt15:04
stephenfinright, but will be ever attempt to detach without using an alias, given an alias is always present?15:04
stephenfinand if not, does that mean that code is dead code?15:04
stephenfinfwiw, the context of this a rework of the mypy configuration that I'm working on: mypy is complaining because create_waiter expects the dev.alias arg to be a string (which I think is correct) but our tests explicitly set it to null is some places15:06
gibithis is where the two codepath is coming from https://github.com/openstack/nova/blob/3e5a2dbad73ff61d27db8750480e2c0b52133676/nova/virt/libvirt/driver.py#L2818-L282515:13
gibiso when the detach checks that the device is really gone it uses a callable to query the device from libvirt, and that callable has two modes for disks15:14
gibiso the question is do we ever create a partiall callable from _get_guest_disk_device in a way that volume_uuid is not provided15:15
gibiand passing that to detach15:15
gibihttps://github.com/openstack/nova/blob/3e5a2dbad73ff61d27db8750480e2c0b52133676/nova/virt/libvirt/driver.py#L2856-L286415:16
gibiif volume_uuid is not None here then we will go with the alias path for sure during detach15:16
gibiunfortunately the code might return non for that volume id above15:17
gibihttps://github.com/openstack/nova/blob/3e5a2dbad73ff61d27db8750480e2c0b52133676/nova/virt/block_device.py#L103115:17
gibiit feels strange that we don't have a connectin_info for a disk we want to detach, but I have no proof that we always have15:19
gibiso meh15:19
stephenfinsorry, got distracted by CI woes elsewhere /o\15:43
stephenfinI suspect libvirt might auto-generate aliases (without the ua- prefix) if a user doesn't provide one. That would explain why we need the ua- prefix in the first place. Just trying to find the smoking gun for that15:46
stephenfinIf so, I think that instead of not setting an alias, tests like that should be setting a non-ua prefixed alias15:47
gibithe problem in my eyes that the code might use a non-alias based device lookup that depends on if the volume id is available for the disk being detached or not15:50
gibiso to get rid of the extra codepath you would need to ensure that the code always uses an alias and not a device path for lookup15:51
opendevreviewBalazs Gibizer proposed openstack/nova master: Do not mock threading.Event.wait  https://review.opendev.org/c/openstack/nova/+/97144815:51
gibiUggla: gmaan: ^^ that is the fix for the py312-threading instability15:51
gibiI will push some followups as well to prevent it to happen again15:52
gmaangibi: ack. will check16:23
stephenfingibi: https://github.com/libvirt/libvirt/blob/dad8b0fc527b37e072d8baaace45ae6a29394f27/src/qemu/qemu_alias.c#L692-L78616:25
stephenfindevices will *always* have an alias16:25
stephenfinbut that may or may not be user-defined16:25
stephenfin...and has done so for a very long time (I went back as far as 2010 and decided that was good enough :))16:28
opendevreviewStephen Finucane proposed openstack/nova master: trivial: Use functools.wraps  https://review.opendev.org/c/openstack/nova/+/97145016:42
opendevreviewStephen Finucane proposed openstack/nova master: tests: Set disk alias in libvirt fixture  https://review.opendev.org/c/openstack/nova/+/97145116:42
opendevreviewStephen Finucane proposed openstack/nova master: tests: Always set device aliases  https://review.opendev.org/c/openstack/nova/+/97145216:42
stephenfinand there are fixes for tests and a runtime check so we fail early16:43
gibistephenfin: if the device's alias is not set by nova, can nova still know that alias and can use it to look up the device?16:50
stephenfinthat I don't know, so I have touched the detach code otherwise16:52
stephenfinI just know that we need *an* alias for the device event handler, and that we will always *an* alias16:53
gibiOK so you are not removing the fallback code path. Then I think it is OK16:53
opendevreviewBalazs Gibizer proposed openstack/nova master: [hacking]Do not mock threading.Event.wait  https://review.opendev.org/c/openstack/nova/+/97145416:53
opendevreviewMerged openstack/nova master: Do not mock threading.Event.wait  https://review.opendev.org/c/openstack/nova/+/97144817:23
gmaangibi: +1 on hacking rule, but it seems it needs to be fixed in other places also and we should see how much time it increase unless you add some timeout like you did for detach17:33
gibigmaan: yepp I'm on it17:34
gmaank17:34
gibifixed most of it locally there is one that needs more attention tomorrow 17:34
gmaan++17:35
opendevreviewBalazs Gibizer proposed openstack/nova master: [hacking]Do not mock threading.Event.wait  https://review.opendev.org/c/openstack/nova/+/97145417:40
gibi^^ I pushed it but it still has one functional test that needs a fix now17:40
gibianyhow that is all from me today. o/17:40
gmaank, o/17:41
sean-k-mooneygibi: is that the cause fo the race?17:45
sean-k-mooneyby the way i have not mention my ai code review ci job much lately17:45
sean-k-mooneybut one of the thing im plannign to impelment next year is making it read and follow the guidnce in HACKING.rst if that file exsits in a repo17:46
opendevreviewStephen Finucane proposed openstack/nova master: libvirt: Ensure device alias is present  https://review.opendev.org/c/openstack/nova/+/97145217:52
opendevreviewStephen Finucane proposed openstack/nova master: libvirt: Remove import hacks  https://review.opendev.org/c/openstack/nova/+/97146017:59
JayFIf folks have time, https://review.opendev.org/c/openstack/nova/+/969321 could still use a review. Follow-up for a previous bugfix.18:10
*** haleyb is now known as haleyb|out21:34
opendevreviewMerged openstack/nova master: Remove tpool_execute as it is unused  https://review.opendev.org/c/openstack/nova/+/96655222:39
sean-k-mooneygmaan: stephenfin i finsihed the openapi serice. i think they are mostly all readytto merge.23:37
sean-k-mooneyim finsihing for the year now23:38
sean-k-mooneyJayF: the use of ddt looks fine to me too23:39
JayFsean-k-mooney: honestly I care more about unifying those states files, I have an ironic-side commit waiting with a comment to keep 'em synced23:39

Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!