Wednesday, 2025-01-29

opendevreviewVerification of a change to openstack/ironic-python-agent master failed: Trivial: fix reference of unusable i18n prefix  https://review.opendev.org/c/openstack/ironic-python-agent/+/94009601:16
opendevreviewMerged openstack/ironic-python-agent master: Replace crypt module  https://review.opendev.org/c/openstack/ironic-python-agent/+/93717503:00
opendevreviewMerged openstack/ironic-python-agent master: Trivial: fix reference of unusable i18n prefix  https://review.opendev.org/c/openstack/ironic-python-agent/+/94009604:45
cardoeI’ll review the rules stuff tomorrow. Got released from working earlier so wandered off.04:50
cidThanks cardoe07:14
rpittaugood morning ironic! o/08:01
*** tkajinam is now known as Guest733409:05
opendevreviewVerification of a change to openstack/ironic master failed: Add lsblk output to metal3 logs  https://review.opendev.org/c/openstack/ironic/+/93997610:50
opendevreviewMerged openstack/ironic-python-agent-builder master: Deprecate ironic-lib  https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/93928811:03
TheJuliagood morning13:57
opendevreviewMerged openstack/ironic master: Add lsblk output to metal3 logs  https://review.opendev.org/c/openstack/ironic/+/93997614:11
cardoeGood morning.14:40
cardoecid: I was gonna ask you to weigh in on https://review.opendev.org/c/openstack/ironic/+/940277 cause I think that’ll be useful for rules as well.14:41
cardoeI kinda hate how we have the inspection hooks vs default_hooks option.14:41
cardoeI’m also thinking we need another config file or something for the plugins. Or maybe each plugin can have its own section prefixed with inspect_ ?14:42
TheJuliabrraaains14:42
* TheJulia sighs14:42
cardoeSome of these like the PCI devices are awkward as heck to configure.14:42
TheJuliawhich devices?14:43
cardoeJust brain dumping while I sit on this bus for my next assignment.14:43
TheJulia:)14:43
cardoehttps://opendev.org/openstack/ironic/src/commit/81b3612046b6b4de9a3d106c0f86ef7641c29973/ironic/drivers/modules/inspector/hooks/pci_devices.py#L3314:46
cardoeIn ironic-inspector each hook had its own section but now we’ve collapsed it into 1 [inspector] section. So we collapsed stuff into parsing JSON from strings.14:47
cardoeAnd on some we threw in the towel and the config option is a path to another file that’s the config for the hook.14:48
* TheJulia blinks14:48
cardoeSo part of me feels like we should just have a path and each hook gets $path/$hook.conf (or yaml) as its config.14:50
cardoeLike [inspector]/hook_config_path14:50
cardoeSo what I’m trying to do with inspection hooks and rules is that we have hardware flavors. They are detailed with CPU, RAM, PCI, and disk info. I want to detect those and set it appropriately.14:53
cardoeI’m happy to write up a post somewhere with a concrete example. Maybe guest blog something for jamesdenton14:54
cardoeIt feels like a correct operator use case but I could be wrong.14:54
opendevreviewMerged openstack/ironic-specs master: enable sphinx-lint on priorities and specs  https://review.opendev.org/c/openstack/ironic-specs/+/94019914:54
TheJuliaA concrete example would help, but that kind of makes sense, espescially if your driving some of the input from other processes which needs to land in those configurations14:55
*** Guest7381 is now known as bbezak14:56
cidcardoe, re: 'weigh in on ...', sure thing!15:00
opendevreviewJulia Kreger proposed openstack/ironic-specs master: OCI Container Registry Image Source  https://review.opendev.org/c/openstack/ironic-specs/+/93361215:06
TheJuliaJayF: fixed your nit15:06
TheJuliaso phase might make sense to be an enum if the phases are well documented, scope I doubt it based upon the 2nd patch in the inspection rules patches15:32
TheJuliaAt the same time, We likely need to ask ourselves "what is being migrated from" and "did anyone do anything we don't quit expect" (They always do!)15:33
JayF+2A on the OCI spec; was going to leave it for more reviews but patches exist for a reason :)16:18
TheJuliaIndeed :)16:19
TheJuliaNow! Bootable Containers! Muahahahaha16:21
TheJuliaOh wait, got that working :)16:21
* JayF goes back to shoveling tech debt16:22
JayFform of: broken inspector grenade and ironic-lib16:22
* JayF away16:22
JayF(actually I need to do a devstack for cid and I to use to poke at kea later, then I'm going to do that)16:22
opendevreviewMerged openstack/ironic-python-agent stable/2024.1: Fix RAID volume name  https://review.opendev.org/c/openstack/ironic-python-agent/+/93995916:23
TheJuliaheh16:23
TheJuliaJayF: such is life :)16:23
* cid Kea, finally :D16:25
JayF^^^ in order for us to make good progress on kea, we need help reviewing and polishing off inspector rules16:26
JayFIt's been at like 99% for a while 16:26
kubajjI have an issue with ipa-tempest-uefi-redfish-vmedia-src, https://zuul.opendev.org/t/openstack/build/ba95a977708d4eb2a607d68aeaa36bbb , it says that there is conflicting versions wanted for pbr, this doesn't look just like some anomaly that could go away with recheck, right?16:33
opendevreviewMerged openstack/ironic-specs master: OCI Container Registry Image Source  https://review.opendev.org/c/openstack/ironic-specs/+/93361216:34
TheJuliaJayF: I reviewed the inspector rules patches this morning, I think they are in relatively good shape although I feel like there is some missing context behind the scope value. Having not really been a user of the feature in inspector, I've only really just noticed something which made my eyebrow raise up like any typical vulcan science officer16:34
JayFthat has been a repeated point of WTF for us as well, quite frankly16:35
TheJuliais in the data model on the inspector side?16:35
TheJuliajust not exposed?16:35
JayFit's documented in the spec16:36
JayFcid: if you're around, do you recall the deal around inspector scope?16:36
opendevreviewcid proposed openstack/ironic master: Apply Rules: inspection rules migration  https://review.opendev.org/c/openstack/ironic/+/93921816:36
TheJulia... oh, okay16:37
opendevreviewcid proposed openstack/ironic master: DB: inspection rules migration  https://review.opendev.org/c/openstack/ironic/+/93931816:37
TheJuliaThere was another field which cardoe was wanting to be an enum instead, and I looked back at the structure and I don't think an enum fits exactly given the defaults16:37
TheJuliait might actually be scope, but there was a second value he raised it on16:38
TheJuliaBut aside from that, they generally look good from me16:38
TheJuliaFWIW16:38
cidYeah. I just posted a response to the comment and updated the commit message.16:40
TheJuliaI'm personally of the "doesn't need to be perfect" to be "good" camp16:41
cidThe scope field is a bit confusing, initally I thought it was a node uuid, but it's just a way to associate a node with a rule, just like traits.16:41
TheJuliathat whole, perfection is the enemy of good thing16:41
TheJuliacid: ... I dind't see it getting invoked anywhere, is it just foundation to build upon later?16:42
cidYeah, just foundation to build upon later. 16:42
cidFrom a little meet we had with Dmitry, there's a possibility it gets dropped for 'traits'16:43
TheJuliaAre we building now, or later?16:43
TheJuliaI guess I'm wondering if we shouldn't include extra foundation because of present uncertinty16:44
TheJuliawhich stinks, but... forward progress is better than no progress16:44
TheJuliaand adding a field is easy16:44
JayFhonestly, so is removing a field we've never populated16:44
cidWe think it will be best as a follow-up, alongside other stuffs too, (i tried to capture those in the commit message so that I will always be reminded)16:44
JayFmy biggest thing is I want those patches to stop churning and be good enough to land16:44
TheJuliaYeah, I commented on the nullable stuff16:45
TheJuliabecause its fine, and matches existing pattern16:45
TheJulia... (and frankly the requirement for the informational fields to be set values also makes unit testing WAY more complicated at higher levels...)16:46
TheJulia(speaking from experience here....)16:46
keekzi'm trying to set up automated cleaning with deletion and recreation of the raid. that part works fine according to logs. then it performs erase device metadata, which ipa also reports has completed. but then it gets stuck and appears to do nothing indefinitely. ipa keeps heartbeating successfully so it thinks it's doing something, but i'm not sure what. snip of my config and logs: 16:50
keekzhttps://gist.github.com/nicholaskuechler/e3f18fda3d3e675f9ca717b98e4b34c3 16:50
JayFkeekz: what does the node object look like? I'd also check conductor logs for traceback16:51
JayFkeekz: basically when a node heartbeats, conductor checks node fields to see what's next. This kinda behavior makes me think something got stuck *on that side*16:51
keekzthere's no tracebacks. what do you mean about the node object?16:51
JayFopenstack baremetal node show --detail mynode16:51
JayFas someone admin-y enough to see driver_internal_info (secrets not required)16:51
keekzhmmm i don't have --detail16:52
JayFI might have placed it in the wrong place in the chain16:52
keekzyeah i can see driver info, i'll add it to the gist, give me a sec16:52
JayFor is it --long?16:52
JayFI may very well just have the command slightly wrong16:52
cidI think it's long16:52
keekzi added it to https://gist.github.com/nicholaskuechler/e3f18fda3d3e675f9ca717b98e4b34c316:54
JayFkeekz: node.clean_step = ? and node.provision_state+target_provision_state?16:55
keekzi put all the node details in there :)16:56
TheJuliaI... guess I'm curious also what is in the conductor log in response to the heartbeat16:57
TheJuliasince it should be triggering the next step in the list...16:57
keekzupdated with the heartbeat snippet from conductor logs and the most recent clean state change in conductor logs17:02
JayFThis is a pretty patched up Ironic, I'm assuming?17:03
keekzno, it's pretty basic ironic17:04
TheJuliait doesn't look like  the conductor is actually polling command state based upon the logs17:06
keekzit's ironic via openstack-helm fwiw. config is mostly in https://github.com/rackerlabs/understack/blob/main/components/ironic/aio-values.yaml excluding my automated cleaning override changes from that gist17:06
rpittaugood night! o/17:07
TheJuliacan the conductor host curl https://10.4.50.97:9999 ?17:07
JayFyeah, that's EXACTLY why I asked17:08
JayFbecause it's a weird, weird situation that it's not polling there17:08
keekzyes it can reach it: https://gist.github.com/nicholaskuechler/e3f18fda3d3e675f9ca717b98e4b34c3#file-gistfile1-txt-L155-L15817:10
JayFthis is super weird17:12
JayFI need to prep for a meeting soon, so I can't dig further, but this is either something really dumb we're missing or maybe a nasty bug17:12
keekzwas looking through bug reports but didn't find anything. i'm wondering if i'm doing the config wrong, as it does not appear to be very well documented and there aren't many examples17:14
TheJuliakeekz: try curling /v1/commands on that api surface17:14
TheJuliakeekz: your using two different override options,... It should be working though17:15
opendevreviewMerged openstack/ironic-python-agent master: switch from 'not is' to 'is not' for pep8  https://review.opendev.org/c/openstack/ironic-python-agent/+/94018117:15
opendevreviewMerged openstack/ironic-python-agent master: avoid f-strings in logging per flake8  https://review.opendev.org/c/openstack/ironic-python-agent/+/94018217:15
opendevreviewMerged openstack/ironic-python-agent master: fix sphinx errors with incorrect backticks  https://review.opendev.org/c/openstack/ironic-python-agent/+/94018317:16
keekzv1/commands/: https://gist.github.com/nicholaskuechler/e3f18fda3d3e675f9ca717b98e4b34c3#file-gistfile1-txt-L19317:16
keekzyeah the clean_step_priority_override is multiopt in oslo-config i guess. i had never seen that before in openstack before working on this. 17:17
TheJuliakeekz: most of the time we see people comma separating mapping values, fwiw17:18
keekzkinda related, i see clean steps take arguments, but is it possible to pass arguments in via the override options syntax? i took a quick look around and it seems like it's not possible17:19
keekzdo you mean like: `clean_step_priority_override = raid.delete_configuration:124,raid.create_configuration:123,deploy.erase_devices_express:95` is that the syntax? i couldn't find any examples of that either, the docs just say use multiple clean_step_priority_override lines17:20
TheJuliaoptions via override, I don't believe so17:24
TheJuliahey, what version of ironic is this?17:25
JayFThat's a really good feature suggestion though, I've thought about that before17:26
JayFbeing able to map "step_with_args" to "new_step_with_args_preset" with config only17:26
TheJuliaoh, so I think I see it17:28
TheJuliahttps://github.com/openstack/ironic/blob/master/ironic/drivers/modules/agent_base.py#L574-L58417:28
TheJuliabasically, the value is true17:28
TheJuliaso we never call continue_cleaning to update status17:29
TheJuliain this case, the step requires the agent to be polled17:29
TheJuliawhich explains why it is locked out17:29
keekz26.1.2.dev1217:34
TheJuliaokay, so I think the bug is that we don't seem to clear the value after a step completes execution where a reboot is required17:43
TheJuliaso next step executes, and boom17:43
TheJuliaexcept none of the steps requested it17:45
TheJuliacurious17:45
TheJuliakeekz: can you look in your conductor logs for anything related to "reboot_to_finish_step", also "clean reboot into the agent"17:48
keekzsure, 1 sec17:48
TheJuliaor any reboots of the node...17:49
TheJuliadoesn't look like that should of necessarilly triggered, but super weird17:49
keekzoh, it didn't reboot the node/agent, i'm ssh'd in to it still17:49
keekzbut let me grab the logs if there are any17:50
keekzTheJulia: there are no mentions of "reboot_to_finish_step" or "clean reboot"17:52
TheJuliahmm, I'll have to look a little later then17:58
TheJuliayou should file a bug in launchpad in the mean time17:58
TheJuliaOkay, I think I found it while waiting18:02
TheJuliaso it is set by the idrac raid interface18:03
TheJuliawe... likely... need to nuke that flag any time we go to set any flag any time we go to do a thing if it is already set18:04
TheJuliahmm18:05
TheJuliait is redfish, hmmmm18:05
TheJuliamost of the raid interfaces set it, it seems18:07
JayFhonestly, consistently broken somehow seems better than inconsistently broken18:08
keekzi made https://bugs.launchpad.net/ironic/+bug/209693818:11
JayFIs anyone interested in a inspector rules demo/review session? Maybe tomorrow?18:35
keekzi'd listen... i haven't really used inspector much yet.18:39
opendevreviewMerged openstack/ironic-python-agent master: Add support for burnin-gpu  https://review.opendev.org/c/openstack/ironic-python-agent/+/92541519:20
TheJuliakeekz: by chance, can you find the last time the agent client connected to that node to check the status ?20:03
keekzwhat do you mean, the conductor logs or agent logs?20:05
TheJulianvmd, I think you actually already provided it20:05
keekzit's still actively heartbeating fwiw. the ipa has been booted for 4h40m and it's been 'finished' but still heartbeating for 4h now20:07
JayFyeah that's going to continue ~forever unless you abort it20:11
JayFand you'll never be able to patch it mid-process because it'll be a conductor restart to put in a patch so it'll kick you outta cleaning20:11
JayFso just do the abort unless there's more info to be gained20:11
TheJuliaI think I have a fix20:13
TheJulia... it *might* not actually20:14
TheJuliaworth a try once I have a  fix posted in a few minutes20:14
JayFI thought conductor restart would abort .... oooooh it's not a -ing state20:14
JayFit's a wait state20:14
JayFnice20:14
TheJuliaexactly20:14
TheJulia... it might still if there was a lock being held20:15
TheJuliabut if you just kindly ask the process to exit and wait like 30 seconds20:15
TheJuliait should be clear20:15
TheJuliaif you kill -9 it, oh boy20:15
TheJuliaI think the issue is the raid steps basically are all modeled around the use of driver side polling20:15
JayFback in juno/onmetal days we used to just have conductors randomly segfault python20:15
TheJuliabut none of them clean it up20:15
JayFthinking about how breaky that environment was now stresses me lol20:16
TheJuliaso when a non-raid step executes, it triggers it, but it it doesn't actually ever resume the next step to check status20:16
TheJuliaits actually a really bad bug20:16
TheJuliasort of a weird lockout that never gets reset20:17
TheJuliarunning unit tests again20:19
keekzif you can tell the bosses it's not my fault and it's a really bad bug, that would be great :)20:19
JayFI checked launchpad, it said you created the bug20:20
JayFsorry I won't cover up for you /s20:20
TheJuliakeekz: added a comment20:26
TheJuliato the bug that is20:26
TheJuliaand you get to say something like "I got the chair of the board to work on fixing it"20:26
fricklersorry for interrupting with a different question: supermicro seems to have two levels of redfish licensing, with the smaller license (OOB), some things work, but I get regular errors in the conductor log, is that a known issue?20:27
TheJuliafrickler: three levels afaik20:28
TheJuliaWhat level license do you have and what error are you getting?20:28
keekzlol thanks, TheJulia20:29
fricklerTheJulia: I have the OOB license (I think) and the error talks about the DCMS license iiuc https://paste.opendev.org/show/baw6wEZaZtR22wjnyxaC/20:32
TheJulia... ugh supermicro20:32
TheJuliaSomeone get someone on the line from there and shame them20:33
TheJulianot exposing secure boot status20:33
TheJulia... SHAME!20:33
fricklerdeploying using redfish-virtual-media seems to work fine, which is all I want really, so the node status is fine, I just have these errors regurlarly in the conductor log20:34
JayFUntil they drop that crazy policy, I'll never use or recommend their hardware. It's just straight up license-gating automation.20:34
TheJuliayeah, so... DCMS is their management tooling20:35
TheJuliaThere used to be a basic oob and then an advanced oob license20:35
JayFIs this sorta thing severe enough we would add a field to driver_info as a quirk mode to not call, or at least expect failure?20:35
TheJuliavirtual media was hidden behind the advanced license20:35
JayFI'm happy to write that patch, but you're going to need the Apache *3.0* license to be eligible for the bugfix /s20:35
TheJuliaJayF: Secure Boot is not a required field, so the code is just being loud logging wise20:35
* TheJulia thinks moving some steel might be more productive ;)20:36
JayFyeah, that's why I asked if frickler  was that bothered by the noisy log20:36
fricklerwell a) I don't think ironic should log an ERROR if it is not important, b) it makes finding real errors pretty difficult20:37
frickleralso maybe ironic could learn after the first attempt that this is not working instead of retrying every 5 minutes or so?20:38
JayFyeah, that's a fair point, loglevel is too high20:38
JayFprobably should be a warning20:38
frickler(sorry if this sounds noobish from an ironic pov)20:38
JayFtraditionally in the past (IPMI) how we've handled this is by adding something to driver_info basically indicating a quirk for that hardware.20:39
JayFwe don't hit this much in redfish so I don't know what prior art is there20:39
TheJuliatypically vendor detection20:40
TheJuliaand from that know if we can suppress or raise an error20:40
TheJulialike if this was HPE or Dell, I'd get a whirling klaxon going20:40
fricklerok, I can look into patching this a bit tomorrow, I was just wondering whether you'd say: you need to buy the DCMS license or don't bother with using ironic20:41
TheJuliaI don't think they sell the dcms license publically20:41
TheJulia... I don't think20:41
TheJuliaanyway, you can use ironic, just... as JayF noted, it is gating the sort of features most people need to be able to touch behind a license20:42
fricklerseems they do https://store.supermicro.com/us_en/supermicro-server-manager-dcms-license-key-sft-dcms-single.html20:42
JayFwe should 100% lower the loglevel of that message20:42
JayFaccording to logging guidelines, log.error is something that should be severe enough to page ops20:43
TheJulia++20:43
JayFhonestly even warn is too high, because it's not really "fixable"20:43
TheJuliayeah20:43
fricklerwell it is also not only that message, I omitted copying the 20 line or so backtrace that goes with it20:43
TheJuliaI'd info it, tbh20:43
JayFfrickler: can I get the full output into a bug? 20:43
TheJulia++20:43
JayFcid: ^ if you wanted a low hanging fruit bug, this is it20:43
JayFwe were just talking today about how he wanted something straightforward to get a quick win since inspector rules have been a slog20:43
JayFfrickler can be the beneficiary lol20:44
fricklersure, will do this my morning, thx20:44
TheJulia++20:44
JayFyeah I think he's closer to your TZ so that should still catch him next time he works20:44
TheJuliakeekz: just need to make sure the tests pass, write a reno, and do appropriate bug updating20:44
TheJuliakeekz: and if you want you can try the patch out20:44
opendevreviewSteve Baker proposed openstack/ironic master: Mask all driver_internal_info in node output  https://review.opendev.org/c/openstack/ironic/+/93950420:47
keekzsounds good, thanks20:47
cardoeJayF: I’m interested in an inspector rules session but I’m not around until next week so record it? Or make a blog post?20:52
opendevreviewJulia Kreger proposed openstack/ironic master: Fix agent from being locked out with complex steps  https://review.opendev.org/c/openstack/ironic/+/94041320:53
opendevreviewJulia Kreger proposed openstack/ironic master: Fix agent from being locked out with complex steps  https://review.opendev.org/c/openstack/ironic/+/94041320:53
TheJuliaHad to rebase ^20:53
TheJuliakeekz: ^20:53
JayFseems reasonable to me, +2 with the obvious understanding we'll land it when it's confirmed as a fix20:54
JayFjust don't want you to be waitin on me20:54
cardoeTheJulia/cid: I was more just asking questions. I’m trying to grok the spec and the change by flipping between tabs on the bus. So my asks might not be 100% correct. Still trying to get the end to20:55
TheJuliacardoe: totally got that, and they are valid questions too20:55
JayFthe reality is we need *more* input/review from folks who use this and are familiar with it20:56
cardoeSo keekz is messing with that RAID stuff I was talking about afaik. I’m still not sure we want to clean the RAID each time. More just “ensure it’s created”20:57
TheJuliacardoe: yeah, there is a definite bug there. Create is *supposed* to be modeled to just make it so20:58
TheJuliabut at the same time there are gray areas all around each driver too20:58
keekzyeah that sounds more like a security ops question... not my area of expertise. i don't know if it matters if the raid is deleted and recreated before each deploy, from a data wipe perspective20:58
keekzor what settings we want to use for better cleaning20:59
keekzi just wanted to give it a try and see how long it would take, but then i got wrapped around the axle :)21:00
cardoeWell create without an option fails if there’s RAID on there.21:00
cardoeI think that’s what keekz and I found.21:01
keekzTheJulia: it will take me a bit to prep everything on my side. i don't think i'll know if it works until tomorrow21:04
TheJuliakeekz: oh yeah, definitely an ops question at some point21:09
cardoekeekz / TheJulia: https://etherpad.opendev.org/p/ironic-ensure-raid21:15
cardoework in progress... just sat down21:15
cardoeBut if you read roughly what I have, does that make sense?21:22
TheJuliaI feel like we need a ptg level call to discuss 21:35
TheJuliabut I get where your going at a high level21:35
cardoejamesdenton: look at that ensure RAID thing as well.21:35
cardoeSince that's really for you.21:35
cardoeTheJulia: Sure thing. I was kinda thinking of somehow gathering up some example use cases into the docs somewhere.21:37
cardoeNot to pick winners and losers in use cases. But sometimes it helps people see everything end to end with some use cases.21:38
cardoeSo like gather up metal3's use cases and how they drive ironic which is a bit more stand alone. Gather up some big operator it's all OpenStack down use cases. Which will be different but have overlap.21:39
JayFcardoe: the big thing that I'm banging into thinking about your idea is a big fat *why*21:39
cardoeWhy for which part?21:40
JayFcardoe: delete_config / erase_devices / create_config gives you a consistent result with seemingly only minimal extra cleaning time21:40
keekzi'd be more willing to update docs and add examples, if i could get them to run and rst format didn't give me a headache21:40
cardoeJayF: it takes 30 minutes for Dell gear.21:40
JayFkeekz: try setting basepython in the  `tox -edocs` environment to python3.11 21:40
JayFkeekz: assuming you have it installed21:40
JayFkeekz: if you share whatever you hit with `tox -e docs` I can work it out with ya21:40
cardoeJayF: delete_config / erase_devices / create_config also doesn't work with Dell PERC cards. Cause they won't expose any disks after the RAID is deleted. You'd need to change BIOS settings to flip them to JBOD so that erase_devices works.21:42
JayFthose are details that'd be great to put in that etherpad, especially if this might come up at the PTG21:43
JayF.o(it's always f#%&$ Dell)21:43
cardoeI added it.21:45
cardoeThat's what the old "dude you're getting a Dell" ad should have been.21:45
cardoeworking on my hooks and rules use case now as well21:47
keekzJayF: hey thanks! the `tox -e docs` in python 3.11 did the trick. although i saw this sphinx-build error pop up: https://gist.github.com/nicholaskuechler/c1c6f37e5b32a27c93f0d848799b3cfd21:51
JayFthat's weird and new21:53
JayFand implies it didn't work?21:53
TheJuliaheh,21:54
keekzwell the docs built and i can browse them. it seems to be running multiple builds i guess, so maybe there's a section that failed to build21:55
TheJuliaor a missing link21:57
TheJuliaMetrics was moved in but without a toc update recently21:57
TheJuliamultitenancy might have been dropped in refactoring changes which have been merged21:57
keekzi think i may be missing modules/requirements too, i see the oslo.reports one and also this: WARNING: dot command 'dot' cannot be run (needed for graphviz output), check the graphviz_dot setting21:58
keekzbrowsing around though, it seems like it's all there22:00
JayFweird22:02
cardoeIt's cause "dot" isn't in allowed_externals for the "docs" target22:20
JayFoh, nice22:21
cardoekeekz: try to add "allowlist_externals = dot" under the [testenv:docs] section22:21
JayFI will JFDI approve a change to do that fix if you wanna write it22:21
cardoeYeah wanted some confirmation from him. I can't seem to run it here. Our internet doesn't allow wireguard and they've got some port mangling so I'm getting EOF's on a bunch of ports.22:25
JayFI don't know about for privacy purposes, but for "I want the US streaming services when I'm travelling" purposes, nordvpn has a great linux client lol22:25
keekzyes, adding `allowlist_externals = dot` generated without that warning 👍22:25
JayFI've used that to get around crazy network restrictions22:25
cardoeIt looks like any traffic outside of port 443 and 80 is getting mangled.22:26
JayFnord uses 44322:26
opendevreviewDoug Goldstein proposed openstack/ironic master: allow docs targets to run dot  https://review.opendev.org/c/openstack/ironic/+/94041622:29
opendevreviewDoug Goldstein proposed openstack/ironic-python-agent master: migrate lints to pre-commit  https://review.opendev.org/c/openstack/ironic-python-agent/+/94018522:30
cardoeThat should enable pre-commit inside of CI for IPA22:31
cardoeTheJulia: I'm gonna minimize function calls inside of f-strings. There's just a few exceptions. One of them being len() like... f'[{len(elements)}]'22:34
cardoeThe result here is the string is "[4]" for example. That's just how you do it. There's no short hand to get the length of a list.22:34
cardoeThe replaced code was.... '[%s]' % len(elements)22:35
cardoeSo it's basically the same thing22:35
cardoeI had previously asked if he'd prefer a temp variable.22:36
cardoere: https://review.opendev.org/c/openstack/sushy/+/93491622:37
TheJuliaSounds okay to me22:42
opendevreviewDoug Goldstein proposed openstack/ironic master: doc: define the shape of inspection inventory  https://review.opendev.org/c/openstack/ironic/+/94027722:46
opendevreviewMerged openstack/ironic master: allow docs targets to run dot  https://review.opendev.org/c/openstack/ironic/+/94041623:09

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