Bug #61690
mgr/dashboard: install_deps.sh fails on vanilla CentOS 8 Stream
0%
Description
Description of problem¶
[pdonnell@sepian ceph]$ ./install-deps.sh ... ERROR: Could not find a version that satisfies the requirement jsonschema==4.16.0 (from -r requirements-lint.txt (line 11)) (from versions: 0.1a0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8.0, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 3.0.0a1, 3.0.0a2, 3.0.0a3, 3.0.0a4, 3.0.0a5, 3.0.0a6, 3.0.0b1, 3.0.0b2, 3.0.0b3, 3.0.0, 3.0.1, 3.0.2, 3.1.0, 3.1.1, 3.2.0, 4.0.0a1, 4.0.0a2, 4.0.0a3, 4.0.0a4, 4.0.0a5, 4.0.0a6, 4.0.0) ERROR: No matching distribution found for jsonschema==4.16.0 (from -r requirements-lint.txt (line 11))
Environment¶
ceph version
string: main- Platform (OS/distro/release): CentOS 8 Stream
- Cluster details (nodes, monitors, OSDs):
- Did it happen on a stable environment or after a migration/upgrade?:
- Browser used (e.g.:
Version 86.0.4240.198 (Official Build) (64-bit)
):
Related issues
History
#1 Updated by Ernesto Puerta 6 months ago
- Category set to Build, CI, Dependencies & Tools
- Status changed from New to Triaged
- Assignee set to Pere Díaz Bou
Reproducer (run on Ceph repo root dir):
$ docker run -ti -v $PWD:/ceph quay.io/centos/centos:stream8 /ceph/install-deps.sh
...
ERROR: Could not find a version that satisfies the requirement jsonschema~=4.16 (from versions: 0.1a0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8.0, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 2.0.0, 2.1.0, 2.2.0, 2.3.0, 2.4.0, 2.5.0, 2.5.1, 2.6.0, 3.0.0a1, 3.0.0a2, 3.0.0a3, 3.0.0a4, 3.0.0a5, 3.0.0a6, 3.0.0b1, 3.0.0b2, 3.0.0b3, 3.0.0, 3.0.1, 3.0.2, 3.1.0, 3.1.1, 3.2.0, 4.0.0a1, 4.0.0a2, 4.0.0a3, 4.0.0a4, 4.0.0a5, 4.0.0a6, 4.0.0)
ERROR: No matching distribution found for jsonschema~=4.16
I managed to get rid of it with jsonschema~=4.0
, which is equivalent to jsonschema>=4.0,<5.0
, but I haven't tested if the differences between 4.0 and 4.16 break some other part of the CI.
Assigned to Pere, as he added that line.
#2 Updated by Nizamudeen A 6 months ago
- Status changed from Triaged to Fix Under Review
- Assignee changed from Pere Díaz Bou to Nizamudeen A
- Backport set to reef, quincy
- Pull request ID set to 52095
Ernesto, I tested it locally and the fix works. thanks
#3 Updated by Patrick Donnelly 5 months ago
Ernesto Puerta wrote:
$ docker run -ti -v $PWD:/ceph quay.io/centos/centos:stream8 /ceph/install-deps.sh
... that's a great test for our supported distributions. Should that be easy to add as a jenkins test Ernesto?
#4 Updated by Ernesto Puerta 5 months ago
- Status changed from Fix Under Review to Pending Backport
#5 Updated by Backport Bot 5 months ago
- Copied to Backport #61714: reef: mgr/dashboard: install_deps.sh fails on vanilla CentOS 8 Stream added
#6 Updated by Backport Bot 5 months ago
- Copied to Backport #61715: quincy: mgr/dashboard: install_deps.sh fails on vanilla CentOS 8 Stream added
#7 Updated by Backport Bot 5 months ago
- Tags set to backport_processed
#8 Updated by Ernesto Puerta 5 months ago
Patrick Donnelly wrote:
Ernesto Puerta wrote:
$ docker run -ti -v $PWD:/ceph quay.io/centos/centos:stream8 /ceph/install-deps.sh
... that's a great test for our supported distributions. Should that be easy to add as a jenkins test Ernesto?
I like that idea. Based on what I remember, David said most of our Jenkins nodes (at least the Ubuntu ones) didn't have Docker installed, so we should start installing it. We used the #docker Jenkins label to tag those with Docker support.
And at that point we may perhaps consider running a containerized Jenkins job, since Jenkins automatically manages the container. I started this PR a while ago, but never finished. Then John Mulligan took over, but I'm afraid that he didn't reach much further...
If we consider this valuable (testing deps on all our supported platforms per PR), instead of trying to bring total feature parity with make check
, we could do that progressively without disabling make check
(e.g.: first passing the install-deps.sh
stage, after that the configure
, etc.). IMHO each individual step brings value because:
- it tests that for every possible platform vs. the current approach that only tests against 1 (random) platform,
- being containerized, it ensures clean & reproducible environments, unlike the ones we have now where we often see CI failures due to environment issues.
#9 Updated by Patrick Donnelly 5 months ago
Ernesto Puerta wrote:
Patrick Donnelly wrote:
Ernesto Puerta wrote:
$ docker run -ti -v $PWD:/ceph quay.io/centos/centos:stream8 /ceph/install-deps.sh
... that's a great test for our supported distributions. Should that be easy to add as a jenkins test Ernesto?
I like that idea. Based on what I remember, David said most of our Jenkins nodes (at least the Ubuntu ones) didn't have Docker installed, so we should start installing it. We used the #docker Jenkins label to tag those with Docker support.
And at that point we may perhaps consider running a containerized Jenkins job, since Jenkins automatically manages the container. I started this PR a while ago, but never finished. Then John Mulligan took over, but I'm afraid that he didn't reach much further...
That looks really good! Hope it can be picked up again.
If we consider this valuable (testing deps on all our supported platforms per PR), instead of trying to bring total feature parity with
make check
, we could do that progressively without disablingmake check
(e.g.: first passing theinstall-deps.sh
stage, after that theconfigure
, etc.). IMHO each individual step brings value because:
- it tests that for every possible platform vs. the current approach that only tests against 1 (random) platform,
- being containerized, it ensures clean & reproducible environments, unlike the ones we have now where we often see CI failures due to environment issues.
agreed