Friday, 2026-03-13

jandersTheJulia w/r/t 979828: I left Konstantinos a comment (in response to yours) - will try to get him to test it. There's some downstream context here which I would like him to check.00:24
jandersIn principle, I agree with you, if unsure let's err on the side of an extra reboot - it's not like we're provisioning machines every day. They get provisioned once and run for months/years and they better run well (not so easy if config is slightly off). However provisioning performace is important for the folks, they don't like unnecessary00:25
jandersreboots. So trying to help them make things faster where possible.00:25
opendevreviewJacob Anders proposed openstack/sushy-tools master: [WIP] Add settable health status to ComputerSystem resource  https://review.opendev.org/c/openstack/sushy-tools/+/98038100:35
cardoejanders: I’m gonna try to get some time to reload the BIOS settings series into real hardware area tomorrow and test it some more.00:44
janderscardoe thank you, that would be great!00:49
cardoeJayF: I would like the glance image to be obvious as to what type it is rather than a basic Boolean. That’s what I’m saying.00:54
rpittaugood morning ironic! happy friday ! o/08:00
kubajjgood morning rpittau, and Ironic! o/09:02
rpittauhey kubajj :)09:06
opendevreviewJakub Jelinek proposed openstack/ironic master: Make local_gb an int  https://review.opendev.org/c/openstack/ironic/+/98040811:00
opendevreviewHarald Jensås proposed openstack/sushy-tools master: novadriver: Add rescue-based virtual media support  https://review.opendev.org/c/openstack/sushy-tools/+/98025512:15
opendevreviewHarald Jensås proposed openstack/sushy-tools master: Verify power state after rescue operations  https://review.opendev.org/c/openstack/sushy-tools/+/98042612:15
TheJuliajanders: I guess my only real worry is use of the pending/future value field is not the current value unless there *is* a reboot. Otherwise fine in principal, the issue is what was done on the idrac10 and maybe that is worthy of a request for DMTF to clarify the field's usage13:36
nathharphey - is it appropriate to ask usage questions here, or should that go to the mailing list?13:39
TheJuliahey nathharp, go right ahead, here is fine! :)13:39
kubajjregarding https://review.opendev.org/c/openstack/ironic/+/980408 does anybody knows where the default value of local_gb property comes from?13:40
nathharpThank you.   I'm having a headache with IPA + Redfish virtual media boot + DHCPless.   I've had it working on a system a while ago, but now I'm failing to get any network connectivity.    Unhelpfully I also don't appear to be able to get dynamic-login using rootpwd=  - I suspect due to $ and or " vs '.   Is 13:42
nathharphttps://docs.openstack.org/ironic-python-agent/latest/admin/troubleshooting.html#ironic-python-agent-builder-dynamic-login still expected to work?13:42
TheJuliaHmm, IPA I think, looking13:42
TheJuliakubajj: oh, self determining although should be int actually....13:43
TheJuliawell, cast to string13:43
TheJuliaits the size of the disk chosen as the root device -113:43
nathharpargh - forget my question, this time it works!13:43
TheJuliawhich is chosen by the agent based upon config or by the selection crtieria to find the default device13:44
TheJulianathharp: using dynamic-login or devuser elements from dib?13:45
TheJuliaI don't know if anyone has used dynamic-login with IPA, I would expect it to work though. Devuser is a good alternative for a one-off host troublehsooting albeit in both cases you have to build an IPA ramdisk with an element13:46
kubajjTheJulia: what I meant is for the test cases where something goes wrong, then it says:13:47
kubajj# The default value of the `local_gb` property is left13:47
kubajj# unchanged13:47
kubajjself.assertEqual(task.node.properties.get('local_gb'), '10')13:47
kubajjBut where does the '10' come from?13:47
TheJuliaoh, likely the test class itself13:48
TheJuliaoh, looking at it, the test class defines four options13:49
TheJuliaand test_root_Device_skip_list explciitly excludes the first13:50
kubajjTheJulia: my bad, I missed the get_test_node setting it in ironic/tests/unit/db/utils.py13:52
TheJuliano worries13:52
TheJulianathharp: fwiw, there is a length limit to the kernel command line and what gets parsed, so always possible you might be super close to it13:55
TheJuliaIPA I *believe* 13:59
nathharpit ended up taking both escaping $ with a second $, but also using single rather than double quotes.   With double quotes $foo was being interpreted, so only half of the string was actually being passed13:59
TheJuliaerr13:59
TheJuliawrong window!13:59
TheJuliaoh joy, yeah, that is why I sort of avoid dynamic-login and lean towards devuser14:00
TheJuliaLets just be glad we still have a kernel command line14:00
nathharpindeed.   Thanks anyway for your help.   Now I'm in I can at least see that IPA definitely isn't applying an IP address......14:01
TheJuliaSo, IPA itself doesn't do it, glean does14:02
TheJuliaso, that is sort of the first place I'd look along with the syntax of the network configuration data14:02
nathharpsorry, yeah that's what I meant - "my IPA instance isn't getting an IP address".   I'm testing a backport of https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/962673 but it looks like I'm missing glean entirely14:05
TheJuliaoh, yeah simple-init as an image element to your image builder and that will pull in glean14:06
TheJuliaSince your using an older branch, you may need to opt for it explicitly14:06
opendevreviewJulia Kreger proposed openstack/networking-baremetal master: fix neutron port reconcilator  https://review.opendev.org/c/openstack/networking-baremetal/+/98043714:08
opendevreviewDoug Goldstein proposed openstack/ironic stable/2025.2: fix: MAC address handling was not always normalized  https://review.opendev.org/c/openstack/ironic/+/98037114:11
opendevreviewJulia Kreger proposed openstack/networking-generic-switch master: Move multicast helper to device_utils.  https://review.opendev.org/c/openstack/networking-generic-switch/+/98015814:13
opendevreviewJulia Kreger proposed openstack/networking-generic-switch master: Arista eos multicast vxlan  https://review.opendev.org/c/openstack/networking-generic-switch/+/98015914:14
opendevreviewJakub Jelinek proposed openstack/ironic master: Make local_gb an int  https://review.opendev.org/c/openstack/ironic/+/98040814:17
kubajjTheJulia: I did not update the other test cases, because there is so many that have either `local_gb` or `memory_mb` as strings. 🥲14:18
TheJuliaI guess the big thing will be to see if anything explodes, I highly doubt it will14:19
shermanmhave a a bit of a success to share, that ssh connection reuse patch to NGS dropped our "best case" time to configure ports on os10 from 20 seconds to ~5 seconds, and we're seeing similar improvements to the median times14:46
TheJuliashermanm: that is awesome news14:49
shermanmI was just pulling the times out of the neutron wsgi logs , e.g. `"DELETE /v2.0/ports/8c729094-4b2f-4259-8590-c9126db096df HTTP/1.1\" status: 204  len: 149 time: 4.8874485"`, but it's gotten fast enough that I now need to distinguish from the "no-op" api calls to ports missing local_link_info. I had just been doing an "exclude < 5s" 14:53
shermanmif it's of interest, I may have a PR that adds NGS timing info to a debug log or similar, I wanted to get statistics on how long each ml2 request spends waiting for a lock, waiting for switch connect, and waiting for the change to "apply", broken out by which switch14:55
opendevreviewMerged openstack/ironic master: Support ramdisk deploy with Glance image_source  https://review.opendev.org/c/openstack/ironic/+/97882815:01
opendevreviewMerged openstack/ironic master: Add ramdisk to autodetect deploy interface  https://review.opendev.org/c/openstack/ironic/+/97882915:01
nathharpTheJulia: yep, our IPA image builds were missing glean.   Added that + now I'm working!15:03
nathharpand by missing glean, I mean missing simple-init15:05
TheJuliayeah, horribly named, sorry about that15:06
cardoekubajj: rg -t python local_gb | grep -v tests15:43
kubajjcardoe: will do, thanks15:46
cardoenathharp: you need to escape the $ with two15:47
cardoeshermanm: might be worthwhile to expose it as a prometheus /metrics endpoint15:48
shermanmI was thinking that, but it seemed like a larger change to try and land15:49
nathharpcardoe: yeah, I had done that too (without it conductor won't start), but even after that it would come out wrong: eg rootpwd=/VjVAFYGvEINAZKuIjHVMq2nNtMa1vWU0J0o1gH0/W1 instead of rootpwd=$6$gZmMmrjzEeAmDRLk$dOfw/VjVAFYGvEINAZKuIjHVMq2nNtMa1vWU0J0o1gH0/W115:49
opendevreviewClif Houck proposed openstack/ironic master: Fix bug in TBN NoMatch.__str__  https://review.opendev.org/c/openstack/ironic/+/98047715:54
opendevreviewClif Houck proposed openstack/ironic master: WIP: Update TBN simulator for milestone 2  https://review.opendev.org/c/openstack/ironic/+/98047815:54
TheJuliaAny last reviews for end of cycle?16:21
opendevreviewJakub Jelinek proposed openstack/ironic master: Make local_gb an int  https://review.opendev.org/c/openstack/ironic/+/98040816:21
TheJuliashermanm: so, timing overall seems like a good idea to log, maybe behind a boolean option though16:26
JayFif my ramdisk stuff hasn't landed yet, please that TheJulia 16:29
* JayF checks16:29
TheJulianot yet, next16:29
TheJulia-1from ci16:30
JayFread my comment :)16:30
JayFit's already fixed, I just tossed a recheck on it16:30
TheJuliarefresh your gerrit ;)16:30
JayFI had to unbreak the job16:30
JayFwe jinx'd the recheck :P16:31
JayFthe failure was just because the autodetect job got ramdisk added to autodetect but not enabled with the default change16:31
JayFand the guardrail I asked steve to put it is the one I crashed into lol16:31
opendevreviewHarald Jensås proposed openstack/networking-baremetal master: Use other_config for bridge-mapping lookup (OVN)  https://review.opendev.org/c/openstack/networking-baremetal/+/98037416:37
opendevreviewHarald Jensås proposed openstack/networking-baremetal master: Allow hostname in l2vni_network_nodes.yaml config  https://review.opendev.org/c/openstack/networking-baremetal/+/98037516:37
JayFfwiw the parts I care about already landed, it'd be nice to have default-on this release but not critical for my use case16:47
TheJuliafair fair16:47
JayFwe have two really good use case stories for our videos though: more control for integrated nova users (autodetect ramdisk + TBN + vxlan), networking launch for standalone16:48
JayFautodetect bootc for standalone, too16:48
TheJulia++16:49
TheJuliaReminds me, should go look at that empty deck16:49
TheJuliaAny thoughts/feels on https://review.opendev.org/c/openstack/ironic/+/977569 and the patches attached?16:55
JayFI've read all the code16:55
JayFThe lack of review is a decision moreso than a task prioritization16:56
JayFI can't put my finger on it, but something about those changes make me nervous16:56
JayFnot something I can quantify so I'd never put it on the change, but enough I've looked at it twice and didn't feel like a +2 16:56
JayFit's a pretty risky change if you don't trust hardware may just be the heart of my uncertainty16:57
JayF</topic> <topic> I was telling my downstream today about a downstream thing we had a Rackspace OnMEtal16:57
JayFwe had some devices I didn't trust to ATA erase properly, so we added "QA" to our cleaning steps16:57
JayFdd some random string to some random location on disk, secure erase, dd back out that random location and ensure it's not what we expect16:58
JayFhe suggested it might be something we could do upstream. In terms of timing, it probably wouldn't add too much to cleaning, and we wouldn't enable it by default16:58
dtantsurSounds cool, I'd even enable it by default if we can somehow roll it into the configdrive support16:59
JayFwhat do you mean by roll it into configdrive support?17:00
dtantsurAh, wait, I'm too tired to think properly17:01
dtantsurYou write the string right before the erasing, not in deploy time..17:01
dtantsurYep, works for me17:01
JayFthe context of the conversation was w/r/t out-of-band disk erasing being scary so sadly won't fix that issue17:03
JayFbut if folks are onboard I'm going to implement it17:03
JayFonly question I have: should it be a separate clean step or just baked into erase_block_devices?17:03
JayFbaking it in == you save 2-4 heartbeat round trips, but have no knob to turn it on/off and the error may be more confusing17:03
dtantsurit's odd to have a step that has a hard dependency on another step..17:03
JayFseparate steps == longer but more clear17:03
JayFdtantsur: not really, we do it implicitly with frequency: think about interactions between cleaning and in-band raid, for instance17:05
JayFdtantsur: the entire priority system exists because you may need ordering. We used that a *lot* at Rackspace when we had intensive in-band cleaning17:05
dtantsurokay, but this step would not even work with an out-of-tree cleaning step because the other step won't write the magic string, right?17:06
JayFso if I integrated it, it'd likely be shaped like: https://opendev.org/openstack/ironic-python-agent/src/branch/master/ironic_python_agent/hardware.py#L1097 line above this: dd string to disk; line below this, check for dd'd string17:08
TheJuliamy whole concern with out of band disk cleaning is largely that for the bmc to list a device, it needs to be recognized. The bmc might not show *all* of the devices which need to be cleaned17:32
TheJuliaexample: evil data center attackers mysterious weird thumbdrive in the back of the host17:32
TheJuliaI replied on doug's change, fwiw. Being pragmatic I +2'ed it17:39
JayFYeah, our threat model is a little different as a nonpublic cloud, but I'd have a lot of trouble *ever* being comfy with OOB disk erasure in  a public cloud18:28
TheJuliaYeah, its one of those things if you have appropriate physical controls or just... trust your DC staff its a whole different ballgame18:39
opendevreviewJulia Kreger proposed openstack/networking-baremetal master: fix neutron port reconcilator  https://review.opendev.org/c/openstack/networking-baremetal/+/98043718:44
cardoeSo TheJulia/JayF wrt https://review.opendev.org/c/openstack/ironic/+/977569 the original variant I had worked fine on Dell and HPE boxes.21:59
cardoeTested with Dell R7615 / R740 and then HPE DL380 Gen10? or Gen11?21:59
cardoeThe current version I don't know. I had planned on testing it today but -ETIME due to some other fires.21:59
cardoeIf the final state doesn't make it into 2026.1 then I'll be absolutely patching it into our build though.22:00
cardoeCause without that change its not possible to reset a box to a default state via clean.22:00
cardoeAs far as disk cleaning goes, I understand the unease with ATA erase. Erasing disks is a complex problem in the modern NAND / NOR days and then rotating media with CMR.22:04
cardoeFundamentally ATA erase works by implementing raw encryption and the controller has a key stored internally. ATA erase works by changing that key.22:05
JayFso you'd think that, cardoe, but the very bad no good DOM (direct-on-motherboard) disks they got for onmetal v1 actually, when you called for an ATA erase, it blocked for 30 minutes. We later figured out, by inspecting smart stats, they implemented a DBAN in the firmwrae.22:09
cardoeYeah so that's the issue.22:10
cardoeI worked with NIST at the time on it. And the folks working on that were good and boxed the spec in really well.22:11
cardoeIt was the "virtual disk atop physical disk" area that those vendors got some wiggle room on.22:12
cardoeAnd that's where I think the problem is today.22:12
cardoeCause every flash drive is a virtual disk to a physical disk for example.22:12
cardoeSo I agree with you on the write a little canary out there and see if my canary is there. It's a good way to do it.22:13
JayFre: your patch, knowing it was tested on dell and hpe makes me feel a bit better and I will circle back this weekend22:14
cardoeso patchset 3 is what ran against all the hardware22:22
cardoeIt's up to 8 right now. I'm not certain what's changed.22:23

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