Friday, 2026-01-09

opendevreviewSteve Baker proposed openstack/ironic-python-agent master: bootc install: Treat SELinux Permissive like Enforcing  https://review.opendev.org/c/openstack/ironic-python-agent/+/97280902:10
-opendevstatus- NOTICE: Zuul is up and running again and should report back to Gerrit successfully. Changes can also merge if there are no other failures, but we expect that publication jobs like docs and tarballs updates will not work currently.05:02
rpittaugood morning ironic! happy friday! o/07:37
kubajjgood morning Ironic! o/09:06
Sandzwerg[m]Morning ironic. Was there ever a discussion about using redfish disk secure erase as out-bound cleaning instead of the current in-bound way?12:47
opendevreviewJacob Anders proposed openstack/python-ironicclient master: Add support for node health status field  https://review.opendev.org/c/openstack/python-ironicclient/+/96705513:48
dtantsurSandzwerg[m]: I personally was not aware of this feature, even though some vendor BMCs did offer it for a long time. Do you have a reference?13:53
TheJuliagood morning14:14
TheJuliaAFAIK its only been offered by HPe14:21
TheJuliaand I *think* that was as an OEM action14:22
TheJuliaIf there is a standardized way, that might be interesting. The only concern I might have is does it cover, or how do we ensure all devices are actually cleaned in case of, for example, a thumb drive in the back of the chassis14:23
TheJuliathe device that should not be there but for some reason be it accident or spycraft, is present.14:23
dtantsurIt might be a compromise that the operator makes14:25
TheJuliaYeah, as a risk aware conscious decision, I'm totally onboard for it.15:06
TheJuliaIts sort of an inverse problem from bmc, because for a BMC to see a device, it has to have drivers and support context for the use pattern. Like raid controllers have to be in the "supported" list to configure RAID. for OS side, the OS generally has the bulk of the drivers and is also similar to the usage surface so has more drivers out of the box because the other pattern wise from a BMC, the drivers are supposed to come 15:08
TheJuliawith the device, so if you put a non-oem device in, odds are it won't have compatible drivers15:08
TheJulia(as devices bring a lot of their own "drivers"15:08
TheJuliaCan anyone tell the coffee has woken me up?15:09
dtantsurI cannot, nothing has woken *me* up15:30
dtantsur:)15:30
dtantsurOtherwise, yeah, it's a bit of a "know your hardware" situation (and have some security guards in your DC lol)15:30
JayFSandzwerg[m]: we use that method in my downstream as a custom cleaning inband thing since the hpe tools will let you do the work in band15:57
JayFAnd iirc it still needs a reboot to take effect because the wipe actually happens on the next boot, so I'm not sure how much you save by doing it out of band15:58
Sandzwerg[m]dtantsur: I also only heard from it now because a colleague mentioned it. It's mentioned here: https://www.dmtf.org/sites/default/files/standards/documents/DSP2046_2017.3.pdf or what kind of reference do you mean? 15:59
dtantsur#Drive.SecureErase ah cool16:01
dtantsurDo you have hardware that actually implements that?16:01
Sandzwerg[m]JayF: the colleague mentioned it as a possible alternative to normal cleaning as we have some trouble with network during cleaning that is partly the fault of the constraints the network hardware we use has and partly of the driver we written internally but it means that we frequently run into situations where network and thus cleaning fails. That's why I also found https://bugs.launchpad.net/ironic/+bug/212170216:02
Sandzwerg[m]I must say I haven't checked yet. Apparently HPE isn't the only vendor to support  this. We have HPE, Dell and Lenovo I could check if any of the stuff we have supports this16:03
Sandzwerg[m]IMHO for us it's short term not an alternative to fix our cleaning mess but it might be useful and interesting for ironic so I thought I ask if anyone even heard of it before or has any experience16:04
TheJuliaI think I remember seeing it in Lenovo16:43
* TheJulia makes a giant pot of coffee and offers coffee to everyone in IRC17:01
* Sandzwerg[m] just got fresh tea17:01
TheJuliaI feel like I'm the person in charge of trying to push discussion along17:07
TheJuliaat least, that feels like my role today17:07
Sandzwerg[m]with a websearch for redfish secure erase I found https://github.com/dell/iDRAC-Redfish-Scripting/blob/master/Redfish%20Python/SecureEraseDevicesREDFISH.py and took a look at a R770 we have. There I see the SecureErase action at least for the disks that are in the part of the BOSS card and for something attached to the "CPU" as well, that are probably the NVMes that are also there. Need to check if it's both or only one though.17:47
Sandzwerg[m]But first look seems okay. So yeah there seem to exist hardware that supports this. I might take another look next week but for now it's weekend for me. Have a good one everyone o/17:47
JayFdtantsur: you are correct in your initial comment that AFAICT the support for this in any gear I've seen has been in oem18:06
JayFdtantsur: and may have been part of my general push to try and make it easier to do $oem_things in OOB Cleaning :) 18:07
JayFclif: are you still working actively on Sandzwerg[m]'s bug? https://bugs.launchpad.net/ironic/+bug/212170218:08
opendevreviewMerged openstack/ironic stable/2025.2: fix: report a better error in validate-interfaces  https://review.opendev.org/c/openstack/ironic/+/97251118:12
cardoeRough first draft of network node attachment. https://gist.github.com/cardoe/ca985d5592b9ff1e07db1728eb5472af18:19
cardoeEven if you haven't read through the VXLAN specs that's okay because that approach is generic. Even if you use VLAN networks today with Neutron you've gotta manually configure your network node's switch ports. With this approach you don't have to.18:25
cardoeBut if you have read the VXLAN specs , the end conclusion I hope you come to is "a Neutron network node is no differently treated than an Ironic node and the same code and behaviors apply to both"18:27
cardoeSandzwerg[m]: yeah they've supported secure erase for a while.18:38
cardoetear in my eye for ISE18:39
cardoeISE brought to you by https://en.wikipedia.org/wiki/Hainan_Island_incident18:39
cardoeits the same secure erase that Ironic already does when having IPA do it. It's just triggerable out of band.18:43
clifJayF: Not actively working on it atm, should I prioritize it?19:34
TheJuliacardoe: TIL19:50
JayFclif: just unassign if you're not actively working on it, I might have a glance depending on how sticky it is19:53
clifgotcha, sorry about it19:53
JayFno problem just noticed it when it was mentioned in channel and I figured it had been swept away in the TBN tide :D 19:56
TheJuliacardoe: so, basically the key really being, for example, ironic-neutron-agent possibly reconciling and or mech driver going "oh, this also needs to be labeled/tagged"20:03
TheJuliaI guess, a *plus* side is the agent could have a bit more logic and cross-cutting awareness20:04
TheJuliacardoe: oh, so your proposing a mech driver to do it as it relates20:17
cardoeGimme a little bit.20:20
TheJuliaI guess, it makes sense and sort of scales depending on underlying network capabilities, the question might be how you separate between the 1 or more physical networks20:28
cardoeHeading back to my computer now. I made https://bugs.launchpad.net/ironic/+bug/2138129 as well for inspection. I forget if someone else was interested in that.20:47
cardoeTheJulia: So the Neutron Agent in the OVN world is fake. There is no actual agent. But there is.... it's complicated like much of Neutron.21:08
TheJuliaYeah, I'm trying to think of the right positioning21:09
TheJuliabecause it feels like there needs to be some weird level of physcial network awarenss blended in21:09
cardoeSo they need to get events from OVN so they spawn a thread that calls the ovn CLI which is dumping events as JSON objects and they're reading that. That's the "OVN agent".21:09
cardoeThere already is a level of physical network awareness blended in.21:09
TheJuliathat is just the ovn "agent" though, right?21:12
cardoeYes.21:13
cardoeThere must be 1 "agent" per chassis21:13
TheJuliaso basically the mech driver necessary can sit anywhere IF it has the configuration necessary to be able to map the aspects across21:14
cardoeYep.21:14
TheJuliaand it can create the ports, but it needs to know the local link data21:14
TheJuliaand in theory, physnet awareness should still be present mapping wise21:14
TheJuliabecause that gets pre-determined upon first bind21:14
cardoeYou actually have to specify it. It cannot even be empty.21:15
TheJuliaI think it can be if others are known, but it resets if I'm recalling correctly and then has to exist21:15
TheJuliathere is a known weird thing there21:15
TheJuliaso mental step back, wherever the mech driver is attached and running, it needs to have full config context, that can just be a file or config, but then it needs to look at the attached hosts for routers and bind the ports. Alternatively we could look at going router-less, but its less of a direct hint to the physcial mappings (i guess.....)21:16
* TheJulia gets out red yarn21:17
cardoehttps://opendev.org/openstack/neutron/src/commit/944f3a93260fac8edbb63c844cfdf99fa970a81c/neutron/plugins/ml2/drivers/ovn/agent/neutron_agent.py#L8821:17
cardoeIf ya want I'll google meet21:17
JayFI would lurk such a chat just like I'm lurking this ;)21:17
cardoeBut essentially each of those ports I mention at the top of the file (and even some more) get scheduled to a OVN chassis (or multiple for HA)21:18
cardoeI've yet to implement this for HA fwiw.21:18
cardoeBut I don't see how it would be any different.21:18
TheJuliayeah, shouldn't be any different really21:19
cardoeSo let's take the DEVICE_OWNER_ROUTER_INTF as an example. It's the internal side of a router. OVN is only going to schedule that port to an agent_type=OVN_CONTROLLER_GW_AGENT21:19
cardoehttps://www.irccloud.com/pastebin/8XJw7t19/21:20
cardoeSorry hope a snippet is okay.21:20
TheJuliadigesting mentally21:21
cardoeYou know... rough first draft missed some pre-reqs.21:21
TheJuliawell, I'm wonder how we really trigger this cleanly so I need to mentally wrap that in my head21:22
cardoeYep understood.21:22
cardoeSo we walk through each gateway_agent. Right now I'm not playing with AZs but you can further filter on those as well. Cause the port will have the AZ mentioned in the create_post_postcommit() already.21:23
cardoehttps://cardoe.com/neutron/evpn-vxlan-network/admin/data-center-networks.html#physical-layout21:28
cardoeLet's say my neutron network node is server1 in that diagram21:29
cardoeSo in the above call gateway_agents is a list of NeutronAgent objects and the list has 1 item in it and that item references server121:29
cardoeagent1_mappings = gateway_agents[0].chassis.other_config.get("ovn-bridge-mappings", "")21:30
cardoeagent1_mappings = agent1_mappings.split(",")21:31
TheJuliaokay, so if that info is available, the decision makin can be determined outside of the individual node itself, that is as long as we don't need to do anything else on the node itself locally that we can't orchustrate via the bindings21:34
cardoehttps://www.irccloud.com/pastebin/gzc3FKNy/21:34
cardoeI forgot to include the physical network.21:35
cardoeBut assume that I did.21:35
cardoeThis is where https://review.opendev.org/c/openstack/ironic/+/964570 comes into play.21:36
TheJuliayes21:36
cardoeAnd https://review.opendev.org/c/openstack/neutron/+/965053 _bind_port_segment()21:37
* JayF starts pondering how this would intersect with TBN in this kinda design. I guess we'd send a different physical_network to neutron based on what goes where? 21:37
TheJuliablarg, we just got buzzed by a jet21:37
cardoeCause it'll see "oh you're making a VNIC_BAREMETAL port which has a physical_network set. Let me see if theres a VLAN segment for that physical network... if not let me create it."21:38
TheJuliahmm21:38
cardoeSo now it creates it and we ultimately bind_port() to the VLAN segment21:38
TheJuliaperhaps jumping on a call might be better21:38
cardoeYep.21:38
cardoeJayF: I really want this to work with TBN. I need to play with the simulator.21:39
TheJuliahttps://meet.google.com/yvd-zznx-yxs21:39
JayFnope, I saw the timer countdown in the corner lol22:40
cardoewhelppp that's that. :-D22:40
TheJuliahttps://meet.google.com/mjd-qavb-epr22:40
TheJulianooooooooooooo, we must finish!22:40
cardoeAnyway. I'm all for explicit over implicit. But I understand compat.22:40
TheJuliawe are sooooo close22:40
cardoeironic-prometheus-exporter is broken cause tinyipa has gone away... https://zuul.opendev.org/t/openstack/build/f11e9d7824044bbbb1bb0eecc9513a29 https://review.opendev.org/c/openstack/ironic-prometheus-exporter/+/97107223:08
opendevreviewJulia Kreger proposed openstack/ironic-specs master: VXLAN networking  https://review.opendev.org/c/openstack/ironic-specs/+/95940123:45
TheJuliale sigh23:45
TheJuliaokay, I'll take a look at that tomorrow23:45
TheJuliacardoe: revised spec document above ^23:45

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