Zuul fails with either 404 or Invalid version: 'cpython'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Critical
|
Leonardo Fagundes Luz Serrano |
Bug Description
Brief Description
-----------------
Reviews fail zuul and logs mention either:
- Some package failed download with a 404 error
- "pip._vendor.
Tox doesn't fail locally.
Severity
--------
Critical - No reviews can merge
Steps to Reproduce
------------------
Send a review to one of the affected repos, which include most apps.
Expected Behavior
------------------
Zuul passes if the review can pass tox locally
Actual Behavior
----------------
Reviews failing zuul
Reproducibility
---------------
Reproducible
System Configuration
-------
NA
Branch/Pull Time/Commit
-------
20240625
Last Pass
---------
Last week
Timestamp/Logs
--------------
======> 404
2024-06-24 06:56:22.872325 | debian-bullseye | Fetching project page and analyzing links: https:/
2024-06-24 06:56:22.872332 | debian-bullseye | Getting page https:/
2024-06-24 06:56:22.872340 | debian-bullseye | Found index url https:/
2024-06-24 06:56:22.872353 | debian-bullseye | Looking up "https:/
2024-06-24 06:56:22.872362 | debian-bullseye | Request header has "max_age" as 0, cache bypassed
2024-06-24 06:56:22.872369 | debian-bullseye | No cache entry available
2024-06-24 06:56:22.872388 | debian-bullseye | https:/
2024-06-24 06:56:22.872395 | debian-bullseye | Status code 404 not in (200, 203, 300, 301, 308)
2024-06-24 06:56:22.872402 | debian-bullseye | Could not fetch URL https:/
2024-06-24 06:56:22.872415 | debian-bullseye | Skipping link: not a file: https:/
2024-06-24 06:56:22.872423 | debian-bullseye | Skipping link: not a file: https:/
2024-06-24 06:56:22.872430 | debian-bullseye | Given no hashes to check 14 links for project 'tomli': discarding no candidates
2024-06-24 06:56:22.872437 | debian-bullseye | Collecting tomli>=1.1.0 (from pylint->-r /home/zuul/
2024-06-24 06:56:22.872444 | debian-bullseye | Obtaining dependency information for tomli>=1.1.0 from https:/
2024-06-24 06:56:22.872452 | debian-bullseye | Created temporary directory: /tmp/pip-
2024-06-24 06:56:22.872458 | debian-bullseye | Found index url https:/
2024-06-24 06:56:22.872465 | debian-bullseye | Looking up "https:/
2024-06-24 06:56:22.872472 | debian-bullseye | No cache entry available
2024-06-24 06:56:22.872491 | debian-bullseye | No cache entry available
2024-06-24 06:56:22.872498 | debian-bullseye | Resetting dropped connection: mirror.
2024-06-24 06:56:22.872517 | debian-bullseye | https:/
2024-06-24 06:56:22.872527 | debian-bullseye | Downloading https:/
2024-06-24 06:56:22.872534 | debian-bullseye | Ignoring unknown cache-control directive: immutable
2024-06-24 06:56:22.872542 | debian-bullseye | Updating cache with response from "https:/
2024-06-24 06:56:22.872549 | debian-bullseye | etag object cached for 1209600 seconds
2024-06-24 06:56:22.872561 | debian-bullseye | Caching due to etag
===> cpython
ERROR: Exception:
Traceback (most recent call last):
File "/usr/local/
return self.__dep_map
File "/usr/local/
raise AttributeError(
AttributeError: _DistInfoDistri
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/
status = run_func(*args)
File "/usr/local/
return func(self, options, args)
File "/usr/local/
requirement_set = resolver.resolve(
File "/usr/local/
result = self._result = resolver.resolve(
File "/usr/local/
state = resolution.
File "/usr/local/
self.
File "/usr/local/
if not criterion.
File "/usr/local/
return bool(self.
File "/usr/local/
return any(self)
File "/usr/local/
return (c for c in iterator if id(c) not in self._incompati
File "/usr/local/
candidate = func()
File "/usr/local/
base: Optional[
File "/usr/local/
self.
File "/usr/local/
super(
File "/usr/local/
self.dist = self._prepare()
File "/usr/local/
self.
File "/usr/local/
list(
File "/usr/local/
return self._extra_
File "/usr/local/
canonicaliz
File "/usr/local/
return [dep for dep in self._dep_map if dep]
File "/usr/local/
self.__dep_map = self._compute_
File "/usr/local/
common = types.MappingPr
File "/usr/local/
if not req.marker or req.marker.
File "/usr/local/
return _evaluate_
File "/usr/local/
groups[
File "/usr/local/
return spec.contains(lhs, prereleases=True)
File "/usr/local/
normalized_item = _coerce_
File "/usr/local/
version = Version(version)
File "/usr/local/
raise InvalidVersion(
pip._vendor.
Test Activity
-------------
Posting commits for review
Workaround
----------
Unknown
Changed in starlingx: | |
status: | New → In Progress |
Changed in starlingx: | |
importance: | Undecided → Critical |
tags: | added: stx.10.0 stx.zuul |
The "cpython" issue was reproduced locally. Turns out to be an incompatibility between pip 24.1 and pyzmq 20.0.0
Steps to reproduce:
docker run -it debian:bullseye bash
apt-get update user-action= ignore pyzmq==20.0.0
apt-get install python3
apt-get install pip
pip install pip==24.1
pip install --root-
Version 21.0.2 does not reproduce the error.