]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
qa/workunits: skip unpublished stable repos in test_repos.sh 69847/head
authorYael Azulay <yaelazulay@redhat.com>
Tue, 30 Jun 2026 18:33:48 +0000 (21:33 +0300)
committerYael Azulay <yaelazulay@redhat.com>
Mon, 13 Jul 2026 12:10:44 +0000 (15:10 +0300)
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 <yazulay@redhat.com>
qa/workunits/cephadm/test_repos.sh

index 2a729923261ec8553a435bc741b0241b75ddb117..9c7c74b6c89512c03e22f3dd726eddc4102c276d 100755 (executable)
@@ -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.