ci: do not install Docker on the minikube host

Installing Docker CE on CentOS-8 currently conflicts with Podman. Both
tools can not be installed at the same time.

Instead of using the Docker command to push the image to to minikube VM,
read the image from stdin over ssh and load it with the Docker command
that is available inside the VM.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
This commit is contained in:
Niels de Vos 2020-09-24 11:29:31 +02:00 committed by mergify[bot]
parent 118015d762
commit b5223f7620

View File

@ -75,14 +75,6 @@ function set_env() {
export PATH=$PATH:/usr/local/bin export PATH=$PATH:/usr/local/bin
} }
# FIXME: unfortunately minikube does not work with podman (yet)
function install_docker()
{
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
dnf -y --nobest install docker-ce
systemctl enable --now docker
}
function install_minikube() function install_minikube()
{ {
dnf -y groupinstall 'Virtualization Host' dnf -y groupinstall 'Virtualization Host'
@ -130,7 +122,12 @@ function deploy_rook()
# When an image was built with podman, it needs importing into minikube. # When an image was built with podman, it needs importing into minikube.
function podman2minikube() function podman2minikube()
{ {
podman image save "${1}" | (eval "$(minikube docker-env --shell bash)" && docker image load) # "minikube ssh" fails to read the image, so use standard ssh instead
podman image save "${1}" | \
ssh \
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
-l docker -i "$(minikube ssh-key)" \
"$(minikube ip)" docker image load
} }
# Set environment variables # Set environment variables
@ -139,7 +136,6 @@ set_env
# prepare minikube environment # prepare minikube environment
install_minikube install_minikube
install_docker
podman2minikube "quay.io/cephcsi/cephcsi:${CSI_IMAGE_VERSION}" podman2minikube "quay.io/cephcsi/cephcsi:${CSI_IMAGE_VERSION}"
deploy_rook deploy_rook