Friday, 2025-06-06

opendevreviewminwoo seo proposed openstack/ironic master: Add `api-call` action for ironic inspection rule  https://review.opendev.org/c/openstack/ironic/+/94674100:50
dtantsurTheJulia: the patch got in merge conflict by my morning06:35
opendevreviewQueensly Kyerewaa Acheampongmaa proposed openstack/sushy-tools master: Add PATCH support for Redfish DateTime fields in Manager resource  https://review.opendev.org/c/openstack/sushy-tools/+/95092510:13
dtantsurCould I get some reviews on the bifrost CI fix please? https://review.opendev.org/c/openstack/bifrost/+/95184910:41
* TheJulia cries a single tear12:55
TheJuliaI guess I'm rebasing once I'm awake13:02
* TheJulia caffinates13:08
TheJuliadtantsur: sure, please revisit your -1 on https://review.opendev.org/c/openstack/ironic/+/950363 too ;)13:10
iurygregorycoffee!13:10
TheJuliayay keystone is simpler... kind of.... now13:10
TheJuliadtantsur: done13:11
TheJuliacoffee coffee coffee13:11
opendevreviewJulia Kreger proposed openstack/ironic master: Patch configdrive metadata  https://review.opendev.org/c/openstack/ironic/+/94667713:32
opendevreviewJulia Kreger proposed openstack/ironic master: Consider missing MTU invalid metadata  https://review.opendev.org/c/openstack/ironic/+/94938513:32
opendevreviewJulia Kreger proposed openstack/ironic master: Inject network config when configdrive is empty  https://review.opendev.org/c/openstack/ironic/+/95157213:32
TheJuliais there a song about rebasing?13:32
iurygregorynot that I'm aware, but there is a nice hello world song https://www.youtube.com/watch?v=yup8gIXxWDU 13:39
opendevreviewQueensly Kyerewaa Acheampongmaa proposed openstack/sushy-tools master: Add PATCH support for Redfish DateTime fields in Manager resource  https://review.opendev.org/c/openstack/sushy-tools/+/95092514:14
opendevreviewAbhishek Bongale proposed openstack/ironic-tempest-plugin master: Add Tempest tests for inspection rules in Ironic  https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/95176114:30
cardoeJust need 5 more patches to be +W to achieve my goal of only 25 items in ironic-week-prio14:33
cardoespeaking of rebases.... https://review.opendev.org/c/openstack/ironic/+/89801014:34
opendevreviewMerged openstack/bifrost master: Fix Keystone after their migration from WSGI scripts  https://review.opendev.org/c/openstack/bifrost/+/95184914:35
TheJuliaugh, yeah14:39
TheJuliathat one14:39
opendevreviewDmitry Tantsur proposed openstack/bifrost stable/2025.1: Fix Keystone after their migration from WSGI scripts  https://review.opendev.org/c/openstack/bifrost/+/95196314:52
dtantsurwe don't *need* to backport ^^^ but I guess it's a good hardening14:53
dtantsurmeanwhile, -1 revisited and cleared :)14:53
TheJuliadtantsur: thanks14:54
TheJuliacardoe: so, looking more about what your describing name issue wise, it appears to be around vlans specifically. Is that your understanding as well?14:55
TheJuliacardoe: I do love how they sort of imply they took the bad implication as the understanding in the cloud-init conversion script14:55
cardoeyeah that's the issue for me with vlans14:57
TheJuliaokay14:59
TheJuliaI think the issue, based upon different points of view, the mistake was putting an example of "eth0" in the metadata example as the example14:59
TheJuliaso then when cloud-init folks parsed that they went "oh, its a name!"15:00
TheJuliaand sort of locked on to it15:00
TheJulia:\15:00
cardoeSo basically the default name for a bunch of physical NICs is like 12 or 14 characters. The kernel or udev renames them to shorter aliases. Unless you've got vlans going... then they append the vlan ID to the long name and it's too long and boom.15:00
TheJuliacardoe: so I don't think we really, at least afaik, support vlan metadata generation, but it might be easiest to post-process the links down to uniqueness and just go "link1", "link2", etc15:00
cardoeYes. So my ask to the nova folks is to take that example out and be more clear that its anything or maybe suggest that UUID is best.15:00
cardoeBut I've been told that the value can be used in os-vif as an interface name15:01
TheJuliaIf you could create a verbose bug so we could track it, I think that would help because it was never really entirely clear it was just vlans until I went and tried to write a bug myself15:01
cardoeWhich project?15:02
cardoeI need a good way to tie bugs together too.15:02
TheJuliaI guess lets create one in ironic since it seems we might need to sanity check vlan use overall in our metadata stuffs15:02
TheJuliaand it could cross reference "oh, this is related to x,y,z in these other projects)15:03
cardoelaunchpad doesn't have a "relates to" option15:03
TheJuliaI know :(15:03
TheJulia.... I know plenty of folks who would start to build guiletenes if we were to suggest moving openstack to jira ;)15:03
TheJuliaunfortunately15:03
JayFyou're right; I'm only going to consent to a move to RT15:04
* TheJulia facepalms15:04
* TheJulia goes and walks the corgi overlord15:05
* TheJulia dares not make RT or Jira suggestions to the corgi... the response will be much like "I can see the neighbor's red golf cart"15:05
opendevreviewMerged openstack/ironic master: doc: Make port binding failure configurably fatal  https://review.opendev.org/c/openstack/ironic/+/95036315:09
dtantsurTheJulia: a whole bunch of minor comments on https://review.opendev.org/c/openstack/ironic/+/946677. I'm fine with W+1, just want to make sure you've seen them before I do so.15:13
cardoeI get enough pain and papercuts from jira.15:14
dtantsurdon't we all...15:14
JayFI don't do that tight of tracking downstream for my team right now. IDK how much longer I can avoid it but I'm trying :D 15:19
cardoeI try not to. But leadership loves them some jira15:21
TheJuliadtantsur: I'd really just like to make some progress to eventually get it as-is off my board, its easier to do follow-up issue items than continuing to carry a story sprint to sprint15:25
* JayF just died a little inside15:28
JayFI understand completely though :)15:28
TheJulialooks like some of your comments make sense, some others I think are a little misplaced based upon the data/contents/structure because we're not dealing with lists, but dicts, and if we just need the key value, then it makes sense to grab keys to keep it clean15:30
TheJuliaI'm going to make a follow-up item for my next sprint to address some of the follow-up items and sanity check vlan stuffs in it15:31
dtantsurTheJulia: are you referring to the fact that list(dict) is the same thing as list(dict.keys())?15:32
dtantsurbecause it is15:32
TheJuliaI think it gives you each object with the attached values, but now I feel the need to check15:33
TheJuliaoh, it seems to15:33
TheJuliaokay I stand corrected!15:33
dtantsurYep. Iterating dicts yields keys. I see your logic, but that's the way Python is.15:33
dtantsurBut since it's not obvious, maybe leave keys() in for clarity..15:34
TheJuliaThere was a time, and maybe I'm off my rocker (and it could have been py2...) but I felt like at one point you could yield keys and values at the same time15:34
dtantsurTheJulia: it was always itervalues (py2) / values (py3)15:34
dtantsuror wait, I'm saying nonsense15:35
TheJuliabut together, there was a syntax to do it as for k,v in blah15:35
dtantsuriteritems() / items()15:35
TheJuliait works when your handed tuples though which is maddening :(15:35
dtantsuryeah, this one15:35
TheJuliayeah15:35
TheJuliaat the end of the day it is all a blur15:35
dtantsur`for k, v := range m` is Go15:36
JayFfor k, v in myDict.items()15:36
dtantsuryep15:36
JayFused to be iterItems() in 2.x15:36
JayFor just for tupl in myDict.items() ... 15:36
TheJuliaIt is literally all blending together in my head at this point15:37
dtantsurJust wait a bit, I'll finally start forgetting Python and stop being such a nitpicking asshole in reviews :-P (when it comes to Python syntax, not in other cases)15:37
JayFI appreciate your detailed reviews... when they come in within the first handful of patchsets on a change ;) 15:37
dtantsurlol, I hear ya15:37
JayFotherwise you get whammied like cid just did to me, my automated cleaning via runbook change, 100% functional, but not arranged well 15:38
cardoehow's https://bugs.launchpad.net/ironic/+bug/2112655 ?15:38
JayF(good feedback and I'm glad I got it; just sucks to go from 'it's done' to lol no in one email)15:38
dtantsurTheJulia: I've +W'ed the patch now that you've seen my comments15:39
dtantsurI think the ones around logging and a few around edge cases are the only really valuable ones15:39
TheJuliadtantsur: much appreciated! I'm creating a new jira item now15:40
dtantsurwe need "no jira fridays"15:40
dtantsurlike "no meetings fridays" that someone of us already follow (with a varying degree of success)15:41
opendevreviewAbhishek Bongale proposed openstack/ironic-tempest-plugin master: Add Tempest tests for inspection rules in Ironic  https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/95176115:45
TheJuliaheh15:46
TheJuliacardoe: so I've also referened your bug link, because it looks like we don't support vlan sub interfaces, but sounds like it wouldn't work today at all and we're likely going to need to address that, so I'll try to pick that up next sprint15:51
TheJuliaor at least ,try to move the ball forward a little more15:51
TheJuliaI was originally thinking of backporting all this downstream, but more and more I'm leaning towards fix it in master, wait/see, and only backport when someone screams15:52
* TheJulia closes out downstream items... which upstream already addressed.15:58
cardoeSo what do ya mean vlan sub interfaces?16:18
cardoehttps://review.opendev.org/c/openstack/nova-specs/+/47181516:18
cardoehttps://review.opendev.org/c/openstack/nova/+/94122716:19
cardoeVasyl also added some tests for ironic16:25
TheJuliawell, each vlan interface is technically a sub interface16:51
TheJuliaoh, heh, its not even in nova yet, woot!17:08
TheJuliaone less thing to worry about at the moment17:08
dtantsurJFYI folks, a public holiday on Monday, so see you on Tuesday17:30
JayFo/17:33
opendevreviewJay Faulkner proposed openstack/ironic-python-agent master: Remove non-abstract methods from HWM  https://review.opendev.org/c/openstack/ironic-python-agent/+/95197717:49
opendevreviewJulia Kreger proposed openstack/ironic master: Advanced vmedia deployment test ops  https://review.opendev.org/c/openstack/ironic/+/89801017:53
TheJuliao/17:53
JayF\o17:55
TheJuliaI know Steve is doing some work in NGS, I think he would appreciate another set of eyes even if it is just glancing. He is trying to start to get security group programming to be a thing in it.18:01
JayFIs it done enough that it's likely to land in a week or two?18:03
JayFpart of why I've avoided it is to not load up all that context to disappear before it merges :D 18:03
TheJuliaunlikely, but some longer term input stuff might be helpful18:03
TheJulialike in particular, he is trying to muse his way through how to approach some of the problems and.. yeah18:03
JayFI may point clif at it next week as an opportunity to onboard to some of the networking code. NGS is actually kinda well-contained so can potentially be helpful with extremely-dusty openstack context. I won't get to it today and honestly my list for the next 2 weeks is probably longer than my ability to deliver anyway :/ 18:05
opendevreviewMerged openstack/ironic bugfix/28.0: Fix agent get_XXX_steps retries from being treated as not fresh agents  https://review.opendev.org/c/openstack/ironic/+/95152518:15
opendevreviewVerification of a change to openstack/ironic master failed: Patch configdrive metadata  https://review.opendev.org/c/openstack/ironic/+/94667718:20
TheJuliaack ack18:33
TheJulia... pondering clean steps stuff. Thinking logging the failed step, and all steps at start18:33
TheJuliadoes that seem... reasonable?18:33
JayFI would suggest you not look at that until my automated cleaning by runbook is revised -- I suspect I may end up with a good, single place to do it all18:37
TheJuliawell, It looks like it would largely be on error handling18:38
TheJuliafwiw, but I see your point18:38
JayFI will say that I had interest in especially a "cleaning was completed on node X with steps Y"18:38
JayFas an audit trail18:38
TheJuliaI guess logging the last step and logging the steps out of the gate as an history event make it pretty clean18:38
TheJuliaand I *think* both points are clean, but it will be intersting to see what you end up with the runbook stuffs18:39
JayFbasically my use case is18:39
JayFthere's some security breech, node X is accessed18:39
JayFI want to be able to show them in a simple, concise way: we got the data off using the process you signed off on18:39
TheJuliaokay, then I think we need to log step start, step end18:41
* TheJulia will need to ponder a little more then18:41
TheJuliain error handling cases, error on x step is what we need18:41
TheJulia(which is easy enough, we just put that into error handlers)18:42
JayFI was thinking more clean start [step list], clean end [step list] and a set of steps18:45
JayFs/and a set of steps/and not put a history item per-step/18:45
JayFbut I guess we don't persist that18:45
JayF(the full list of steps for a run)18:45
JayFBTW; this entire story is some of why automated cleaning via runbook was desirable; an API contract that says "cleaning will always do X" 18:46
TheJuliaI'm not sure we inject steps as we *really* get going18:46
TheJuliabut, there is a lot there18:47
TheJuliaso, I definitely want to log on failure the step we were executing just so it is loud and clear when there was an issue18:47
JayFyeah so I guess log steps at start, log successful completion, and log if anything fails 18:47
JayFyou can use 2 history entries to get full story in any case18:48
TheJuliaotherwise, you must dig up the stone tablets of translation and then consult with the winds of destiny while powering the stargate with the stationary bicycle18:48
JayFI was just going to stuff more crap into one of our freeform json fields /s 18:48
JayFoh, just as an aside: do you think there'd be any interest in moving up instance_info/display_name to a top level field; like instance_name? Or alternatively structuring instance_info in another; more queryable way? I was tossing around ideas about this yesterday with adamcarthur5 and I can't get the idea of node.instance_name outta my head18:49
TheJuliaI think that kind of makes sense to do18:50
TheJuliaor at least enable18:50
TheJuliaI can see folks who use it18:50
TheJuliathere has always been this weird tension between operators who want to name the hardware, and then independnetly have a separate name on the node, and then confusion when ironic node name doesn't match the thing18:50
JayFI would probably hook up whatever patch nova sends us today to set a display name to automatically set node.instance_name as a backwards compat18:50
TheJuliareasonable, super resasonable18:50
JayFand then update the nova virt driver to send the new correct thing later18:50
TheJuliayah18:51
JayFadamcarthur5: ^ that's the easy way to solve the instance_name querying problem for big red button; let me tackle making instance name queryable, and you can just worry about the DR API features 18:51
TheJulia.... There was something else I was thinking of, but I've lost my train of thought completely18:52
JayFI'll point my coding robot at it during lunch and see if it can come up with something plausible enough that I can get a thing shipped quickly18:52
TheJuliaI also have my 1-on-1 soon18:52
JayFclean steps history logging was the original topci18:52
TheJuliaoh yeah, I'm good there18:52
TheJuliaI was thinking about use18:52
adamcarthur5Ack JayF18:53
JayFexposing instance_name is such a nice UX enhancement for the "lessee manages their own nodes" story \o/18:53
opendevreviewMerged openstack/ironic stable/2024.2: Fix agent get_XXX_steps retries from being treated as not fresh agents  https://review.opendev.org/c/openstack/ironic/+/95030919:03
opendevreviewVerification of a change to openstack/ironic stable/2024.1 failed: Fix agent get_XXX_steps retries from being treated as not fresh agents  https://review.opendev.org/c/openstack/ironic/+/95031019:03
opendevreviewMerged openstack/ironic bugfix/28.0: Control port updates with update_pxe_enabled flag  https://review.opendev.org/c/openstack/ironic/+/95171819:03
opendevreviewMerged openstack/ironic stable/2024.2: Control port updates with update_pxe_enabled flag  https://review.opendev.org/c/openstack/ironic/+/95171619:08
cardoeSo so close... we're at 2819:19
opendevreviewVerification of a change to openstack/ironic stable/2024.1 failed: Fix agent get_XXX_steps retries from being treated as not fresh agents  https://review.opendev.org/c/openstack/ironic/+/95031019:32
opendevreviewVerification of a change to openstack/ironic master failed: Patch configdrive metadata  https://review.opendev.org/c/openstack/ironic/+/94667719:43
cardoeSo I'm looking at the docs around runbooks I again see that system-scope is required for doing stuff with runbooks.20:42
cardoeI'm gonna pitch this out there... can we define another role like "manager"?20:42
cardoeI understand the history around system scope and I understand the history around Ironic.20:43
cardoesystem scope just is big and wide and we don't really want to use it.20:44
cardoeHoping to tailor some of this and I know I've asked a bunch of times around owner having access and there's been some teeth gnashing about it.20:45
JayFcardoe: no it's not21:03
JayFcardoe: it's required to have system-scope to create *public* runbooks. It's basically an either or: runbook has an owner and belongs to that project OR runbook is public and has no owner21:04
JayFbut essentially we did not want to permit cross-project runbook shenanigans which would post an obvious issue in multitenant cases21:04
cardoeoh21:05
JayFthis is to prevent people from doing things like, project x using a runbook created by project y, then project y updates the runbook to say "and give me all your data"21:05
JayFso created in project, for project, or created at a system level, for the whole system21:06
JayFand this is per-runbook, kinda inspired a little by image visibility21:06
cardoeSo here's what I'm mentally wanting... I want a runbook called "latest_dell_r7615_bios" let's say. It'll be owned by the same project that owns all my ironic baremetal nodes. We can use that during cleaning or whatever. BUT then I want the people that have leased the nodes from me to be able to run that same runbook as a service.21:07
JayFI think in that case, it'll have to be a system-scope runbook21:07
JayFmainly because we didn't want to go down the route of a full-on sharing model21:07
JayFI wouldn't be opposed to one existing; but it'd have to be well designed and it'd be a lot of work21:07
cardoeSince there's no way to do an api-call in the runbook to lookup what the actual latest bios is. I would need members of my ironic baremetal node project (the baremetal admins if you will) which are the owners of my baremetal nodes to be able to update that runbook.21:07
cardoeI mean I'm fine saying gitops has to update it and gitops uses a better scoped user.21:08
cardoeBut I do see 3 classes of users21:08
JayFI'm going to disconnect now, I have something personal to take care of. I'm happy to continue this conversation later I just don't have the capacity for it now.21:09
cardoeabsolutely21:09
JayFWe have a sick animal in the hospital in very bad shape21:09
cardoeoh no. I'm sorry to hear. Go be there21:09
JayFwe just were, and I tried to pick up work and failed, so now I'm just going o/ thanks for the kind words21:10
opendevreviewMerged openstack/ironic stable/2024.1: Fix agent get_XXX_steps retries from being treated as not fresh agents  https://review.opendev.org/c/openstack/ironic/+/95031022:12
cardoeSo https://review.opendev.org/c/openstack/ironic/+/951719?usp=search is no longer a clean backport. Are we okay with closing that and not backporting it there?23:09

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