From 90ddec5b28b858021e61ec0a5bd54a97dc653bf3 Mon Sep 17 00:00:00 2001 From: Nizamudeen A Date: Mon, 6 Oct 2025 09:35:33 +0530 Subject: [PATCH] cephadm-dashboard-e2e: replace docker with podman - cleanup the docker installation if its installed through docker-ce Signed-off-by: Nizamudeen A --- .../ceph-dashboard-cephadm-e2e-nightly.yml | 3 +- ceph-dashboard-cephadm-e2e/build/cleanup | 2 +- .../ceph-dashboard-cephadm-e2e.yml | 6 +++- scripts/dashboard/install-cephadm-e2e-deps.sh | 29 ++++--------------- 4 files changed, 13 insertions(+), 27 deletions(-) diff --git a/ceph-dashboard-cephadm-e2e-nightly/config/definitions/ceph-dashboard-cephadm-e2e-nightly.yml b/ceph-dashboard-cephadm-e2e-nightly/config/definitions/ceph-dashboard-cephadm-e2e-nightly.yml index 61a871274..b53a20584 100644 --- a/ceph-dashboard-cephadm-e2e-nightly/config/definitions/ceph-dashboard-cephadm-e2e-nightly.yml +++ b/ceph-dashboard-cephadm-e2e-nightly/config/definitions/ceph-dashboard-cephadm-e2e-nightly.yml @@ -15,7 +15,7 @@ project-type: freestyle defaults: global concurrent: true - node: huge && focal && x86_64 + node: huge && noble && x86_64 quiet-period: 5 block-downstream: false block-upstream: false @@ -58,6 +58,7 @@ builders: - shell: !include-raw-escape: + - ../../../scripts/setup_container_runtime.sh - ../../../scripts/dashboard/install-e2e-test-deps.sh - ../../../scripts/dashboard/install-cephadm-e2e-deps.sh - shell: | diff --git a/ceph-dashboard-cephadm-e2e/build/cleanup b/ceph-dashboard-cephadm-e2e/build/cleanup index d690cdf46..8bb6c0fc3 100755 --- a/ceph-dashboard-cephadm-e2e/build/cleanup +++ b/ceph-dashboard-cephadm-e2e/build/cleanup @@ -5,5 +5,5 @@ kcli delete plan -y ceph || true kcli delete network ceph-dashboard -y kcli delete pool ceph-dashboard -y sudo rm -rf ${HOME}/.kcli -docker container prune -f +podman container prune -f echo "Cleanup completed." diff --git a/ceph-dashboard-cephadm-e2e/config/definitions/ceph-dashboard-cephadm-e2e.yml b/ceph-dashboard-cephadm-e2e/config/definitions/ceph-dashboard-cephadm-e2e.yml index 85623ee61..51dad519f 100644 --- a/ceph-dashboard-cephadm-e2e/config/definitions/ceph-dashboard-cephadm-e2e.yml +++ b/ceph-dashboard-cephadm-e2e/config/definitions/ceph-dashboard-cephadm-e2e.yml @@ -3,7 +3,7 @@ project-type: freestyle defaults: global concurrent: true - node: huge && focal && x86_64 + node: huge && noble && x86_64 display-name: 'ceph: Dashboard + Cephadm E2E' quiet-period: 5 block-downstream: false @@ -41,6 +41,9 @@ - luminous - mimic - nautilus + - pacific + - quincy + - octopus trigger-phrase: 'jenkins test dashboard cephadm' skip-build-phrase: '^jenkins do not test.*' only-trigger-phrase: false @@ -73,6 +76,7 @@ builders: - shell: !include-raw-verbatim: + - ../../../scripts/setup_container_runtime.sh - ../../../scripts/dashboard/install-e2e-test-deps.sh - ../../../scripts/dashboard/install-cephadm-e2e-deps.sh - shell: | diff --git a/scripts/dashboard/install-cephadm-e2e-deps.sh b/scripts/dashboard/install-cephadm-e2e-deps.sh index 85f62e7b8..81158d580 100644 --- a/scripts/dashboard/install-cephadm-e2e-deps.sh +++ b/scripts/dashboard/install-cephadm-e2e-deps.sh @@ -8,7 +8,7 @@ on_error() { printf "\n\nCollecting info...\n\n" sudo journalctl --since "10 min ago" --no-tail --no-pager -x printf "\n\nERROR: displaying containers' logs:\n\n" - docker ps -aq | xargs -r docker logs + podman ps -aq | xargs -r podman logs printf "\n\nTEST FAILED.\n\n" fi } @@ -39,31 +39,12 @@ nvm install nvm use popd -sudo apt install -y libvirt-daemon-system libvirt-daemon-driver-qemu qemu-kvm libvirt-clients runc +sudo apt install -y libvirt-daemon-system libvirt-daemon-driver-qemu qemu-kvm libvirt-clients sudo usermod -aG libvirt $(id -un) newgrp libvirt # Avoid having to log out and log in for group addition to take effect. sudo systemctl enable --now libvirtd -DISTRO="$(lsb_release -cs)" - -if [[ $(command -v docker) == '' ]]; then - # Set up docker official repo and install docker. - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg - echo \ - "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ - ${DISTRO} stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - sudo apt update -y - sudo apt install -y docker-ce docker-ce-cli containerd.io -fi -sudo groupadd docker || true -sudo usermod -aG docker $(id -un) -sudo systemctl start docker -sudo chgrp "$(id -un)" /var/run/docker.sock - -docker info -docker container prune -f - KCLI_CONFIG_DIR="${HOME}/.kcli" mkdir -p ${KCLI_CONFIG_DIR} if [[ ! -f "${KCLI_CONFIG_DIR}/id_rsa" ]]; then @@ -72,11 +53,11 @@ fi : ${KCLI_CONTAINER_IMAGE:='quay.io/karmab/kcli:2543a61'} -docker pull ${KCLI_CONTAINER_IMAGE} +podman pull ${KCLI_CONTAINER_IMAGE} echo "#!/usr/bin/env bash -docker run --net host --security-opt label=disable \ +podman run --rm --net host --security-opt label=disable \ -v ${KCLI_CONFIG_DIR}:/root/.kcli \ -v ${PWD}:/workdir \ -v /var/lib/libvirt/images:/var/lib/libvirt/images \ @@ -89,6 +70,6 @@ sudo chmod +x /usr/local/bin/kcli # KCLI cleanup function can be found here: https://github.com/ceph/ceph/blob/main/src/pybind/mgr/dashboard/ci/cephadm/start-cluster.sh sudo mkdir -p /var/lib/libvirt/images/ceph-dashboard kcli delete plan ceph -y || true -kcli delete network ceph-dashboard -y +kcli delete network ceph-dashboard -y || true kcli create pool -p /var/lib/libvirt/images/ceph-dashboard ceph-dashboard kcli create network -c 192.168.100.0/24 ceph-dashboard -- 2.47.3