Tuesday, 2026-08-11

iurygregoryTheJulia, hey, we got some machines to test on, but we failed to provision them due to high latency (the controlplane was in DC and the Lenovo worker in another DC)01:08
iurygregorywe reached out to our Ecosytem Partner with Lenovo to see if they would be able to test..01:09
opendevreviewMerged openstack/ironic stable/2026.1: Interpolate values for comparison operators in inspection rules  https://review.opendev.org/c/openstack/ironic/+/100036903:55
opendevreviewMerged openstack/ironic master: Fix dbsync upgrade crash with missing tables from newer releases  https://review.opendev.org/c/openstack/ironic/+/100028103:55
opendevreviewJacob Anders proposed openstack/ironic master: Fix BIOS periodic task race that skips subsequent clean steps  https://review.opendev.org/c/openstack/ironic/+/100040604:50
opendevreviewJacob Anders proposed openstack/sushy master: Fix virtual media boot on Quanta QuantaEdge EGN77C-2U  https://review.opendev.org/c/openstack/sushy/+/100040805:11
blanson[m]Hello ironic ! I've been building an out-of-tree side package for my company for a little while now, that hooks into vanilla ironic without forking it, using stevedore entry points to register custom ironic.hardware.interfaces.management mixins (subclassing/extending ipmitool + redfish management interfaces) plus a couple of custom ironic.inspection.hooks (talking to our Netbox and internal inventory system during08:38
blanson[m]inspection/deployment/cleaning/etc..). It seems to work great so far and honestly feels like exactly what these extension points were designed for, but before I write up a blog post walking through "how to build an out-of-tree ironic driver/hooks package": is this actually a sane/supported pattern from your POV, or am I about to document an anti-pattern?08:38
fricklerblanson[m]: no matter what the ironic teams thinks I certainly would like to read more about it, as we're also doing a tight integration with netbox as inventory source09:10
blanson[m]frickler: I've had a couple of people ask me already so I might do it anyways, but with or without a mention at the end that says: "don't do it, ironic people hate it" :)09:15
dtantsurblanson[m]: hey, from a brief description it sounds like you're extending things that are designed to be extended10:02
dtantsurI'd be also curious if there are ways to make life easier for you, so please do share your future post :)10:02
blanson[m]dtantsur: for the inspection hooks this looks like it was designed for this so I'm fairly confident. for the management drivers and hardware-types, not as much. essentially what I'm doing is subclassing the existing redfish/ipmi hardware type and management driver by a combination of the original class + my "mixins" which are done like: class InfomaniakRedfishManagement(NetboxVerifyMixin, redfish_management.RedfishManagement):10:06
blanson[m]pass and class InfomaniakRedfishHardware(RedfishHardware): which only overwrite supported_management_interfaces with -> return [InfomaniakRedfishManagement] + super().supported_management_interfaces ? 10:06
blanson[m]if that makes sense 10:06
blanson[m]inside the NetboxVerifyMixin, I then write decorated functions with @base.verify_step(priority=50) (or other steps decorators) to do stuff on internal systems during the machine's lifecycle 10:07
blanson[m]and btw, I'm having a blast doing this, the whole project is super well done and feels really good to work with, so kudos to you guys :D 10:17
dtantsurThanks :)10:20
dtantsurAs more or less the author of the current driver architecture, I approve of what you're doing :)10:20
blanson[m]ok so I'm not completely off the rails here, that's good to know ! thanks ! :D 10:29
iurygregorygood morning ironic11:45
TheJuliagood morning12:25
* TheJulia tries to caffinate for 5 hours of meetings12:25
cardoehuman body cannot handle that much caffeine 13:20
cardoeblanson[m]: That's the same thing we're doing. Though we're using Nautobot instead of NetBox. My folks did the inspection hooks for redfish and made it more generic for the purpose that you're doing.13:22
JayFblanson[m]: just make sure to read the release notes well on upgrade. We do change those interfaces at times, and their underlying implementations13:34
TheJuliacardoe: how many jolt colas does that mean?!13:37
cardoeblanson[m]: yeah share some more info and I'll make sure to CC you on changes.13:37
cardoeblanson[m]: like https://specs.openstack.org/openstack/ironic-specs/specs/not-implemented/inspection-steps.html might be of interest to you13:38
blanson[m]cardoe: wait did I not read this ? I went with my shovel into the code I didn't even read the specs 13:39
blanson[m]great move by me 13:39
blanson[m]thanks !13:39
cardoeI'm refactoring the driver objects as we speak to nail down typing a little bit.13:40
blanson[m]and yeah, my current philosophy for upgrade was to break preprod first, and find out what was changed, but release notes work as well I guess :D 13:40
JayFYeah, we do treat those driver interfaces as an API so we should always project when they are changing. Since you are subclassing our existing classes though, you may want to read the diff to be safe13:41
opendevreviewKonstantinos Karampogias proposed openstack/ironic master: Add NIC identity fixture tests using real hardware JSON responses  https://review.opendev.org/c/openstack/ironic/+/99703713:46
opendevreviewKonstantinos Karampogias proposed openstack/ironic master: api-ref: improve firmware hw identity field documentation  https://review.opendev.org/c/openstack/ironic/+/100046313:46
cardoeSo to be clear, I'm not BREAKING the API. I'm just clarifying them with typing. There's a few functions which through Python's loosy goosy approach means that 1 driver's method signature is one thing and another is another signature. So I'm having to make a choice to which is correct. So that's the "break".13:48
iurygregoryfolks if you need review on something today feel free to ping me, i'm checking the ironic-week-prio today o/13:51
cardoeiurygregory: yeah I'd appreciate some review on the ironic-week-prio. I've got another patch I haven't added in there cause I haven't tested it yet but it adds MultiPartUpload support to sushy.14:07
cardoeIf you wanna give some feedback on that. I don't have cycles right now to test but it should work with iDRAC9 and definitely iDRAC10.14:07
iurygregorycardoe, ack o/14:08
iurygregoryI don't have cycles to test, but I will take a look at it and mention to janders o/14:08
cardoeThis is what Dell is using for their firmware applying tooling.14:08
TheJuliabrraaaaains14:08
rpittaubrains on ice possibly, it's starting to be way too hot again ;/14:10
TheJuliablans:(14:10
TheJuliaerr14:10
TheJuliawell, that kind of worsk14:10
TheJuliaworks14:10
rpittauif anyone has some few minutes I think this https://review.opendev.org/c/openstack/ironic/+/989994 is ready for approval :)14:11
rpittauand the other next 2 in the chain14:11
rpittaustill need to review the 4th one14:11
iurygregoryrpittau, looking now14:11
rpittauthanks iurygregory :)14:12
iurygregorymight take some time to read trough the chain14:12
rpittauonly the 1st one is kind of long, the others are few lines 14:12
iurygregorysince things are in chain, I don't think the Depends-On was required O.o, but ok14:21
rpittauoh yeah we can point that as a nit14:22
opendevreviewMerged openstack/ironic bugfix/37.0: Interpolate values for comparison operators in inspection rules  https://review.opendev.org/c/openstack/ironic/+/100037114:33
opendevreviewVerification of a change to openstack/ironic master failed: Add state, target_provision_state, and duration_seconds to node history  https://review.opendev.org/c/openstack/ironic/+/98999415:00
opendevreviewVerification of a change to openstack/ironic master failed: Populate node_history state fields  https://review.opendev.org/c/openstack/ironic/+/99320815:00
opendevreviewVerification of a change to openstack/ironic master failed: Add request context user tracking to node history records  https://review.opendev.org/c/openstack/ironic/+/99390115:00
opendevreviewDoug Goldstein proposed openstack/ironic master: docs: add deployment scenarios and user personas guide  https://review.opendev.org/c/openstack/ironic/+/98670215:10
cardoeJayF, dtantsur, TheJulia: ^ I'd appreciate your feedback on that... I tried to take into account JayF's review but also the conversation that's taken place over the weeks/months since I originally wrote it.15:13
* dtantsur bookmarks15:15
dtantsurcardoe: there seem to be an overlap with the (unfinished) refarch documentation15:16
TheJuliaI can't guarantee reviews today. So many hours of meetings today15:16
cardoedtantsur: yep I'm aware.15:16
opendevreviewDoug Goldstein proposed openstack/ironic bugfix/37.0: fix runbook create notifications  https://review.opendev.org/c/openstack/ironic/+/100049615:18
opendevreviewDoug Goldstein proposed openstack/ironic bugfix/38.0: fix runbook create notifications  https://review.opendev.org/c/openstack/ironic/+/100049715:19
JayFhttps://wiki.openstack.org/wiki/OSSN/OSSN-0106 is out15:53
TheJuliacool cool, thanks15:54
opendevreviewMerged openstack/ironic master: Redfish: retry transient 409 conflict on power-on  https://review.opendev.org/c/openstack/ironic/+/100006016:23
opendevreviewDoug Goldstein proposed openstack/ironic master: docs: add deployment scenarios and user personas guide  https://review.opendev.org/c/openstack/ironic/+/98670216:25
opendevreviewDoug Goldstein proposed openstack/ironic master: docs: add deployment scenarios and user personas guide  https://review.opendev.org/c/openstack/ironic/+/98670216:27
cardoeJayF: please let me know if that wording for a description of those possible users makes sense16:29
cardoeMy intention of this is to be less focused on the technical aspects like the refarch guide is and more focused on the very high level how do the pieces fit together and where do I or people in my org fit into16:30
JayFcardoe: one thing I think would help? Size down from "Rackspace sized org" to "medium size org" -- e.g. the comment on the older patchset about the weird middle cloud op role16:32
JayFcardoe: in every org I've worked EXCEPT Rackspace and Yahoo; that role didn't exist at all16:32
JayF(and at Rackspace it barely existed; but I assume it's gotten more mature now)16:32
cardoeSo I put a note that said maybe these two roles are one.16:32
JayFcardoe: my review comment re: node owner also applies to lessee on ln 281/28516:33
cardoeYes good call out.16:34
JayFrest of the edits LGTM in a diff-of-a-diff but I'll do a full from scratch reread before +2 once it's updated16:34
cardoeBut does making something less about the technical side of things make sense?16:34
JayFoh, the doc you're writing is very good16:35
JayFin terms of orientation16:35
cardoeI've found that I've been speaking to folks about Ironic less about the technical aspects and more about the shape of where it fits. I started this doc when some folks I was speaking to recorded our call and shared the transcription to me. So I had Claude take that and start a doc from it. Obviously like you called out, it started Rackspace shaped but I've been trying to add in the other shapes and sizes we've been16:38
cardoediscussing as a group over the past few months.16:38
cardoeI thought it could be useful to others evaluating using Ironic.16:39
JayFyeah. I don't think it's capturing all use cases16:39
JayFbut we can add to it16:39
JayFI commented on dtantsur's similar change, when I -1'd it for the "de-enroll to help with capacity issues" advice, but really it was more about use cases emerging that the whole community wasn't aware of 16:40
JayFgetting them written down will help ensure we are all sharing a mental model16:40
cardoeyeah the de-enroll made me cry a little inside as well but it is what it is.16:43
JayFI don't love it, but upon reflection I was more bothered by the idea an entire operating model for Ironic existed I wasn't aware of16:44
JayFI care a lot more about understanding all the ways people use Ironic than I do about *how* they use Ironic16:44
JayF(e.g. if you abuse Ironic, it's OK, just tell me so I know why/how/etc)16:44
opendevreviewEsther Domfeh proposed openstack/ironic master: Add state, target_provision_state, and duration_seconds to node history  https://review.opendev.org/c/openstack/ironic/+/98999416:52
opendevreviewEsther Domfeh proposed openstack/ironic master: Populate node_history state fields  https://review.opendev.org/c/openstack/ironic/+/99320816:52
opendevreviewEsther Domfeh proposed openstack/ironic master: Add request context user tracking to node history records  https://review.opendev.org/c/openstack/ironic/+/99390116:52
opendevreviewEsther Domfeh proposed openstack/ironic master: Add power tracking telemetry in node history  https://review.opendev.org/c/openstack/ironic/+/99634716:52
cardoeJayF: yep makes sense. My hope for this is document to encourage people to use some of the patterns we know about before trying to invent there own. And I was gonna end it with if you've made a new pattern not mentioned here TELL THE IRONIC TEAM and we can add it to the doc.16:54
cardoeThat's why I really wanna see what blanson[m] is doing.16:54
opendevreviewMerged openstack/ironic master: api: Add schema for drivers API  https://review.opendev.org/c/openstack/ironic/+/99951016:55
opendevreviewMerged openstack/ironic bugfix/38.0: Interpolate values for comparison operators in inspection rules  https://review.opendev.org/c/openstack/ironic/+/100037016:55
JayFhttps://us06web.zoom.us/j/84752772101?pwd=cWGuPg94g4fh4IiH7jXSUNqOh8ebHX.1&jst=2 GR-OSS review jam, I'm grabbing a drink then will join17:01
cardoewho powered off github?17:02
cardoeI need a baremetal node power on please. :)17:02
JayFiurygregory: https://review.opendev.org/c/openstack/ironic/+/986597 is basically radioactive until you re-review it, please prioritize17:10
iurygregoryJayF, we are still trying to test this, I've mentioned to TheJulia yesterday17:12
JayFplease put that in gerrit?17:12
iurygregorysure17:14
iurygregorydone17:14
blanson[m]cardoe: 17:32
blanson[m]is some sort of github template of my work ok ? for obvious reasons I cannot share company code, but I can share the entire design with just empty logic 17:33
JayFanything you can safely share about approach :) even if you psuedocode in internal_lib.call_our_cmdb('it deployed yay')17:35
JayFif you can say, what company are ya at?17:35
blanson[m]Infomaniak, from Switzerland :)17:36
blanson[m]and yh I was gonna probbly replace everything with some pseudo-code, at least for the sensitive parts17:37
TheJuliacardoe: I have a UI, you can click a button from your phone maybe ;)17:39
cardoeblanson[m]: absolutely. Just looking for a description of your use cases. Like an example class that's an override and the functions can be a pass.17:40
blanson[m]sure, I'll draft something up and send it to you so you can have a look17:42
* TheJulia needs a migraine reduction plan17:45
TheJuliaJayF: sorry I missed the jam, I had an emergent and sudden meeting with my home owner's association general manager17:53
cardoeTheJulia: how could you lawn not be the correct color!?18:05
cardoeblanson[m]: like https://github.com/rackerlabs/understack/blob/main/python/ironic-understack/ironic_understack/netdev_hardware.py maybe with some comments as to what ya depend on18:06
* JayF -> early EOD, not feeling well am gonna get some rest18:11
TheJuliacardoe: the pond behind my lot which also crosses on to my lot.... and the attached creek, and the attached pond like like 10-12 properties away18:29
cardoethe pond is not the right color?18:33
TheJuliano, got someone trying to rip the pond/fountains/creek out.18:34
cardoerm_work[m]: / rm_work: please open a PR to replace https://github.com/gophercloud/gophercloud/pull/3616 20:25
opendevreviewDoug Goldstein proposed openstack/ironic master: docs: add deployment scenarios and user personas guide  https://review.opendev.org/c/openstack/ironic/+/98670220:27
cardoeJayF: ^ I actually believe that's a good doc now.20:29
opendevreviewJulia Kreger proposed openstack/ironic master: dev/test: Enable graphical console in localdev config  https://review.opendev.org/c/openstack/ironic/+/100056620:37
TheJuliastevebaker[m]: I was poking at this recently and figured ^ would make sense.20:37
stevebaker[m]TheJulia: That looks good, thanks20:39
TheJulialocally I was trying to use podman instead of systemd, dunno20:40
TheJuliafwiw, we might be missing curl in the ubuntu container20:40
TheJuliaI spotted an error in debug output20:40
stevebaker[m]the container driver seems best for local dev20:43
TheJuliayeah, I was sort of thinking that20:44
opendevreviewJulia Kreger proposed openstack/ironic master: Add image_server_auth_hosts to restrict credential scope  https://review.opendev.org/c/openstack/ironic/+/99974422:09
opendevreviewJulia Kreger proposed openstack/ironic master: Change image_server_auth_permit_unknown_hosts default to False  https://review.opendev.org/c/openstack/ironic/+/99990722:09

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