opendevreview | Doug Goldstein proposed openstack/ironic master: doc: define the shape of inspection inventory https://review.opendev.org/c/openstack/ironic/+/940277 | 01:35 |
---|---|---|
cardoe | so thinking of something like ^ but then also maybe jsonschema... we don't have anything to generate tables from schema do we? | 01:36 |
opendevreview | Vasyl Saienko proposed openstack/networking-generic-switch master: Remove unneeded hasattr check for bond methods https://review.opendev.org/c/openstack/networking-generic-switch/+/940296 | 11:05 |
jssfr | Jan 28 11:24:07 ubuntu ironic-python-agent[1923]: 2025-01-28 11:24:07.111 1923 ERROR root ironic_python_agent.errors.InvalidImage: The provided image is not valid for use: Security: Detected image format was gpt, but only raw, qcow2, iso are allowed | 11:39 |
jssfr | so this is a raw image with a gpt partition table... is that check a bit overzealous? | 11:39 |
jssfr | looks like https://docs.openstack.org/ironic/2024.1/configuration/config.html#conductor.permitted_image_formats is the way to configure this | 11:42 |
jssfr | converting the raw image to qcow2 helps :D | 13:00 |
TheJulia | jssfr: is that appearing in 2024.1? | 14:20 |
jssfr | no, that's actually zed, I found out. | 14:31 |
jssfr | I thought we were on 2024.1, but it's zed. | 14:31 |
jssfr | so may not be relevant really. | 14:31 |
jssfr | (I only found that out later tho) | 14:32 |
TheJulia | The check was backported, but I didn't think it had the distingishment between gpt and raw | 14:32 |
TheJulia | I thought that came in the later versions upstream | 14:32 |
jssfr | I wouldn't put it past our image build process to accidentally pull in some newer dependency somewhere... | 14:33 |
TheJulia | well, it was included code, not a library in that version | 14:33 |
TheJulia | so it just seems confusing, but at the same time it was all a blur | 14:33 |
jssfr | hmmm | 14:34 |
JayF | this looks like you pullewd in newer ipa/oslo utils to an older ironic? | 15:05 |
JayF | full backtrace there would be useful, along with a `pip freeze` in the IPA install in the venv of the ramdisk | 15:05 |
jssfr | JayF, I'll see if I can get that tomorrow (I'm off my work systems already). | 15:14 |
jssfr | pip freeze should be easy, not so sure about the full backtrace. That might be gone already. | 15:14 |
jssfr | OH | 15:14 |
jssfr | this is about the **ipa** version | 15:14 |
jssfr | in that case we might actually be on 2024.1 not on zed, I'll have to confirm that. I was only looking at conductor/api/etc. versions. The IPA image is a separate process which may source different code. (cc TheJulia ) | 15:15 |
TheJulia | Well, the check exists internally in ironic *and* the ramdisk | 15:29 |
TheJulia | so sort of depends on where it gets disqualified at | 15:29 |
opendevreview | cid proposed openstack/ironic master: Apply Rules: inspection rules migration https://review.opendev.org/c/openstack/ironic/+/939218 | 15:48 |
opendevreview | cid proposed openstack/ironic master: API/Testing: Inspection rules migration https://review.opendev.org/c/openstack/ironic/+/939217 | 15:48 |
jssfr | TheJulia, ramdisk | 16:37 |
jssfr | (the log line is from there) | 16:37 |
TheJulia | ahh, yeah | 16:46 |
opendevreview | Julia Kreger proposed openstack/ironic-python-agent master: Bootable container support https://review.opendev.org/c/openstack/ironic-python-agent/+/940178 | 16:55 |
cardoe | JayF: you were looking for pre-commit on IPA right? | 17:00 |
*** priteau is now known as Guest7267 | 17:04 | |
*** priteau2 is now known as priteau | 17:04 | |
cardoe | Or was it another repo? Cause I did IPA. | 17:08 |
TheJulia | I'm guessing Jay is still feeling under the weather | 17:17 |
TheJulia | And likely the only way to illicit a response is for a hockey game to appear outside his home ;) | 17:18 |
JayF | I'm here just busy | 17:19 |
JayF | yesterday was less illness and more allergies+insomnia working together to knock me outta commission | 17:19 |
JayF | My meetings for the day are complete :) | 17:19 |
JayF | cardoe: I think it was ironic-specs? | 17:23 |
JayF | cardoe: IDR at this point, my context of that conversation is long gone :) | 17:23 |
cardoe | Okay. I’ve got patches for both in gerrit. | 17:24 |
cardoe | Sounds like you’ve had a rough go of it. | 17:24 |
JayF | ack; I'll do a review pass once I'm to the bottom of the list | 17:24 |
JayF | eh; I had COVID over the winter break; I recovered from most of it but have been lethargic/having leftover sinus issues | 17:24 |
JayF | so lack of sleep + allergy flare up basically just kicked my butt yesterday but I'm feeling really good today (thanks; sudafed) | 17:25 |
cardoe | I’m trying to clean up the node cleaning docs and the inspection ones. I’m honestly more confused than I was when I started about behavior. | 17:25 |
JayF | give me like, 30-60 minutes to get to the bottom of my todo list | 17:26 |
JayF | maybe a little more | 17:26 |
JayF | and I'm happy to sync up with you on it and find answers | 17:26 |
TheJulia | ugh, sinus issues from covid seem to last a tremendously long time | 17:26 |
cardoe | No worries. I’m around on mobile. I’ll sit in front of my laptop in a bit. | 17:27 |
JayF | yeah; I just decided I'll do what my doc has told me to do in the past and just sudafed for two weeks and try to reset things | 17:27 |
cardoe | I’m in Puerto Rico today but it’s a work day for my wife. And my “job” is to follow her with camera gear and scene lists and make sure we get them. But I can have her stop and edit anytime. | 17:28 |
cardoe | I’m on PTO from my real job to be an assistant to my wife. | 17:29 |
JayF | your wife some kinda influencer? | 17:30 |
cardoe | Kinda? She doesn’t actually post the stuff. She creates content that others get from her. | 17:32 |
cardoe | And it’s not influencers. But like brands and travel agencies. | 17:33 |
TheJulia | That sounds awesome | 17:37 |
cardoe | It started years ago when she was a real estate agent. She’s good at digital video. So she made walk throughs before the 360 camera was a thing. Then added drone footage before it was a thing. Ended up getting others interested in having her do it. So that was more consistent work. So she did that for a while. Then she made some montage of a vacation. | 17:37 |
TheJulia | as an FYI, I posted https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/940247 to try and reduce some of our test failures in CI | 17:37 |
cardoe | And our travel agent said they’d give us a free or reduced trip if she made them a bunch of ads. So we did that. And now she’s a part time travel agent and the brand themselves send her on trips to generate content for them to post. | 17:39 |
cardoe | So we go a few weeks a year and record a metric ton of footage. It’s like stock photos on steroids. | 17:39 |
JayF | that is really freakin' cool seeming | 17:41 |
JayF | that being said: you should be enjoying Puerto Rico without the glow of a laptop :) nothing we need here can't wait until you're back workin' | 17:42 |
cardoe | It’s funny cause I don’t have any social media apps. | 17:42 |
JayF | the older I get, the more I think IRC counts | 17:45 |
cardoe | I’m literally downloading files from her cameras and tagging them for her. So I’ve already got a laptop. | 17:45 |
JayF | maybe that's more reflective of how many of my friends/hobbies are IRC-centric though :) | 17:45 |
TheJulia | I'm pretty much done with social media at this point, except the blue skys | 17:46 |
JayF | my X account was closed last week, even though for a while it was just podcast shilling. I'm trying to look at everything like that less and less, and heavily filter any ... non-personal information | 17:47 |
JayF | like I wanna hear how Julia is doing; I don't need 45 people boosting news into my thread | 17:47 |
TheJulia | I've been a lot better | 17:47 |
TheJulia | but i'll be okay... for now | 17:47 |
cardoe | Exactly. I think we’ve now seen that social media has been a net negative on society. | 17:47 |
cardoe | Though I shouldn’t bash it cause it’s given me some cool trips since COVID. | 17:48 |
JayF | I'm hoping I'm retirement age before I am convinced s/social media/internet/ | 17:48 |
JayF | otherwise my job gets a lot harder ;) | 17:48 |
TheJulia | heh | 17:48 |
TheJulia | So! I'm curious. Any thoughts/feelings on doing some auto-middle of error truncation with error messages? | 17:49 |
JayF | In the beginning, the internet was created. This has made a lot of people very angry and has been widely regarded as a bad move. | 17:49 |
JayF | I have no idea what you mean by that | 17:49 |
TheJulia | specifically, when doing my bootc testing last week, I had podman throw a stupidly long error | 17:49 |
TheJulia | such that the tail end got truncated because it exceeded the field length | 17:49 |
cardoe | The closest we’ve come to being in any of our videos is some Royal Caribbean video where I slide off the end of a slide wearing a GoPro and my legs come into view for a second. | 17:49 |
JayF | TheJulia: how big is the field? is the answer not "make it big enough to hold a giant freakin' error"? | 17:50 |
TheJulia | JayF: That is a stupidly good question | 17:50 |
TheJulia | I think it is 1k | 17:50 |
* TheJulia looks i tup | 17:50 | |
cardoe | We throw some serious back traces. That’s surprising. | 17:50 |
TheJulia | L + 2 bytes, where L < 216 | 17:51 |
TheJulia | so we might be truncating elsewhere | 17:51 |
TheJulia | I'll have to dig | 17:51 |
TheJulia | I just found the trail end truncation semi-annoying | 17:52 |
TheJulia | It *helped* I had the logs on a terminal window and I could see why my deploy of a container failed | 17:52 |
TheJulia | but yeah | 17:52 |
JayF | I don't have a good sense of if that's already extremely long | 17:53 |
JayF | my preference is always to not truncate and instead show it all | 17:53 |
* JayF points at node faults and regrets not implementing it again | 17:53 | |
TheJulia | sort of why I put history in | 17:54 |
TheJulia | I'll dig through the code and see what might be truncating it | 17:55 |
JayF | I had a fleeting thought that I buried deep inside | 17:55 |
JayF | of node.last_error being a pointer to a node history entry | 17:55 |
JayF | so we could make the field larger without ballooning nodes | 17:55 |
TheJulia | its not a bad idea, except I think the error is likely pre-truncated | 17:55 |
JayF | but I'm sure that's a bad idea for other reasons I don't have the words for | 17:55 |
TheJulia | at least, that is my gut feeling | 17:55 |
TheJulia | well | 17:57 |
TheJulia | So the fun thing with text and longtext is they are not actually in the table | 17:57 |
TheJulia | the db keeps a pointer *and* like the first so many bytes | 17:57 |
TheJulia | for index queries, if you query in such a way to table scan, then it goes and resolves all the pointers | 17:57 |
TheJulia | and is overall just "mean" to the DB | 17:58 |
* TheJulia is stupidly familiar with DB internals thanks to spending *many* years supporting https://en.wikipedia.org/wiki/Basis_database | 17:58 | |
cardoe | So I started on this... https://review.opendev.org/c/openstack/ironic/+/940277 Not sure how folks wanna see that appear. But I think we need to define the shape of that structure. So that plugins and rules can be more easily written without telling people to read the code. | 18:35 |
cardoe | As far as node cleaning goes. I really don't know the best way to handle hardware RAID. I'm guessing it should be part of the flavor (using nova term here since I'm using nova) so I'd just set it once. But I've noticed that target_raid_config stays set but raid_config loses its value often. | 18:37 |
TheJulia | I think it makes sense to document | 18:37 |
TheJulia | cardoe: w/r/t raid, hmmm | 18:37 |
TheJulia | cardoe: raid feels like a discussion. I guess there are some distinct differnet issues there, such as config issues your indicating *and* the best model | 18:38 |
TheJulia | which is not exactly clear by default | 18:38 |
cardoe | There's many options per the docs but I feel like there's likely some common use cases I could document. | 18:38 |
TheJulia | I feel like we need to find the old StackHPC demo | 18:38 |
cardoe | Yeah I'd be happy watching some YouTube's and documenting what folks came up with. | 18:39 |
TheJulia | I'm 95% sure they posted a demo video to youtube | 18:39 |
TheJulia | challenge is finding it | 18:39 |
TheJulia | so regarding last_error, looks like node history is doing the right thing | 18:40 |
cardoe | That's my issue with video as a communication medium. 30 minutes of content for 5 seconds of what I want. | 18:40 |
TheJulia | so my idea to fix truncation was more... I should look at that node history feature I wrote years ago | 18:40 |
TheJulia | yeah | 18:40 |
TheJulia | agreed | 18:40 |
TheJulia | https://www.youtube.com/watch?v=DrQcTljx_eM | 18:42 |
TheJulia | found it | 18:42 |
cardoe | JayF: https://review.opendev.org/c/openstack/ironic-specs/+/940198 and it's follow on I think is what we had wanted for ironic-specs then we'll catch other issues before more specs land. | 18:43 |
JayF | cardoe: reviewing, ty. Honestly I want it for two things: codespell and telling me `blah` is wrong and ``blah`` is right lol | 18:47 |
TheJulia | I just approved it | 18:53 |
TheJulia | ... its all formatting changes | 18:54 |
TheJulia | which are fine and make it more consistent | 18:54 |
JayF | I reviewed it, then closed it without +2'ing it | 18:54 |
JayF | d'oh | 18:54 |
JayF | I went back and put my +2 on it retroactively | 18:55 |
* JayF finally reaches the end of his "things to do real quick this morning" list right before lunch :| | 18:56 | |
opendevreview | Merged openstack/ironic-specs master: clean up an assortment of sphinx-lint issues https://review.opendev.org/c/openstack/ironic-specs/+/940198 | 19:00 |
cardoe | So it seems like codespell should be enabled but it must not be because I found a typo in TheJulia's OCI spec. So I'll have to play with that. | 19:03 |
cardoe | JayF: https://review.opendev.org/c/openstack/ironic-specs/+/940199 will need +W to enable pre-commit enforcing it. | 19:03 |
cardoe | hmm maybe we're not running pre-commit in gerrit. | 19:04 |
cardoe | crap that's it. | 19:05 |
cardoe | We added pre-commit previously but didn't enable it. | 19:05 |
opendevreview | Doug Goldstein proposed openstack/ironic-specs master: enable sphinx-lint on priorities and specs https://review.opendev.org/c/openstack/ironic-specs/+/940199 | 19:11 |
opendevreview | Julia Kreger proposed openstack/ironic-specs master: OCI Container Registry Image Source https://review.opendev.org/c/openstack/ironic-specs/+/933612 | 19:13 |
cardoe | It really makes me sad we don't have a library that can auto-generate jsonschema for us. | 19:18 |
JayF | I mean, it's a chicken/egg thing, right? | 19:19 |
JayF | it makes more sense to me that we write the jsonschema and generate stuff off that | 19:19 |
JayF | (which is what the stephen fin / adam mcarthur project is doing) | 19:19 |
cardoe | So I see in IPA we've manually made Serializable for example but the built in Python would be dataclasses. So I was gonna ask if we could use that in Ironic. | 19:20 |
cardoe | But then there's many ways to generate jsonschema from dataclasses. | 19:20 |
cardoe | I dunno. I find it more natural to write my class interface than jsonschema. | 19:20 |
JayF | I am not 100% sure dataclasses are expressive enough | 19:21 |
JayF | especially for things like port.local_link_connection which has multiple valid possible schemas | 19:21 |
cardoe | I'll concede that point. pydantic is my personal preference. | 19:26 |
cardoe | But as far as multiple schemas. That works with dataclasses already with the Union type. | 19:26 |
opendevreview | Julia Kreger proposed openstack/ironic-specs master: Support for bootable containers https://review.opendev.org/c/openstack/ironic-specs/+/933620 | 19:33 |
TheJulia | cardoe: w/r/t https://review.opendev.org/c/openstack/ironic-specs/+/933612 I've made the changes you highlighted | 19:35 |
cardoe | Well I'm not sure if I properly enabled pre-commit to run on ironic-specs. | 19:36 |
cardoe | https://zuul.opendev.org/t/openstack/build/c011742769074edd88375dd3a580456d had no logs | 19:37 |
TheJulia | https://zuul.opendev.org/t/openstack/build/c011742769074edd88375dd3a580456d/log/job-output.txt ? | 19:39 |
cardoe | Weird. It says this job provides no output to me. | 19:40 |
* TheJulia shrugs | 19:42 | |
JayF | cardoe: wfm for sure https://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_c01/940199/2/check/openstack-tox-linters/c011742/tox/linters/1-commands%5B0%5D.log is a direct link showing pre-commit works | 19:49 |
cardoe | I'll just chalk it up to my funky internet. | 19:53 |
cardoe | Well feel free to land that and hopefully it helps Julia getting her OCI landed. | 19:55 |
JayF | I +2'd it | 19:55 |
opendevreview | Julia Kreger proposed openstack/ironic-python-agent master: Bootable container support https://review.opendev.org/c/openstack/ironic-python-agent/+/940178 | 19:55 |
JayF | will give at least a grace period for someone else to look since it changes ci | 19:55 |
cardoe | makes sense to me | 19:57 |
TheJulia | JayF: do you know if the change to the builder was done which was being noted in https://review.opendev.org/c/openstack/ironic-python-agent/+/925415/15/ironic_python_agent/burnin.py | 20:06 |
JayF | no, I told scott I'd look into it when that merged | 20:07 |
JayF | if you wanna require it ahead of time, just -1 with that comment and I'll add it to my list | 20:08 |
TheJulia | I'm fine with approving that as long as it doesn't get forgotten | 20:10 |
TheJulia | that is my big worry | 20:10 |
JayF | me? forget a follow up? <.< | 20:29 |
opendevreview | Doug Goldstein proposed openstack/ironic master: move inspection hooks initialization https://review.opendev.org/c/openstack/ironic/+/940331 | 20:36 |
opendevreview | Doug Goldstein proposed openstack/ironic master: move hooks execution into shareable module https://review.opendev.org/c/openstack/ironic/+/940332 | 20:36 |
opendevreview | Doug Goldstein proposed openstack/ironic master: allow multiple inspection interfaces to load hooks https://review.opendev.org/c/openstack/ironic/+/940333 | 20:36 |
JayF | cardoe: is that going to conflict with the big inspection rules migration changes cid has in progress? | 20:37 |
cardoe | I hope not. I'll look at what he's got. | 20:38 |
cardoe | I've reviewed his before but cannot recall. | 20:38 |
cardoe | The last change has a ?? in it. | 20:39 |
cardoe | JayF: no it doesn't conflict. | 20:40 |
cardoe | But I've got changes to his code that will need to happen afterwards. | 20:41 |
JayF | if that's an area of the code you're familiar with, I'm sure he wouldn't mind more reviews, too | 20:41 |
cardoe | But I've got more ??? for the cores on how to work inspection. | 20:41 |
cardoe | So right now hooks only run on continue_inspection. Which relies on the node going to INSPECTWAIT and then getting hit with the callback. | 20:42 |
cardoe | His inspection rules also only runs on continue_inspection. | 20:42 |
cardoe | But with the addition of redfish as being able to run hooks (and in the future rules). There's no callback step. So I'm not going through the INSPECTWAIT step. | 20:43 |
cardoe | You want me to fake it out or just move straight to the step? | 20:44 |
JayF | I'd have to look and think about it to be sure | 20:45 |
JayF | might be useful to see if we traverse a wait state in the manual cleaning but no agent case | 20:45 |
cardoe | So a lot is in the API endpoint for continue_inspection. Once cid’s work landed I was gonna make its own function that the API endpoint could call or redfish could call directly. | 20:51 |
cardoe | Purposefully trying to not conflict with his work. | 20:51 |
cardoe | cid: you got more examples of what I can do with rules? I think that would help me understand all the flows better. | 20:59 |
cid | So, I understand inspection rules as a way to conditionally take some actions on a node, during inspection. | 21:03 |
cid | Seems everything that can be done manually through the CLI, can be presaved and performed by an inspection rule, based on also presaved conditions. | 21:04 |
cid | cardoe: as per specific examples, there are just 15 action plugins so far, doing just three things. | 21:06 |
cid | setting and setting attributes on the node object, port, plugin data and logging. | 21:08 |
cid | *unsetting. | 21:08 |
cardoe | Okay. I’ll play with it. Just wanted some examples around combinations to sort out behavior specifics. | 21:11 |
cid | Example to create a sample inspection rule you mean? | 21:12 |
opendevreview | Verification 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/+/940096 | 21:20 |
cardoe | Yes. | 21:20 |
opendevreview | Verification of a change to openstack/ironic master failed: Add lsblk output to metal3 logs https://review.opendev.org/c/openstack/ironic/+/939976 | 21:21 |
cid | Not in any way organized, but here: https://etherpad.opendev.org/p/working-in-openstack | 21:28 |
JayF | those kinda etherpads are golden \o/ | 21:40 |
cid | :-) | 21:55 |
JayF | https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/939288 could use reviews (ironic-lib-deprecation) | 22:00 |
JayF | similarly, https://review.opendev.org/c/openstack/sushy-tools/+/939400 | 22:00 |
opendevreview | Verification of a change to openstack/ironic-python-agent master failed: Replace crypt module https://review.opendev.org/c/openstack/ironic-python-agent/+/937175 | 22:14 |
opendevreview | Verification of a change to openstack/ironic-python-agent master failed: Replace crypt module https://review.opendev.org/c/openstack/ironic-python-agent/+/937175 | 22:28 |
JayF | I think the ironic-inspector ironic-lib removal thing's grenade failure may be real | 23:28 |
JayF | :( I'll dig deeply into it tomorrow | 23:28 |
TheJulia | We're shutting down inspector, we can likely remove grenade | 23:36 |
JayF | IMO we should avoid doing that unless we're prepared to not release inspector this cycle | 23:38 |
TheJulia | I'm not going to reply, my headspace is not in the right place to have a constructive reply. | 23:39 |
opendevreview | Merged openstack/sushy-tools master: Import needed ironic-lib code https://review.opendev.org/c/openstack/sushy-tools/+/939400 | 23:56 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!