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

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