rpittau | good morning ironic! o/ | 08:17 |
---|---|---|
dtantsur | TheJulia: 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 |
dtantsur | Do you really have capacity to implement all these subtle details? Do we have capacity to review and maintain it? | 08:55 |
dtantsur | And again, are we ready to fix bugs stemming from users using oras to upload artifacts and our code doing something subtly incompatible? | 08:56 |
dtantsur | Because it's not enough to implement our side of equation: we need to think about the users too. | 08:57 |
dtantsur | Not following the de facto industry standard in this regard will be immediately seen as a UX problem | 08:58 |
dtantsur | On the tag question, I think I understand why they went this way: tags are very familiar to any user of container tooling | 08:59 |
dtantsur | TheJulia: 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 go | 09:00 |
dtantsur | Folks, 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 |
dtantsur | Thought dump: https://bugs.launchpad.net/ironic-python-agent/+bug/2090993 | 09:56 |
dtantsur | if anyone has time ^^^ this will help a noticeable number of our users to not mess with DIB images | 09:58 |
iurygregory | good morning ironic | 10:44 |
opendevreview | Iury Gregory Melo Ferreira proposed openstack/ironic master: Update Node Cache after Successful Clean/Service https://review.opendev.org/c/openstack/ironic/+/936009 | 12:06 |
iurygregory | if any cores are around this patch should be simple to review https://review.opendev.org/c/openstack/ironic/+/936009 | 14:59 |
cardoe | TheJulia: what's today's networkign zoom link? | 15:01 |
cardoe | I've got the Nov 20th one. | 15:01 |
rpittau | iurygregory: reviewed :) | 15:03 |
dtantsur | cardoe: the one in the etherpad seems to work for me | 15:03 |
iurygregory | rpittau, ack going to update | 15:04 |
adam-metal3 | hello Ironic, what is the passcode for the networking meeting? | 15:05 |
dtantsur | adam-metal3: doesn't link at https://etherpad.opendev.org/p/ironic-networking work? | 15:08 |
adam-metal3 | I copy that and it asks for passcoe | 15:08 |
adam-metal3 | okay 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 |
mbrandt | Hi, 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/+/934330 | 15:21 |
opendevreview | Iury Gregory Melo Ferreira proposed openstack/ironic master: Update Node Cache after Successful Clean/Service https://review.opendev.org/c/openstack/ironic/+/936009 | 15:23 |
*** tosky_ is now known as tosky | 15:40 | |
TheJulia | dtantsur: 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 |
TheJulia | the same container in another form when it is packaged multiple ways. | 15:54 |
TheJulia | Shelling 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 |
TheJulia | credentials 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 |
TheJulia | And 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 is | 15:54 |
TheJulia | dtantsur: 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 |
TheJulia | user 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 nods | 16:06 | |
dtantsur | I'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 |
TheJulia | so, that is actually the area of the code I'm presently at | 16:07 |
TheJulia | and... what led me down the last thought, of a user has to be specific, but maybe doesn't need to be absolutely specific | 16:07 |
TheJulia | and 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 extraction | 16:08 |
TheJulia | Just like we do with glance as well | 16:08 |
TheJulia | which leads us to selection and all | 16:08 |
TheJulia | But that is really minor in the grand scheme of things | 16:08 |
TheJulia | And is also largely dependent upon how data gets into the thing | 16:09 |
TheJulia | the thing in that last statement is the container registry and in what form the data is | 16:09 |
TheJulia | and if we need to download and convert once, or twice | 16:09 |
TheJulia | We need to make it "easy" to be usable. :) | 16:09 |
* TheJulia laughs at that idea | 16:10 | |
dtantsur | Absolutely true | 16:10 |
TheJulia | Anything with computers, easy | 16:10 |
TheJulia | I'm so funny | 16:10 |
dtantsur | Well, at least we'll be asked "which command do I use to prepare an image for Ironic" | 16:10 |
TheJulia | That is a *super* good point | 16:10 |
dtantsur | if we can point at oras or podman - great | 16:10 |
TheJulia | ... honestly I think the ideal place to be is if we can point to both and sort of handle both models | 16:11 |
dtantsur | true | 16:11 |
dtantsur | except that the podman tooling is still an idea, while oras exists and allegedly works | 16:11 |
TheJulia | which 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 |
TheJulia | just don't look too deeply at oras-py | 16:12 |
dtantsur | I won't :D | 16:12 |
opendevreview | Riccardo Pittau proposed openstack/ironic-python-agent master: Silence modprobe loading errors for IPMI drivers https://review.opendev.org/c/openstack/ironic-python-agent/+/937042 | 16:12 |
JayF | One 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 |
TheJulia | That 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 it | 16:23 |
TheJulia | not a service with differeing users, trying to use the cli | 16:23 |
rpittau | good night! o/ | 17:10 |
JayF | yeah; I didn't know which route would be more static than the other | 18:14 |
JayF | but just wanted to make sure that was a consideration | 18:15 |
opendevreview | Merged openstack/python-ironicclient master: Add support to set 'disable_power_off' https://review.opendev.org/c/openstack/python-ironicclient/+/934741 | 18:17 |
TheJulia | The 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 side | 18:23 |
TheJulia | harder to get a clear view when you don't control the lower level logic | 18:24 |
opendevreview | Merged openstack/ironic master: Use OVN and OVS from OS packages in CI https://review.opendev.org/c/openstack/ironic/+/935628 | 18:40 |
opendevreview | Verification of a change to openstack/ironic stable/2024.2 failed: Use specific fix-commit from dnsmasq https://review.opendev.org/c/openstack/ironic/+/936205 | 18:56 |
opendevreview | Merged openstack/ironic master: Neutron: account for disable_power_off https://review.opendev.org/c/openstack/ironic/+/934972 | 18:58 |
opendevreview | Merged openstack/ironic master: Task Manager: Log if the lock takes too long https://review.opendev.org/c/openstack/ironic/+/892412 | 18:58 |
iurygregory | tks JayF for the +2 in https://review.opendev.org/c/openstack/ironic/+/936009 o/ I only saw now =) | 19:07 |
opendevreview | Merged openstack/ironic-python-agent master: Inventoried MAC address for only ipv6 addresses https://review.opendev.org/c/openstack/ironic-python-agent/+/934330 | 19:09 |
JayF | https://review.opendev.org/c/openstack/ironic/+/933622 https://etherpad.opendev.org/p/ironic-configdrive-db So cid and I are talking about this change | 19:28 |
JayF | and I wanted to run my thoughts by the larger core group | 19:28 |
JayF | essentially towards the bottom, after the "---------" there's a section called microversion considerations | 19:28 |
JayF | basically 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 microversion | 19:29 |
iurygregory | you mean an old microversion where config drive is not supported? | 19:31 |
JayF | no; this is a change to move configdrive to it's own DB table (a longstanding bug) | 19:31 |
JayF | and I'm wondering if we owe any backwards compat considerations given that it only shows up today in instance_info | 19:32 |
iurygregory | oh ok! | 19:32 |
JayF | (and IIRC is very restrictively policied) | 19:32 |
iurygregory | now I understand a bit more =) | 19:32 |
iurygregory | let me think a bit more, here going to grab a coffee and eat something =) | 19:33 |
iurygregory | cardoe, tks for the +2 =) | 19:33 |
JayF | yeah, we have that etherpad you can note in there :D | 19:33 |
cardoe | iurygregory: of course sorry for the delay. I'm still trying to get caught up on things. | 19:34 |
iurygregory | ack o/ | 19:34 |
iurygregory | cardoe, no delay at all =) don't worry! | 19:34 |
cardoe | Is Python 3.6 still the oldest supported Python on a supported branch? | 19:51 |
iurygregory | cardoe, I think it's py3.8 (I'm considering 2023.1 as the oldest..) | 20:30 |
JayF | 2023.1 is unmaintained | 20:32 |
JayF | as of nowish | 20:32 |
iurygregory | oh right | 20:33 |
iurygregory | JayF, so you basically want to choose between A & B options right? regarding https://etherpad.opendev.org/p/ironic-configdrive-db | 20:34 |
JayF | cid ^ | 20:34 |
JayF | IMO we don't owe backwards compat for instance_info[configdrive] | 20:34 |
JayF | so I am of the opinion we need exactly one thing microversioned: whether or not node.configdrive exists | 20:34 |
iurygregory | I would go for option A, because I have the feeling operators would be happier with that approach | 20:37 |
iurygregory | trying to think how this would play in Metal3 (I don't think we have instance_info there, but I will check tomorrow) | 20:38 |
JayF | I'm trying to think of the right way to say this without sounding mean | 20:39 |
JayF | but there is value in preserving parts of our API as not guaranteed | 20:39 |
JayF | like, are we *always* going to backwards compat into instance_info? | 20:39 |
JayF | I don't think we wanna say that; so I don't wanna do this now either | 20:39 |
JayF | but obviously I raised it here because there's a good chance folks would disagree :) | 20:40 |
iurygregory | yeah, 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 proceed | 20:55 |
opendevreview | Doug Goldstein proposed openstack/sushy master: enable pyupgrade via ruff to Python 3.7 https://review.opendev.org/c/openstack/sushy/+/934916 | 20:58 |
opendevreview | Doug Goldstein proposed openstack/sushy master: enable flake8 logging checks in ruff https://review.opendev.org/c/openstack/sushy/+/937068 | 20:58 |
cardoe | iurygregory: 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.7 | 21:00 |
cardoe | Anyone 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 |
cardoe | The new code looks ugly but it matches the behavior. But when I look at the behavior, it makes no sense to me. | 21:01 |
opendevreview | Merged openstack/ironic stable/2024.2: Use specific fix-commit from dnsmasq https://review.opendev.org/c/openstack/ironic/+/936205 | 21:06 |
opendevreview | Doug Goldstein proposed openstack/ironic master: clean up lints for automated_steps doc plugin https://review.opendev.org/c/openstack/ironic/+/937070 | 21:50 |
TheJulia | JayF: 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 today | 21:53 |
TheJulia | in other words, B. | 21:54 |
TheJulia | the thing is, IPA needs to be checked if it gets and uses the instance_info['configdrive'] data at all | 21:54 |
cardoe | So I'm gonna be adding the stuff in doc/ to be linted. Cause it's code we run. | 21:57 |
TheJulia | uhh, I thought doc8 was already doing some of that | 22:03 |
JayF | oh, that's a good point TheJulia re: ipa | 22:04 |
JayF | thanks! | 22:04 |
TheJulia | cardoe: where do you see that bit your quoting? | 22:05 |
TheJulia | cardoe: oh, found it fianlly | 22:06 |
iurygregory | cardoe, ack tks for the explanation o/ | 22:11 |
iurygregory | JayF, can you change your vote to include +W https://review.opendev.org/c/openstack/ironic/+/936009 since Doug added the +2? | 22:13 |
JayF | we should propose a small change | 22:19 |
JayF | that ironic-approvers can self-approve with 2x+2 votes | 22:19 |
JayF | so you wouldn't have had to wait there | 22:19 |
TheJulia | cardoe: guessing it is just looking for the resulting stirng | 22:20 |
TheJulia | so, it is sort of doing the needful, just seems weird. The test is largey testing that the exception has the current list, whatever it is | 22:20 |
iurygregory | JayF, sounds reasonable to me | 22:22 |
cardoe | TheJulia: the string is ugly and not user friendly. | 22:24 |
TheJulia | the resulting string of the exception? | 22:24 |
TheJulia | its just looking for a portion of it | 22:24 |
opendevreview | Verification of a change to openstack/ironic master failed: dedup reboot request in redfish bios path https://review.opendev.org/c/openstack/ironic/+/933020 | 22:38 |
JayF | Inspector 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 |
JayF | https://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 |
JayF | We 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 broken | 23:04 |
opendevreview | Verification of a change to openstack/ironic master failed: Update Node Cache after Successful Clean/Service https://review.opendev.org/c/openstack/ironic/+/936009 | 23:24 |
TheJulia | looks like it is a bios job too | 23:47 |
TheJulia | so, gmann's change from earlier which was last tested today, changing the policy defaults... That failed upgrade due to that issue | 23:52 |
TheJulia | so it failed in an entirely different way, but a way takashi's patch fixes | 23:52 |
JayF | so we need to mash em both together? | 23:52 |
TheJulia | no | 23:52 |
TheJulia | takashi's fix alone is good | 23:57 |
JayF | okay, I was weirded out by the failure to find a file | 23:59 |
JayF | looked maybe actual-error-y and not random | 23:59 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!