Thursday, 2026-04-16

opendevreviewMerged openstack/sushy master: Update hacking to 7.0.0  https://review.opendev.org/c/openstack/sushy/+/98409300:57
opendevreviewMerged openstack/ironic master: Fix IPA boot during out-of-band service steps  https://review.opendev.org/c/openstack/ironic/+/98301002:42
opendevreviewMerged openstack/sushy master: tls: Short circuit retries on hard tls errors  https://review.opendev.org/c/openstack/sushy/+/98407102:43
opendevreviewMerged openstack/ironic-python-agent master: Enforce TLS 1.2 minimum across all connections  https://review.opendev.org/c/openstack/ironic-python-agent/+/98217402:59
opendevreviewMerged openstack/ironic-python-agent master: ci: Fix the functional test job  https://review.opendev.org/c/openstack/ironic-python-agent/+/98405402:59
opendevreviewDoug Goldstein proposed openstack/ironic stable/2026.1: Fix IPA boot during out-of-band service steps  https://review.opendev.org/c/openstack/ironic/+/98489403:12
*** ykarel_ is now known as ykarel04:11
UgglaHi all, FYI Nova ptg agenda almost completed --> https://etherpad.opendev.org/p/nova-2026.2-ptg09:52
cardoeThanks Uggla12:18
TheJuliagood morning13:15
TheJuliacardoe: you around/13:48
cardoeTheJulia: yep13:57
cardoeI didn't do it. Unless I was suppose to and then I did.13:58
TheJuliaI think I'm getting there while also waking up13:58
TheJuliatrying to figure out why some of our multinode jobs are busted hard13:58
kubajjTheJulia: Is attestation a common thing? I just learned that it exists14:01
TheJulia\o/14:02
TheJuliaFirst round of success!14:02
cardoeah I was wondering if you figured out why it failed.14:05
TheJuliacompute nodes are failing specifically it looks like14:05
TheJuliahttps://zuul.opendev.org/t/openstack/build/cf164e7ba8c345f88b62a4540e9d88b714:05
cardoecool.. I had a box stuck in bios.apply_configuration cause it wouldn't get to booting and now have restarted conductor and so even though we fixed the booting on it since its not abortable I cannot take it out of that state without a DB edit I don't think14:09
cardoeTheJulia: is multinode using Q_AGENT=openvswitch or something else? like ovn?14:09
TheJuliaso, they are set with openvswitch it looks like14:10
TheJuliaerr, maybe not actually14:11
TheJulia"openvswitch"14:11
TheJuliaokay, its rooted in the change you made14:18
TheJuliaand moves the overall pattern from "does the router exist", if so do the thing, to "does the network exist and if so unconditionally run these commands14:19
TheJuliaso basically, the issue is the network has been defined, but the namespace may still not exist, so we traded one race condition for another14:19
cardoeYep. I know it's related to my change... :/14:21
cardoeCause previously it was a grep for any netns that matched and ran that command against anyone that existed14:22
TheJuliayeah, we just need to also ensure a namespace is present before we try to run the commands14:22
TheJuliaWe don't care what, just that it is14:22
cardoeAnd I hit the issue that I had 2 with 1 being cleaned up and disappearing while it ran so I tried to instead make it target the specific one that should exist.14:22
opendevreviewJulia Kreger proposed openstack/ironic master: ci: fix guarding logic ovs qrouter logic  https://review.opendev.org/c/openstack/ironic/+/98495014:27
TheJulia That should do it14:27
TheJuliaJayF: Any interest in growing the review jams? I've got some folks interested.14:29
JayFI'm happy to add people to my existing invite for the downstream team.14:30
JayFI'm happy to participate in some that other folks organize as well. I don't think I have the juice to organize a fresh one14:30
TheJuliaI think that would be pretty awesome14:30
JasonParoly[m]please add me to the invite if possible, and thank you14:32
TheJuliamumesan[m] abongale you both expressed interest to me as well. I would also be happy to have a calendar item to join in14:33
TheJuliaCalendars, the most evil items on the planet ;)14:33
JayFJust DM me email addresses and I'll get em added14:37
JayFor put them in here and brave the spam lol14:37
opendevreviewJulia Kreger proposed openstack/ironic master: ci: fix guarding logic ovs qrouter logic  https://review.opendev.org/c/openstack/ironic/+/98495014:39
TheJuliaabongale, mumesan[m], JasonParoly[m] ^^^14:42
TheJuliaAll the spam!14:43
abongale:JayF :TheJulia  done14:43
TheJuliaFYI, a couple quick reviews on https://review.opendev.org/c/openstack/ironic/+/984950 would be appreicated so I can un-brick n-g-s's gate14:44
cardoeTheJulia: can we not change to check for the specific qrouter instead of ANY qrouter again?14:52
cardoeoh you did the update14:52
opendevreviewJulia Kreger proposed openstack/ironic master: ci: fix guarding logic ovs qrouter logic  https://review.opendev.org/c/openstack/ironic/+/98495014:52
TheJuliayeah, and hopefully fixed the bash being grumpy syntax error now too! :)14:53
cardoeTheJulia: how's that bash gonna work with sudo ip netns list | grep "" when qrouter_id is empty?14:53
TheJuliaugh14:53
TheJuliawell14:54
TheJuliaempty, it shouldn't matter14:54
TheJuliapresent, something will be there14:54
TheJuliashould be okay, I would think14:54
TheJuliafails open, but is guarded by awk14:55
TheJuliabecause when ip netns list returns nothing, it literally returns nothing14:56
cardoeSo is https://review.opendev.org/c/openstack/ironic-specs/+/984596 too vague or good?16:10
* dtantsur bookmarks16:13
dtantsurimmediate comment: s/is_oob/requires_ramdisk/  (in my experience, oob is not clear for people outside of our bubble)16:14
TheJuliaJust broadly speaking, I'm also worried by a focus on "let me try to do everything OOB" and there are just some aspects which don't really just work out of band or even if they did, is it really a good idea is a question folks may need to ponder. I am hesitant to plant a seed that can grow to a more OOB oriented model just because of the because we can should we questions start to be big items to consider.16:21
* TheJulia hopes that makes sense16:21
JayF+++++16:22
JayFI haven't read the spec but ++++++16:22
JayFthe more redfish API interface Ironic needs to work, the less likely things are to work16:22
dtantsurThere is no hard dependency though16:22
TheJuliawell, and that doesn't prohibit great ideas from surfacing, just... everyone's context will be different16:22
dtantsurBut I can imagine a valid argument for having a separate list of hooks (and possible a separate scope for inspection rules) for this new action16:23
dtantsur(I'm asking in the spec about what happens with ports, for example)16:23
TheJulia"Just because risc-v bmc thingie has a bit bang firmware interface, doesn't necessarily mean we should try to ask the bmc to re-flash the OS in it's entirety" but then also go to a multi block device server and UEFI.16:23
dtantsurI have a permanently lingering customer request to update inspection data for provisioned instances, so I can see the motivation though16:25
TheJuliapart of me *really* wonders "service" with a step is the right thing for an active node16:25
TheJuliadunno, I need to ponder that one overall16:26
TheJuliaand I too, totally get the motivation16:26
dtantsurgood point about servicing. cardoe, have you considered that? this would remove a few concerns around the state machine.16:26
TheJuliaokay, my devstack change at least gets the mulitnode job back to failing the way we expect it to fail sometimes16:29
dtantsurwe all need a bit stability in our job. for example, the multinode job failing.16:32
dtantsur:)16:32
TheJuliai know right!16:32
TheJuliaI'm tempted to feed the failed job logs to claude just to see what it might think the issue is and see if it comes up with an answer16:33
TheJuliaI'm sure its likely a cross-node comms issue, but it could also be MTU and getting that failure rate to be less would enable us to not hit the same sort of issue through comfort with the job... like... actually passing.16:33
dtantsurclaude tends to give food for thought, if nothing else16:34
TheJuliaYeah16:34
TheJuliaI think that job network boots as well, I should likely change that (if I haven't already done so) to be vmedia based16:35
TheJuliaat could also be that job just takes a long time and is variable based upon the overall resulting layout16:46
TheJuliaand under the hood retries16:46
cardoeI’m done with a servicing step for inspection16:48
TheJuliadone or down16:50
TheJulia?16:50
TheJuliaIs this a throw down?!?16:50
TheJuliaor a hoedown?!?16:50
* dtantsur misses throwing wet cats16:50
* TheJulia smells burnout smoke16:50
TheJuliaIts too early for a cat meeting16:51
cardoeYes it’s a hoedown.16:51
cardoeI would be okay with a servicing / cleaning step.16:51
dtantsurIt's funny how because inspection and rescue more or less predate manual cleaning and servicing, they're independent operations16:52
TheJuliaThere is nothing saying we also couldn't directly map certian verbs to explicit steps16:53
TheJulia(of course, that could also be bonkers confusing)16:53
* dtantsur nods16:53
cardoeWhat interface ya want it in? Or leave it in inspect?16:53
dtantsurI'd allow steps on the inspect interface, yes16:54
dtantsurThen you don't need is_oob because the "agent" inspect simply won't have the necessary step16:54
dtantsurAnd no concerns around the new state transitions16:54
cardoeI wanna stick a date/time in the inspect data too so that I know how stale it is.16:54
TheJuliaThere could be verb transitions which require explicit steps as well16:54
TheJuliaservice is basically one of those16:55
dtantsurcardoe: big +1 to updated_at on inspection data16:55
TheJuliaYou need to give us steps or we're going to do the wrong thing potentially becuase your in advanced workflows16:55
dtantsur(checking out now, good evening folks)16:56
TheJuliafyi folks, I'm planning on taking tomorrow off for my mental health and to be charged up sufficient to survive ptg week16:57
TheJuliasufficiently16:57
cardoeGood idea17:01
TheJuliaI'm burning hard right now, and largely its just because I'm exhausting context switches quickly17:03
TheJuliaa lot of stuff going on17:03
TheJuliaI just need one more review on https://review.opendev.org/c/openstack/ironic/+/984950 so I can recheck a pile of NGS stuff17:04
cardoeI'm just wondering if I'm doing https://review.opendev.org/c/openstack/ironic-specs/+/984598 correct17:13
cardoeCause I was gonna go update all the specs to when they were implemented.17:13
JayFah didn't realize 984950 has a revision, +2a17:14
TheJuliacardoe: that looks right I think17:21
TheJuliayou moved the link from not-implemented to 36.0 right?17:21
TheJulia(this is the sort of thing gerrit doesn't provide great visibility for, unfortunately17:21
TheJuliafyi, it looks like we may ahve some additional ci failures, albeit transient ones due to package updates17:38
TheJuliajust check the job los17:38
TheJulialogs17:41
cardoeTheJulia: yeah first link from not-implemented to 36.017:41
TheJulia++17:41
cardoeTheJulia: yeah it looks like the Ubuntu package mirrors went sideways a little bit ago17:42
cardoedtantsur: https://review.opendev.org/c/openstack/ironic/+/984663 that was to address your feedback btw.17:47
TheJuliaGah, we're going to have to recheck that job since we got more post_failures18:24
TheJulia(really, pre, but I thank the job for at least giving us a little bit of an idea18:24
opendevreviewVerification of a change to openstack/ironic master failed: ci: fix guarding logic ovs qrouter logic  https://review.opendev.org/c/openstack/ironic/+/98495018:36
opendevreviewMerged openstack/ironic-python-agent master: trivial: fix imports and other test race changes  https://review.opendev.org/c/openstack/ironic-python-agent/+/98391718:40
opendevreviewJulia Kreger proposed openstack/ironic master: ci: Tune multinode CI job VM resources for stability  https://review.opendev.org/c/openstack/ironic/+/98502419:04
TheJuliaso claude's analysis is in huge part the variable ci node performance can really hit that job heavily, which also can result in increased memory pressure as well, so some slight tuning plus timeout extension should yield us to a happier place. It's not so quick anaylsis is basically that IPA took 13+ minutes19:06
TheJuliaso, as we know, second cpu can have a huge impact there on test VMs19:06
opendevreviewVerification of a change to openstack/ironic master failed: ci: fix guarding logic ovs qrouter logic  https://review.opendev.org/c/openstack/ironic/+/98495019:16
opendevreviewHarald Jensås proposed openstack/networking-generic-switch master: GenericSwitchNetmikoConfigError error details  https://review.opendev.org/c/openstack/networking-generic-switch/+/98502919:23
cardoedtantsur: TheJulia: I think for the out of band inspect I want to nuke https://opendev.org/openstack/ironic/src/commit/192e2e8e7055b5e1d48114d9b4d8459f91939a55/ironic/drivers/modules/redfish/inspect.py#L169 as a precursor19:56
cardoeI'm gonna toss this stuff into a PTG session and maybe we can hash out the design there.19:57
JayFyeah, I'm going to chew on that spec a while for sure19:58
JayFit feels like we're setting up parallel generic pipelines19:58
JayFone for step-based flows, one for inspect-flows19:58
JayFI don't know how to better arrange it, so I'm not saying it's a -1 or anything, just trying to think about where the lines can be drawn and if there's any common thread we can pull thru both of em19:58
TheJuliacardoe: I think for at least if the state is active then yeah, likely not the best idea to add new ports19:59
TheJuliabut then I wonder, what if someone adds a network card19:59
cardoeWell I personally use inspection hooks to add the ports.19:59
cardoeThe comments on the add port stuff are that it's needed for IPA to have a port. But we're out of band so I don't know why we'd need a port.20:00
TheJuliatrue20:01
TheJuliaand really then, if your out of bound only, your there more for "i replaced a drive", unless you rebooted to get a card20:01
cardoeThat's the case I'm thinking of. The box was active. It had a fault in some piece of hardware. It was powered off, repaired and now powered on.20:02
cardoeI'm happy if the workflow is maintenance=true -> run service steps -> maintenance=false like you and Dmitri suggested.20:03
TheJuliaokay20:04
TheJuliayou've got me agreeing then20:04
cardoeRight now a quick summary of what we've got is a custom iPXE that POSTs the PCI IDs and hardware data about the box back to an API. That API returns a 200 if the hardware is the same that was in there at deployment time. Otherwise it returns a 4xx message and the box doesn't continue to boot.20:06
cardoeLooking to Ironic-ify this operator workflow.20:07
* TheJulia twitches slightly20:07
TheJuliaI mean, that is a thing one can do!20:08
cardoeIt's a sanity check.20:08
cardoeThere's other things as well.20:09
TheJuliaof course20:09
cardoeBut this isn't the only place that's had some process like this.20:10
cardoeAttestation checks is part of that.20:10
opendevreviewMerged openstack/ironic-specs master: record the runbook traits API as implemented  https://review.opendev.org/c/openstack/ironic-specs/+/98459820:11
opendevreviewDoug Goldstein proposed openstack/python-ironicclient master: fix: make it possible to unset local-link-connection on baremetal port  https://review.opendev.org/c/openstack/python-ironicclient/+/98504721:28
cardoeohhhhh how many yaks deep can we get todayyyyyyyyyyyy21:28
opendevreviewDoug Goldstein proposed openstack/python-ironicclient stable/2025.1: [stable only] pin setuptools to fix pkg_resources errors  https://review.opendev.org/c/openstack/python-ironicclient/+/98504921:31
JayFcardoe: https://review.opendev.org/c/openstack/ironic-specs/+/984596/1#message-3e128202fa61b831e26cce8253fe6290b63853d8 got a review on your spec21:35
JayFcardoe: likely gonna add a yak to yer stack21:35
opendevreviewDoug Goldstein proposed openstack/ironic master: fix case where neutron ports are not tracked with the baremetal port  https://review.opendev.org/c/openstack/ironic/+/98505021:35
cardoeJayF: that's fine I think I now want it as a service step already21:36
JayFyeah mainly just thinking about the case21:36
JayFwhat if one of your level 1 openstack admins saw a node in this state21:36
JayFwhat would they assume? In many places, it might look like a failed delete or bad state (instance_uuid set in INSPECT* states) or operators might be used to seeing INSPECT state and thinking "X" is the next step21:37
cardoeMaybe a better start would be to write down some "possible operator operations"21:40
cardoee.g. "As Ollie the Operator, I want to X"21:40
* cardoe chokes on yak hair.21:40
TheJuliacardoe: not opposed21:51
cardoeTo letting me choke on all this shaved yak hair? Well that's mean....21:52
TheJuliachoking, no. I was quietly ordering folgers decaf in a "yak shaver" box21:58
cardoehttps://review.opendev.org/c/openstack/python-ironicclient/+/985049 can we do that? And then backport to 2024.2? Then I can clean up the queue of stuck patches too.22:02
TheJuliasure, done22:03
TheJuliaerr22:03
TheJuliathats not a backport22:03
opendevreviewVerification of a change to openstack/python-ironicclient stable/2025.1 failed: [stable only] pin setuptools to fix pkg_resources errors  https://review.opendev.org/c/openstack/python-ironicclient/+/98504922:03
TheJuliaokay, better now22:03
cardoeRight because we've changed stuff... we cannot go to new enough depends in 2025.1 and 2024.2 cause of the upper-constraints.txt and we've fixed it by going to newer deps in 2025.222:04
cardoeanother fun fact... virtual-media ignores pxe_enabled=True and binds all ports so if you use neutron.fail_on_port_binding_failure=True it doesn't work22:07
cardoeDefinitely looking forward to us iterating TBN to like v6 where the magical options can be explicit.22:08
JayFTo be explicit: GR's current use cases for TBN are settled, I don't anticipate us being the driver for additional features at the moment.22:19
JayFand we should fix that vmedia shenanigans :( it explains something I had to walk my downstream through that confused me 22:19
opendevreviewMerged openstack/python-ironicclient stable/2025.1: [stable only] pin setuptools to fix pkg_resources errors  https://review.opendev.org/c/openstack/python-ironicclient/+/98504922:23
cardoeJayF: I mean what's the right fix? You probably want neutron.fail_on_port_binding_failure cause cid wrote it and defaulted it to true.22:34
opendevreviewDoug Goldstein proposed openstack/python-ironicclient stable/2024.2: [stable only] pin setuptools to fix pkg_resources errors  https://review.opendev.org/c/openstack/python-ironicclient/+/98505522:36
JayFcardoe: s/pxe_enabled/ramdisk_enabled/ and then respect it22:44
JayFI think my downstream hacked in something to respect pxe_enabled22:45
JayFbut that was a while ago and I was mainly just on the outsides of that 22:45
JayFfrom a workflow standpoint, we shouldn't care if the port is pxe enabled or not, we just care about "What of these ports need to succeed in binding in order to ramdisk"22:45
cardoeJayF: well we're talking about different things. Cause this takes all the ports that are on the node and if the boot driver has "pxe_boot" in it then we just require the pxe_enabled=True ports to bind... if the boot driver doesn't have that then all the ports... I tried to use virtual-media.22:52
cardoevirtual-media doesn't have pxe_boot22:52
cardoeI've got ports that got created by inspection with pxe_enabled=false22:53
JayFso what I'm saying is22:54
JayFwe need to genericize the concept22:54
JayFit shouldn't just be "these ports can pxe", it should be "these ports can be used by IPA"22:54
cardoeOh yes agreed.22:54
JayFwhich in that case, means we can make pxe_enabled instead mean, e.g. "ramdisk_enabled" and respect that setting for vmedia, too22:55
JayFwhether we rename the field in name or only in spirit is up to you ;) 22:55
cardoeThere's other quirky nuances in there that I really hate.22:55
JayFmaybe we can factor out a decoder ring or two :) or at least you can learn to hate the *reason* the code is hateable instead lol22:56
cardoeTechnically UEFI can have some ports that run PXEClient and some that run HTTPClient for booting22:56
cardoeI've got a patch somewhere to add to the docs that tell people you must keep both values in sync manually.22:57
JayFport.capabilities [uefi_http, uefi_net, bios_pxe, ipa_enabled] 22:57
JayFor something like that22:57
JayFIDK22:57
cardoeyeah that's probably the right answer.22:57
cardoeI think I threw something on the PTG for this topic22:57
JayFI suspect neutron has some prior art in this too 22:57
cardoeBut that's a good suggestion.22:57
JayFso maybe we can use some bits of their model with modes/capabilities extended for BM cases22:57
* JayF hand waves away his lack of neutron understanding :D 22:57
JayFsimilar to how we (ab?)use traits22:58
cardoeFirst go get a tri-state boolean and integrate it into the code base.22:58
opendevreviewDoug Goldstein proposed openstack/python-ironicclient stable/2024.2: [stable only] pin setuptools to fix pkg_resources errors  https://review.opendev.org/c/openstack/python-ironicclient/+/98505523:04
opendevreviewDoug Goldstein proposed openstack/python-ironicclient master: fix: make it possible to unset local-link-connection on baremetal port  https://review.opendev.org/c/openstack/python-ironicclient/+/98504723:06
TheJuliaHey now, I might want to add some more traits for attestation ;)23:20

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