ci(integration): switch linstor-client install to GitHub tarball#7
ci(integration): switch linstor-client install to GitHub tarball#7kvaps wants to merge 1 commit into
Conversation
|
Note Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The previous apt-get install path failed on ubuntu-latest (noble): LINBIT
ships linstor-client debs only for Debian (bookworm/bullseye/buster/trixie)
and on the LINBIT PPA, neither of which covers noble. `apt-get install
linstor-client` exits with "Unable to locate package".
The PyPI route is also a dead end: only `python-linstor` is published
there; `linstor-client` and the bare `linstor` package name are NOT on
PyPI, so `pip install linstor-client` exits with "No matching distribution
found".
Install path that actually works on ubuntu:24.04 (validated locally in a
fresh container):
1. pip install `python-linstor==1.27.1` + `argcomplete` from PyPI for
the runtime deps.
2. pip install the v1.27.1 tarball directly from
https://github.com/LINBIT/linstor-client/archive/refs/tags/v1.27.1.tar.gz
with `--no-deps` to bypass an upstream setup.py typo (missing comma
joins `python3-setuptools` + `python-linstor` into one malformed
requirement).
Version pin is deliberate: tests/integration/group_h_test.go explicitly
documents that it is written against linstor-client 1.27.1 CLI behaviour.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
1213add to
d12f4ee
Compare
|
Superseded by #10 (bundled with the other two CI cleanups so the pipeline runs once). |
Summary
The integration job's
linstor-clientinstall step was failing onubuntu-latest(noble). Switch it to a working install path that gets PR CI back to green.Why the previous attempts failed
apt-get install -y linstor-client python3-linstor→Unable to locate package. LINBIT only ships debs for Debian (bookworm/bullseye/buster/trixie) and on the LINBIT PPA; neither covers noble.python3 -m pip install --break-system-packages linstor-client python-linstor→No matching distribution found for linstor-client. Onlypython-linstoris on PyPI;linstor-clientand the barelinstorpackage name are not.What works
Install path validated locally inside a fresh
ubuntu:24.04container:pip install python-linstor==1.27.1 argcompletefrom PyPI (the runtime deps).pip install --no-deps https://github.com/LINBIT/linstor-client/archive/refs/tags/v1.27.1.tar.gzfrom GitHub.--no-depsis needed to dodge an upstreamsetup.pytypo (missing comma joinspython3-setuptools+python-linstorinto one malformed requirement name); the runtime deps are pinned explicitly in step 1.After install,
linstor --versionprintslinstor-client 1.27.1; GIT-hash: UNKNOWN, which is the exact versiontests/integration/group_h_test.gois written against.Tradeoffs
setup.py, we can drop--no-depsand either bump the pin or float to a range. The pin is intentional (matches what the integration harness asserts on), not just a workaround.piraeusdatastore/piraeus-client(option 5 from the task), but that image is last-updated June 2024 and would still pin us to v1.22.1. The tarball path gets us 1.27.1 with zero infra moving parts.How to verify
Locally:
In CI: watch the Integration job on this PR — the
Install linstor-clientstep should finish withlinstor-client 1.27.1; GIT-hash: UNKNOWNand subsequent integration tests should run.Related
The
pull-request.ymlconsolidated workflow (on branchci/pull-request-pipeline, PR #6) has an equivalent broken install step usingpip install linstor-client python-linstorand acontinue-on-error: truemuzzle on the integration job. That branch needs the same fix applied +continue-on-error: truedropped — handled separately since the file does not exist onmainyet.