Thursday, 2024-08-29

opendevreviewDoug Goldstein proposed openstack/sushy master: drop usage of pkg_resource for newer python compat  https://review.opendev.org/c/openstack/sushy/+/92530401:48
cardoeSo I think that'll pass now that the requirements landed. If we haven't made a sushy release yet, it might be good to pull that in because that'll make sushy work on Python 3.1201:49
cardoeLemme tell you Python 3.9... <shake fist>01:51
cardoeI would flip openstack-tox-py312 to voting in that patch set but no idea how.01:53
opendevreviewDoug Goldstein proposed openstack/sushy master: fix spelling and make codespell pass  https://review.opendev.org/c/openstack/sushy/+/92744402:02
cardoeThere codespell can be voting too.02:02
cardoeAlso worth noting that the Python 3.12 support patch despite not being tested on Python 3.8 by Zuul, I did test it on there. Which is what the hold up was for global-requirements02:09
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic master: Firmware Update via Firmware Interface Docs  https://review.opendev.org/c/openstack/ironic/+/92696102:25
opendevreviewMerged openstack/ironic master: idrac: inherit driver interface from redfish  https://review.opendev.org/c/openstack/ironic/+/92622704:55
SvenKieskeHi, if I run multiple ironic hosts behind haproxy, what would be the best API endpoint to monitor that the backend is still alive (so haproxy http check, basically) just get "/", or something else?08:23
dtantsurSvenKieske: with or without authentication?09:47
dtantsurcardoe: my IRC disconnected, and I lost some of the scrollback, but if you're interested in ironic-standalone-operator, here's the design document: https://github.com/metal3-io/metal3-docs/pull/46109:48
SvenKieskedtantsur: ideally without auth if possible, but afaik colleagues over in kolla already figured it out09:54
dtantsurSvenKieske: without auth you're limited to /v109:57
dtantsurwith auth you can list conductors at /v1/conductors and optionally check that more than 1 is present09:57
dtantsuror /v1/drivers if you know which drivers have to be loaded09:58
SvenKieskeI think we don't need that much detail, it's only to know that haproxy can reach the configured backends, so API routes respond10:00
cardoeThanks dtantsur13:21
JayFcardoe: that py312 job is defined in the templates. I think you just have to repeat the name in the check and the gate config with voting: true13:54
JayFGiven how zuul works if you pushed a patch you get immediate feedback on if it worked or not13:55
opendevreviewMerged openstack/sushy master: drop usage of pkg_resource for newer python compat  https://review.opendev.org/c/openstack/sushy/+/92530414:07
TheJuliaHas anyone been running into the fun perceptions created by /dev/sd[x] device ordering with kernels changing device initialization style ?14:25
dtantsurI've definitely heard about the disks getting reordered14:42
dtantsurMeanwhile, could I get a 2nd +2? https://review.opendev.org/c/openstack/ironic/+/92726514:45
dtantsurand https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/925981 if possible14:46
JayF this is one of those problems that just recurs every ten years or so. this why root device hints isn't just about the device14:48
kubajjRecently, I am dealing with an issue on a node with 4 devices - 2 of them in a RAID with 'is_root_volume' set to false and it always being picked as a root device (all 4 disks are the same). Root device hints can be tricky14:51
TheJuliadtantsur: I'm proposing a doc update shortly15:01
TheJuliaDid anyone see the email about our docs to the mailing list?15:04
opendevreviewDoug Goldstein proposed openstack/sushy master: fix spelling and make codespell pass  https://review.opendev.org/c/openstack/sushy/+/92744415:09
TheJuliaOh joy, Sphinx 9 is going to drop support for paths as strings15:13
TheJuliafiled a bug15:15
opendevreviewJulia Kreger proposed openstack/ironic master: docs: Add context around asynchronous device initialization  https://review.opendev.org/c/openstack/ironic/+/92751815:17
dtantsuranother silly issue in the ironic-tempest-plugin btw: https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/92702915:39
TheJuliaheh, likely can just run with the default15:49
opendevreviewMerged openstack/ironic master: Temporarily disable PXE booting test in the standalone job  https://review.opendev.org/c/openstack/ironic/+/92726516:06
fricklerTheJulia: I didn't see a mail about ironic doc issues, just the nova one, which got fixed.16:35
TheJulianoted use of blockdiag16:36
JayFI think we commit the results of the diagram today16:42
JayFbut still have a tox target to generate them16:42
TheJuliaHas anyone run into gpt issues with images and 4k disk controllers?17:08
cardoeJayF: i'm assuming the job templates are in another repo?18:43
JayFopendev.org/openstack/openstack-zuul-jobs ?  18:43
cardoeWould you guys want me to forcibly enabled py312 as voting in sushy?18:43
JayFyeah that's it18:44
cardoeOr just wait until that template repo turns it on?18:44
JayFI am onboard for that; but I think we'll get it for "free" soon with the next openstack platform requiring it18:44
JayFthe template is based on https://review.opendev.org/c/openstack/governance/+/926150 when it lands18:44
cardoeokay then I'll skip it. my codespell change however deletes the override that makes codespell non-voting in sushy.18:44
cido/20:03
JayF\o20:04
JayFWe need to still switch to pyproject.yaml for Ironic projects, yeah?20:08
JayFI almost want to make a topic for PTG of like ... "neglected Ironic-specific maintenance" including things like that20:08
JayFto make sure that any of the item's we are holding in our head as tech debt get documented and surfaced20:09
cardoe+1 from me pyproject.toml. It's the way of the future. Now I'm curious how pbr handles that with a setup.py20:46
JayFnova is landing one, or has landed one, I believe20:46
JayFso I think it's a jfdi (just do it) thing at this point?20:46
* JayF is going to take a swing at it right now, in fact20:47
JayFhttps://review.opendev.org/c/openstack/nova/+/899753 is the nova one, landing now20:48
cardoeI need eye bleach20:48
cardoeI thought you meant convert to pyproject.toml from setup.cfg and setup.py20:49
JayFI mainly just want our stuff working with modern pip :)20:49
cardoeYeah +120:50
cardoepbr though...20:50
opendevreviewJay Faulkner proposed openstack/ironic master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/ironic/+/92754420:51
JayFtalk about changing pbr or from pbr probably needs to be in a channel with an audience beyond just ironic20:51
cardoeoh not talking about changing but just saying how they added modern pip support.20:52
JayFin a way, we are they :)20:52
JayFI don't remember who exactly did it, but it was opendev/openstack folks20:52
clarkbyou can use pyproject.toml with PBR, but yo ucan't get rid of setup.cfg and setup.py in that case20:53
clarkbthe way it works is that you tell pyproject.toml to use the setuptools hooks for installation then that ends up running pbr20:53
clarkbhttps://opendev.org/openstack/pbr/src/branch/master/pyproject.toml.future is PBRs file that we meant to switch to after a release or two of other people using it since the chikcen and egg there is weird20:54
clarkboh ya we use backend-path = ["."] to avoid the chicken and egg20:54
clarkbhttps://opendev.org/openstack/pbr/src/branch/master/doc/source/user/using.rst#pyproject.toml and there are docs20:55
clarkbfwiw you can almost get away with pyproject.toml + setuptools + setuptools-scm instead of pbr as well. But then you lose out on a couple of features that people may be using20:56
clarkb(automatic version string generation based on commit message comments, authors generation, and the wsgi scripts stuff come to mind, there may be more)20:56
JayFso likely ironic could migrate from pbr; but I don't see any upside to that while other projects use pbr20:57
clarkbI'm not sure what the problems with pbr are though. I mean I personally have a hope we can drop it so that I can stop maintaining it but PBR has done for like 12 years now what the pypa and related tooling is only now just figuring out that people need20:57
cardoeYeah pypa dropped the ball for so long.20:58
clarkbthings like configuration based packaging instead of code based packaging20:58
clarkband integration with vcs20:58
cardoeYeah that should have been there day 120:58
cardoeLike we (as a society) knew better20:59
clarkboh pbr also records the commit you built off of in metadata20:59
JayFclarkb: you hit the nail on the head, no problems, just a general feeling that the more pots we can get our hands out of the more time we'll have for stuff that's in the cloud wheelhouse20:59
cardoeThat's my sentiment, JayF 20:59
clarkbI'm not sure if anything else does that. I saw there was a recent discussion somewhere in the python world about accepting git hashes in pep 440 versions strings after they explicitly made that a no no so people are beginning to realize this is important info again20:59
cardoeAnother thing OpenStack does well is recording the licenses for dependencies.21:00
JayFWho would've thought the governance process of a giant project could lead to strange, undesired outcomes ;) 21:00
cardoeThat's just a comment in the requirements file but that should really be recorded in the package.21:00
JayFhehe, that's what happens when you start an OSS project with corporate lawyers  :P21:00
cardoeBut I don't think pypa has that on their roadmap21:00
clarkbI think for me I could live without the wsgi scripts (just install them like any other data file or command line script, people update their config management and move on). But not needing to deal with version bump commits is a really nice feature as is recording the hash of what you built off of21:01
cardoeAgreed. I think hatch is doing that now?21:03
cardoeah. why did I go look at the setuptools code.21:04
JayFI'm trying to think of the right way to ask this .... why does pbr still require setup.cfg instead of allowing those bits in pyproject.toml? Is there an answer other than "it's busywork" (which would be a fine answer)21:04
clarkbJayF: I think the primary reason is yes its work for PBR to be modified and then for everyone to move, but also setuptools still does setup.cfg (side note they copied that from pbr then seem to have intentionally chosen an incompatible syntax yay) and there really isn't any benefit in terms of what you are trying to represent. You can do it just fine in ini21:05
JayFwait WHAT pbr was first to setup.cfg?21:06
JayFI have a weird perspective because I basically learned python in openstack21:06
JayFI never realized that was a pbrism first21:06
clarkbJayF: "yes" there was a distutils2 spec that someone wrote (probably in whatever came before pypa) and they had some good ideas in it. Then they said we're not doing that anymore because they are bad ideas21:07
clarkbmonty said no wait those are good ideas and PBR was born. So yes I think PBR was the first implementation that used setup.cfg but distutils2 may have specced it first21:07
clarkbthen like 10 years later they realized oh ya those were good ideas and implemented them all but made sure to be incompatbile21:08
JayFI think the timeline around that, I was in a server closet at Rackspace SF inventing "decomissioning" which eventually became cleaning  21:09
clarkb(and actually on the timeline I think monty was trying to make a library that could implement distutils2 before everyone upgraded to the version of python that included it then discovered they had cancelled the project before it even started)21:09
JayFbarely doing any python at all other then glue between the various linux bits21:09
clarkband when monty tried to resurrect it the reception wasn't nice21:09
clarkbat the time openstack had serious struggles with package builds for openstack projects breaking constantly. The motivation was to get behaviors encoded into  single library then you'd just configure things for a far more consistent experience21:11
clarkband PBR solved that problem pretty well. There have been a couple of unexpected hiccups but like the total number of break the world in our packaging went from 2 a week to 2 in a decade21:11
clarkbone thing that is annoying is pbr is a setup_requires and setup_requires is handled by distutils (maybe python3.11 doesn't do this anymore I don't know) but that means you don't get python version handling from pypi metadata. Anyway long story short PBR still supports python2.7 because we can't reliably prevent people with 2.7 packages from using latest PBR. If everyone21:13
clarkbchanges to pyproject.toml or if we made a PBRLite library we could fix that, but it turns out python2.7 support isn't a big deal21:14
JayFif someone is still using python 2.7 at this point, i'd have no qualms whatsoever about breaking them and handing over the pieces21:14
clarkbJayF: I think swift still supports 2.7 on master unless they finally landed the code to remove that21:15
cardoeYou hit the nail on my original comment above to jay about the bleach. The setup_requires stuff.21:15
JayFmy opinion does not change, and yes they still do https://github.com/openstack/swift/blob/master/setup.cfg#L2421:15
cardoeI'd love if the built wheels encoded the supported Python versions.21:15
clarkbwe'll probably use swift stable branches dropping support for 2.7 as an indicator we can probably drop support in pbr now21:16
JayFI am +1 to breaking workflows that use out of date, insecure platforms rather than enabling people to do bad stuff.21:16
clarkbJayF: they aren't necessarily insecure21:16
clarkbthe distros in theory maintain them in some capacity21:16
clarkband PyPy (not really at issue here) is properly maintained and does 2.721:16
JayFclarkb: My confidence in such things actually being well-supported when they are *this old* even if someone tries is very, very, very low21:16
JayFclarkb: meaning like, I buy that someone will sell you a python 2.7 they say is security supported in a way that checks boxes, but I would not trust such a promise in my production environments21:17
clarkbJayF: oh I would trust that if PyPy was doing it21:17
JayFah, so you're saying the 27 support is for pypy's 2.7 api21:18
JayFhow dare you bring a grey area into my beautiful binary argument  :P 21:18
clarkbbut ya about once a year or so someone tries to delete 2.7 and half the 3.x versions from PBR support and I have to reexplain why this isn't simple and we're not going to do it until some indeterminate time in the future. We will in theory reach that point but unfortunately we haven't reach it yet21:19
clarkbcardoe: I think the python requires info should be in the wheel somewhere, but that doesn't help if you are pip installing as it needs the info from the index21:20
clarkbhttps://review.opendev.org/c/openstack/swift/+/853590 the change is there and CI is happy with it but they aren't ready yet I guess21:22
opendevreviewJay Faulkner proposed openstack/ironic-tempest-plugin master: Validate automatic lessee  https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/92754521:30
opendevreviewJay Faulkner proposed openstack/ironic-tempest-plugin master: Validate automatic lessee  https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/92754521:31
clarkbcardoe: hatch has a plugin to pull version info from vcs (hatch-vcs). I still haven't found anything that will record git shas somewhere but maybe it is a feature of one of these plugins21:32
cardoeah I swear I read something about it.21:32
clarkboh ya https://github.com/ofek/hatch-vcs?tab=readme-ov-file#metadata-hook21:32
clarkbits a feature of that same plugin so you just have to configure things to do it. Not ideal because then half the repos won't do it, but at least workable in that it is a feature21:33
cardoeStill not something that's out of the box21:33
cardoeUltimately I agree. PBR trail blazed things that should have been in Python from ages ago. They knew they were wrong in the 2.x days and they should have really made those things happen with 3.021:34
cardoeI tell my team all the time... you've only got X tokens to spend on things. Writing your own has a constant cost forever.21:38
cardoeAt some point if pypa catches up maybe it's less headache to give a migration path.21:39
cardoeRight now I'm battling sushy and redfish.21:39
cardoeEthernetInterfaces is very lacking.21:39
cardoeWe use the Port interface for all our redfish stuff.21:40
cardoeWanting us to contribute that to sushy for example.21:40

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