mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-11-22 22:30:23 +00:00
8ee790a44d
When podman2minukube is called, the output to stdout is lost. This makes debugging issues difficult. Log the output, so that the name of the image that is pushed into minikube can be verified. Signed-off-by: Niels de Vos <ndevos@redhat.com>
37 lines
1.0 KiB
Bash
Executable File
37 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# When an image was built with podman, it needs importing into minikube.
|
|
#
|
|
# Some versions of minikube/docker add a "localhost/" prefix to imported
|
|
# images. In that case, the image needs to get tagged without the prefix as
|
|
# well.
|
|
#
|
|
|
|
# fail when a command returns an error
|
|
set -e -o pipefail
|
|
|
|
# "minikube ssh" fails to read the image, so use standard ssh instead
|
|
function minikube_ssh() {
|
|
ssh \
|
|
-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
|
|
-l docker -i "$(minikube ssh-key)" \
|
|
"$(minikube ip)" "${*}"
|
|
}
|
|
|
|
IMAGE="${1}"
|
|
# if IMAGE is empty, fail the script
|
|
[ -n "${IMAGE}" ]
|
|
|
|
# import the image, save response in STDOUT
|
|
STDOUT=$(podman image save "${IMAGE}" | minikube_ssh docker image load)
|
|
echo "${STDOUT}"
|
|
|
|
# check the name of the image that was imported in docker
|
|
DOCKER_IMAGE=$(awk '/Loaded image/ {print $NF}' <<< "${STDOUT}")
|
|
|
|
# strip "localhost/" from the image name
|
|
if [[ "${DOCKER_IMAGE}" =~ ^localhost/* ]]
|
|
then
|
|
minikube_ssh docker tag "${DOCKER_IMAGE}" "${IMAGE}"
|
|
fi
|