Thursday, 2025-07-17

*** elodilles is now known as elodilles_pto06:15
opendevreviewMerged openstack/requirements master: update constraint for oslo.messaging to new release 17.1.0  https://review.opendev.org/c/openstack/requirements/+/95474411:59
stephenfinfungi: Are you aware of an issue with wheels having their periods replaced with underscores?13:40
stephenfinfor example: the wheel for oslo.messaging 14.9.2 uses underscores https://pypi.org/project/oslo.messaging/14.9.2/#files13:43
stephenfin...while the wheel for oslo.log 6.1.2 uses periods https://pypi.org/project/oslo.log/6.1.2/#files13:43
fungistephenfin: i'm not aware of any issue with it, no, they should have periods in their names replaced by underscores because that's proper filename normalization for wheels13:49
fungioslo.log is a display name, but oslo_log is the normalized for that needs to appear in wheel and sdist filenames13:49
fungis/for/form/13:49
stephenfinfungi: That may be the case, but it wasn't happening previously. See oslo.messaging 14.9.1 for example https://pypi.org/project/oslo.messaging/14.9.1/#files13:50
fungiright, setuptools fixed that last year13:51
fungithough i think it didn't take effect for our release builds until we switched from invoking setup.py directly to using pyproject-build since that resulted in pulling in latest setuptools (previously we were building with an outdated setuptools version)13:51
fungiaround january/february of this year i think, i'd have to check for the exact merge date in zuul-jobs13:52
stephenfinfungi: okay. However, it seems pkg_resources on Python 3.8 doesn't handle that normalization. Try this out https://paste.opendev.org/show/bJK73CFFx1rMAQw4e9ej/13:53
stephenfinIt will fail because oslo.messaging is not found13:54
stephenfin(I'm guessing it should be searching for oslo_messaging)13:54
fungistephenfin: yeah, this has come up several times in recent discussion, it breaks the way we had previously been scanning for entrypoints in wsgi scripts i think?13:54
fungisome projects fixed that by backporting a move off the generated wsgi scripts13:55
stephenfinI think that's a separate but related issue (i.e. where designate migrated from wsgi_scripts entrypoint to the old school scripts option, which invokes pkg_resources13:56
stephenfin)13:56
stephenfinthe issue I'm talking about is this one https://review.opendev.org/c/openstack/requirements/+/95342013:56
fungiif we want a proper fix for it, we should probably be normalizing on both sides (list all entrypoints and normalize the names in them with a mapping, normalize the name in what we're searching for, then look for a match in the map and use it to lookup the file)13:56
stephenfinthe failing py38 job there13:56
fungistephenfin: i wonder if we could just drop that job... stable/2024.1 ceases maintenance in 2.5 months and stable/2024.2 doesn't need to test with anything older than python 3.914:02
fungiit may not be worth a ton of work to fix a regression in external tool compatibility that will only matter to openstack for a couple more months14:03
stephenfinfungi: Quite possibly. It appears the issue was fixed in setuptools v76.0.0 also14:04
stephenfinbut that requires 3.914:04
stephenfinI imagine the pypa folks won't care to release a new v75.3.4 release. I will open a bug report in any case.14:05
fungiyeah, unless there's a pressing reason to implement a workaround i'd just leave it, but if they do consider making a backported fix then that's great of course14:06
fungiassuming we need to merge constraints changes to stable/2024.1 in the coming few weeks i'd say drop that job and assume things generally work or on the rare chance that they don't we'll find out downstream of the constraints update in one of the projects (if they're even merging any more changes on that branch)14:07
fungianything else feels like a lot of effort for little gain, possibly even no gain whatsoever14:08
fungiif we'd introduced a backward incompatibility ourselves, e.g. in pbr, it would be a different matter, but we don't have much control over incompatibilities between packages made with new setuptools versions and python that can only run old setuptools versions. thankfully it only impacts a handful of projects with . or - in their names so not pbr14:13
fungiand not even for most common uses of those packages, only things that involve lookups by dist metadata14:14
fungifrickler did a ton of digging into this general problem too, so probably has opinions14:15
stephenfinfungi: https://github.com/pypa/setuptools/issues/505114:34
stephenfingiven the fix is available in later releases, I'm hoping a backport should be realistic but we shall see14:35
fungii assume it'll come down to whether they have any interest at all in maintaning a compatibility branch for an eol python interpreter14:47
fungisince 3.8 went eol about 9 months ago14:48
stephenfinfungi: An alternative option is for us to stop normalizing for stable/2024.1, though again we're back to the question of effort vs. reward given the remaining support period for 2024.114:51
fricklerstephenfin: fungi: 2024.2 is affected as well15:04
frickleralso just because py3.8 is eol upstream doesn't make it eol for stable distros15:04
stephenfinfrickler: but the minimum python version for stable/2024.2 is 3.9? https://governance.openstack.org/tc/reference/runtimes/2024.2.html15:05
frickleryes, the wsgi issue even happens on jammy with 3.10 afaict15:05
stephenfinand yeah, I get the upstream/downstream difference: I referenced that in the setuptools bug15:05
stephenfinyou're talking about the designate issue?15:06
stephenfindesignate/octavia?15:06
stephenfinif so, I have a fix up for almost 2 months that has yet to be reviewed, despite repeated requests https://review.opendev.org/c/openstack/designate/+/95056915:07
stephenfinmy bet is that the environments are all using system setuptools which is < 75.8.2 (the version where this issue was fixed)15:08
fricklerstephenfin: ah, yes, that patch might fix it. I'll try to ping people in the dns channel again15:10
fricklerralonsoh: do you still have your test patch for 2024.2 open? couldn't find it right now15:10
ralonsohfrickler, sorry what patch?15:15
ralonsohI need to go right now, but I'll be back in 2 hours15:15
ralonsohsorry15:15
fricklerthere was a neutron(?) patch depending on the oslo.utils bump for 2024.2 showing the failure, maybe that could add stephenfin's proposed fix as dependency to verify it15:35

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