From: Yael Azulay Date: Tue, 30 Jun 2026 18:33:48 +0000 (+0300) Subject: qa/workunits: skip unpublished stable repos in test_repos.sh X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a691404841ae99d96ab0f5578483d3f8c26dac8a;p=ceph.git qa/workunits: skip unpublished stable repos in test_repos.sh Probe download.ceph.com before each stable add-repo and skip releases that are not published for the current distro. This avoids apt/yum failures on newer OS versions (e.g. Ubuntu 24.04/noble) where older stable trees like quincy and reef were never published. Fixes: http://tracker.ceph.com/issues/77248 Signed-off-by: Yael Azulay --- diff --git a/qa/workunits/cephadm/test_repos.sh b/qa/workunits/cephadm/test_repos.sh index 2a729923261..9c7c74b6c89 100755 --- a/qa/workunits/cephadm/test_repos.sh +++ b/qa/workunits/cephadm/test_repos.sh @@ -30,16 +30,51 @@ function test_install_uninstall() { sudo zypper -n remove cephadm ) } -sudo $CEPHADM -v add-repo --release quincy -test_install_uninstall -sudo $CEPHADM -v rm-repo +function test_release() { + local release=$1 + sudo $CEPHADM -v add-repo --release "$release" + test_install_uninstall + sudo $CEPHADM -v rm-repo +} + +REPO_URL="${REPO_URL:-https://download.ceph.com}" + +function release_published() { + local release=$1 + local base + + if grep -q debian /etc/*-release; then + . /etc/os-release + base="${REPO_URL}/debian-${release}/dists/${VERSION_CODENAME}" + curl -sf -o /dev/null "${base}/InRelease" && return 0 + curl -sf -o /dev/null "${base}/Release" && return 0 + return 1 + elif grep -q rhel /etc/*-release; then + . /etc/os-release + curl -sf -o /dev/null \ + "${REPO_URL}/rpm-${release}/el${VERSION_ID%%.*}/noarch/repodata/repomd.xml" + else + return 1 + fi +} + +function test_release_if_published() { + local release=$1 + if ! release_published "$release"; then + echo "Skipping release $release (not published for this distro)" + return 0 + fi + test_release "$release" +} sudo $CEPHADM -v add-repo --dev main test_install_uninstall sudo $CEPHADM -v rm-repo -sudo $CEPHADM -v add-repo --release 17.2.7 -test_install_uninstall -sudo $CEPHADM -v rm-repo +test_release_if_published reef +test_release_if_published 18.2.8 +test_release_if_published squid +test_release_if_published 19.2.4 +test_release_if_published tentacle echo OK.