Wednesday, 2024-12-04

rpittaugood morning ironic! o/08:17
dtantsurTheJulia: I feel quite strongly against writing any of our client code, unless we can prove, objectively, that shelling out to oras is a no-go for our case.08:55
dtantsurDo you really have capacity to implement all these subtle details? Do we have capacity to review and maintain it?08:55
dtantsurAnd again, are we ready to fix bugs stemming from users using oras to upload artifacts and our code doing something subtly incompatible?08:56
dtantsurBecause it's not enough to implement our side of equation: we need to think about the users too.08:57
dtantsurNot following the de facto industry standard in this regard will be immediately seen as a UX problem08:58
dtantsurOn the tag question, I think I understand why they went this way: tags are very familiar to any user of container tooling08:59
dtantsurTheJulia: https://oras.land/docs/commands/oras_manifest_fetch <-- this command is architecture-aware, so if we're okay with something a bit more low-level, it could be the way to go09:00
dtantsurFolks, does anyone remember if we had a resolution for the RAID size problem in https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/raid_utils.py#L31 (apparently, too small for some DIB images)?09:42
dtantsurThought dump: https://bugs.launchpad.net/ironic-python-agent/+bug/209099309:56
dtantsurif anyone has time ^^^ this will help a noticeable number of our users to not mess with DIB images09:58
iurygregorygood morning ironic10:44
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Update Node Cache after Successful Clean/Service  https://review.opendev.org/c/openstack/ironic/+/93600912:06
iurygregoryif any cores are around this patch should be simple to review https://review.opendev.org/c/openstack/ironic/+/93600914:59
cardoeTheJulia: what's today's networkign zoom link? 15:01
cardoeI've got the Nov 20th one.15:01
rpittauiurygregory: reviewed :)15:03
dtantsurcardoe: the one in the etherpad seems to work for me15:03
iurygregoryrpittau, ack going to update15:04
adam-metal3hello Ironic, what is the passcode for the networking meeting?15:05
dtantsuradam-metal3: doesn't link at https://etherpad.opendev.org/p/ironic-networking work?15:08
adam-metal3I copy that and it asks for passcoe15:08
adam-metal3okay for some reason if I clicked it in chromium it worked but if I copied it to the zoom app then it didn't 15:11
mbrandtHi, I wanted to ask if there is still something to do from my side or is that ok? :) https://review.opendev.org/c/openstack/ironic-python-agent/+/93433015:21
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Update Node Cache after Successful Clean/Service  https://review.opendev.org/c/openstack/ironic/+/93600915:23
*** tosky_ is now known as tosky15:40
TheJuliadtantsur: honestly, from what I've seen it is relatively simple and I've already forklifted prior session client which was in openstack. The missing piece to be written is speicalized file handling which is likely to be larger if we want to support deploying machine-os. Ideally, UX wise,  part of this work is lined up for me to support bootable container work, but that becomes entirely disjointed then if we cannot support 15:54
TheJuliathe same container in another form when it is packaged multiple ways.15:54
TheJuliaShelling out raises two concerns off the top of my head. Performance wise, because we would end up with similar issues like we see with ipmitool, although that should be relatively minor. The major one is authentication because were going to need to initiate a login. We appear to be able to semi-securely pass data in.. however we would need to isolate it out because we don't want different user's requests to mix 15:54
TheJuliacredentials together. That means we need to track oras development and code as well, where as in a python client we're just plumbing data....15:54
TheJuliaAnd truthfuly for IPA, we could just tell it what it's authenticate string is directly so it's "client" is at the end of a day just a straight "get" request and post handling, i.e. having to un-zstream or convert it depending on what the image actually is15:54
TheJuliadtantsur: the model I'm starting to mentally head down is Ironic can do the heavy lifting in terms of authenticate, navigate, item identification to boil things down to being super specific, and then IPA can just go  "oh, coool". The same model is actually necessary to handle blobs for kernel/ramdisks, as you noted earlier, just have the user define the entire reference to the manifest (via stating the sha256 hash) If a 16:05
TheJuliauser doesn't define the needful or is not specific enough, then the only reasonable thing at some level is to fail and tell the user "you need to be more specific"16:05
* dtantsur nods16:06
dtantsurI'm fine even with doing image_download_source==local and extracting the image fully on the Ironic side (presenting the resulting qcow2/raw to IPA)16:06
TheJuliaso, that is actually the area of the code I'm presently at16:07
TheJuliaand... what led me down the last thought, of a user has to be specific, but maybe doesn't need to be absolutely specific16:07
TheJuliaand the different modeling. So i'm sort of at the same basic point in the flow. Because glance and a container registry have similar functions in terms of blob storage and thus it is not just a file on a disk or a remote url outright, we have an opportunity to do additional metadata extraction16:08
TheJuliaJust like we do with glance as well16:08
TheJuliawhich leads us to selection and all16:08
TheJuliaBut that is really minor in the grand scheme of things16:08
TheJuliaAnd is also largely dependent upon how data gets into the thing16:09
TheJuliathe thing in that last statement is the container registry and in what form the data is16:09
TheJuliaand if we need to download and convert once, or twice16:09
TheJuliaWe need to make it "easy" to be usable. :)16:09
* TheJulia laughs at that idea16:10
dtantsurAbsolutely true16:10
TheJuliaAnything with computers, easy16:10
TheJuliaI'm so funny16:10
dtantsurWell, at least we'll be asked "which command do I use to prepare an image for Ironic"16:10
TheJuliaThat is a *super* good point16:10
dtantsurif we can point at oras or podman - great16:10
TheJulia... honestly I think the ideal place to be is if we can point to both and sort of handle both models16:11
dtantsurtrue16:11
dtantsurexcept that the podman tooling is still an idea, while oras exists and allegedly works16:11
TheJuliawhich also is why I'm just thinking "oooh, json" "oh, what is this file, can we use it... oh it is zstd compressed, okay lets fix that!"16:11
TheJuliajust don't look too deeply at oras-py16:12
dtantsurI won't :D16:12
opendevreviewRiccardo Pittau proposed openstack/ironic-python-agent master: Silence modprobe loading errors for IPMI drivers  https://review.opendev.org/c/openstack/ironic-python-agent/+/93704216:12
JayFOne thing that could be argued in either direction is if the protocol changes over time. An ironic branch that we might support for 5 years, are we ever going to have to worry about the CLI tool changing its API or the actual protocol itself changing its API in that time period?16:18
TheJuliaThat was kind of what I was thinking about needing to follow and track the tool itself. The API is really not changing/evolving quickly, 1.1 being ratified this year. 1.0 in ?2018?. The client on the otherhand we have to sort of track, because what if they add/change authentication handling, since they are modeled around a user on a cli using it16:23
TheJulianot a service with differeing users, trying to use the cli16:23
rpittaugood night! o/17:10
JayFyeah; I didn't know which route would be more static than the other18:14
JayFbut just wanted to make sure that was a consideration18:15
opendevreviewMerged openstack/python-ironicclient master: Add support to set 'disable_power_off'  https://review.opendev.org/c/openstack/python-ironicclient/+/93474118:17
TheJuliaThe other aspect which has me leaning to a "lets just walk the json" is also the nature of differing tools and approaches on the input side18:23
TheJuliaharder to get a clear view when you don't control the lower level logic18:24
opendevreviewMerged openstack/ironic master: Use OVN and OVS from OS packages in CI  https://review.opendev.org/c/openstack/ironic/+/93562818:40
opendevreviewVerification of a change to openstack/ironic stable/2024.2 failed: Use specific fix-commit from dnsmasq  https://review.opendev.org/c/openstack/ironic/+/93620518:56
opendevreviewMerged openstack/ironic master: Neutron: account for disable_power_off  https://review.opendev.org/c/openstack/ironic/+/93497218:58
opendevreviewMerged openstack/ironic master: Task Manager: Log if the lock takes too long  https://review.opendev.org/c/openstack/ironic/+/89241218:58
iurygregorytks JayF for the +2 in https://review.opendev.org/c/openstack/ironic/+/936009 o/ I only saw now =)19:07
opendevreviewMerged openstack/ironic-python-agent master: Inventoried MAC address for only ipv6 addresses  https://review.opendev.org/c/openstack/ironic-python-agent/+/93433019:09
JayFhttps://review.opendev.org/c/openstack/ironic/+/933622 https://etherpad.opendev.org/p/ironic-configdrive-db So cid and I are talking about this change19:28
JayFand I wanted to run my thoughts by the larger core group19:28
JayFessentially towards the bottom, after the "---------" there's a section called microversion considerations19:28
JayFbasically the question boils down to if we have a responsibilty to populate instance_info[configdrive] when the configdrive is stored elsewhere and user requests an old microversion19:29
iurygregoryyou mean an old microversion where config drive is not supported?19:31
JayFno; this is a change to move configdrive to it's own DB table (a longstanding bug)19:31
JayFand I'm wondering if we owe any backwards compat considerations given that it only shows up today in instance_info19:32
iurygregoryoh ok!19:32
JayF(and IIRC is very restrictively policied)19:32
iurygregorynow I understand a bit more =)19:32
iurygregorylet me think a bit more, here going to grab a coffee and eat something =)19:33
iurygregorycardoe, tks for the +2 =) 19:33
JayFyeah, we have that etherpad you can note in there :D 19:33
cardoeiurygregory: of course sorry for the delay. I'm still trying to get caught up on things.19:34
iurygregoryack o/19:34
iurygregorycardoe, no delay at all =) don't worry! 19:34
cardoeIs Python 3.6 still the oldest supported Python on a supported branch?19:51
iurygregorycardoe, I think it's py3.8 (I'm considering 2023.1 as the oldest..)20:30
JayF2023.1 is unmaintained20:32
JayFas of nowish20:32
iurygregoryoh right20:33
iurygregoryJayF, so you basically want to choose between A & B options right? regarding https://etherpad.opendev.org/p/ironic-configdrive-db20:34
JayFcid ^20:34
JayFIMO we don't owe backwards compat for instance_info[configdrive]20:34
JayFso I am of the opinion we need exactly one thing microversioned: whether or not node.configdrive exists20:34
iurygregoryI would go for option A, because I have the feeling operators would be happier with that approach20:37
iurygregorytrying to think how this would play in Metal3 (I don't think we have instance_info there, but I will check tomorrow)20:38
JayFI'm trying to think of the right way to say this without sounding mean20:39
JayFbut there is value in preserving parts of our API as not guaranteed20:39
JayFlike, are we *always* going to backwards compat into instance_info?20:39
JayFI don't think we wanna say that; so I don't wanna do this now either20:39
JayFbut obviously I raised it here because there's a good chance folks would disagree :)20:40
iurygregoryyeah, we should probably see what people think about it, for me both approaches are good, we just need to get a consensus on how we should proceed20:55
opendevreviewDoug Goldstein proposed openstack/sushy master: enable pyupgrade via ruff to Python 3.7  https://review.opendev.org/c/openstack/sushy/+/93491620:58
opendevreviewDoug Goldstein proposed openstack/sushy master: enable flake8 logging checks in ruff  https://review.opendev.org/c/openstack/sushy/+/93706820:58
cardoeiurygregory: thank you. I dropped back to Python 3.7 on that series cause dtantsur asked me to go to Python 3.6 because that was the oldest supported. But the tool only supports back to Python 3.721:00
cardoeAnyone have a clue what https://review.opendev.org/c/openstack/sushy/+/934916 the '"enabled" value.*{0}'.format(list(sushy.BootSourceOverridedEnabled)) is attempting to do?21:00
cardoeThe new code looks ugly but it matches the behavior. But when I look at the behavior, it makes no sense to me.21:01
opendevreviewMerged openstack/ironic stable/2024.2: Use specific fix-commit from dnsmasq  https://review.opendev.org/c/openstack/ironic/+/93620521:06
opendevreviewDoug Goldstein proposed openstack/ironic master: clean up lints for automated_steps doc plugin  https://review.opendev.org/c/openstack/ironic/+/93707021:50
TheJuliaJayF: cid: I'm sort on the don't owe backward compat for an api consumer (i.e. anyone *other* than ironic-python-agent) camp in that the field under normal conditions, just thinking off the top of my memory *is* redacted today21:53
TheJuliain other words, B. 21:54
TheJuliathe thing is, IPA needs to be checked if it gets and uses the instance_info['configdrive'] data at all21:54
cardoeSo I'm gonna be adding the stuff in doc/ to be linted. Cause it's code we run.21:57
TheJuliauhh, I thought doc8 was already doing some of that22:03
JayFoh, that's a good point TheJulia re: ipa22:04
JayFthanks!22:04
TheJuliacardoe: where do you see that bit your quoting?22:05
TheJuliacardoe: oh, found it fianlly22:06
iurygregorycardoe, ack tks for the explanation o/22:11
iurygregoryJayF, can you change your vote to include +W https://review.opendev.org/c/openstack/ironic/+/936009 since Doug added the +2? 22:13
JayFwe should propose a small change22:19
JayFthat ironic-approvers can self-approve with 2x+2 votes22:19
JayFso you wouldn't have had to wait there22:19
TheJuliacardoe: guessing it is just looking for the resulting stirng22:20
TheJuliaso, it is sort of doing the needful, just seems weird. The test is largey testing that the exception has the current list, whatever it is22:20
iurygregoryJayF, sounds reasonable to me22:22
cardoeTheJulia: the string is ugly and not user friendly.22:24
TheJuliathe resulting string of the exception?22:24
TheJuliaits just looking for a portion of it22:24
opendevreviewVerification of a change to openstack/ironic master failed: dedup reboot request in redfish bios path  https://review.opendev.org/c/openstack/ironic/+/93302022:38
JayFInspector grenade is broken... looks like an error booting where actual files are missing we expect? >  Nothing to boot: No such file or directory (https://ipxe.org/2d03e13b) 23:03
JayFhttps://94d14c5adc0b40c70d6b-f3380184e777f7ee6c835a95587f59cb.ssl.cf5.rackcdn.com/935363/1/check/ironic-inspector-grenade/c5b0902/controller/logs/ironic-bm-logs/node-1_no_ansi_2024-12-04-22%3A09%3A03_log.txt from https://review.opendev.org/c/openstack/ironic-inspector/+/935363 23:04
JayFWe need to fix this, but I'm not an inspector expert and I suspect someone with more context might have a better idea as to what is broken23:04
opendevreviewVerification of a change to openstack/ironic master failed: Update Node Cache after Successful Clean/Service  https://review.opendev.org/c/openstack/ironic/+/93600923:24
TheJulialooks like it is a bios job too23:47
TheJuliaso, gmann's change from earlier which was last tested today, changing the policy defaults... That failed upgrade due to that issue23:52
TheJuliaso it failed in an entirely different way, but a way takashi's patch fixes23:52
JayFso we need to mash em both together?23:52
TheJuliano23:52
TheJuliatakashi's fix alone is good23:57
JayFokay, I was weirded out by the failure to find a file23:59
JayFlooked maybe actual-error-y and not random23:59

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