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
- luminous
- mimic
- nautilus
+ - pacific
+ - quincy
+ - octopus
trigger-phrase: 'jenkins test dashboard cephadm'
skip-build-phrase: '^jenkins do not test.*'
only-trigger-phrase: false
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: |
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
}
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
: ${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 \
# 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