Files
my-rook-config/tests/scripts/minikube.sh
T

112 lines
3.3 KiB
Bash
Raw Normal View History

2017-06-29 15:19:41 -07:00
#!/bin/bash -e
scriptdir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
# shellcheck disable=SC1090
2017-06-29 15:19:41 -07:00
source "${scriptdir}/../../build/common.sh"
2017-10-16 15:18:26 -07:00
function wait_for_ssh() {
2017-06-29 15:19:41 -07:00
local tries=100
while (( tries > 0 )) ; do
if minikube ssh echo connected &> /dev/null ; then
2017-06-29 15:19:41 -07:00
return 0
fi
tries=$(( tries - 1 ))
2017-06-29 15:19:41 -07:00
sleep 0.1
done
echo ERROR: ssh did not come up >&2
exit 1
}
2017-10-16 15:18:26 -07:00
function copy_image_to_cluster() {
2017-07-21 12:07:15 -07:00
local build_image=$1
local final_image=$2
docker save "${build_image}" | (eval "$(minikube docker-env --shell bash)" && docker load && docker tag "${build_image}" "${final_image}")
2017-06-29 15:19:41 -07:00
}
2018-07-31 14:57:48 -06:00
function copy_images() {
if [[ "$1" == "" || "$1" == "ceph" ]]; then
echo "copying ceph images"
2018-07-31 14:57:48 -06:00
copy_image_to_cluster "${BUILD_REGISTRY}/ceph-amd64" rook/ceph:master
# uncomment to push the nautilus image when needed
#copy_image_to_cluster ceph/ceph:v14 ceph/ceph:v14
2018-07-31 14:57:48 -06:00
fi
if [[ "$1" == "" || "$1" == "cockroachdb" ]]; then
echo "copying cockroachdb image"
copy_image_to_cluster "${BUILD_REGISTRY}/cockroachdb-amd64" rook/cockroachdb:master
fi
2018-11-19 04:31:45 +02:00
if [[ "$1" == "" || "$1" == "cassandra" ]]; then
echo "copying cassandra image"
copy_image_to_cluster "${BUILD_REGISTRY}/cassandra-amd64" rook/cassandra:master
fi
2018-08-14 20:23:04 +00:00
if [[ "$1" == "" || "$1" == "nfs" ]]; then
echo "copying nfs image"
copy_image_to_cluster "${BUILD_REGISTRY}/nfs-amd64" rook/nfs:master
fi
2019-08-14 19:54:05 +05:30
if [[ "$1" == "" || "$1" == "yugabytedb" ]]; then
echo "copying yugabytedb image"
copy_image_to_cluster "${BUILD_REGISTRY}/yugabytedb-amd64" rook/yugabytedb:master
fi
2018-07-31 14:57:48 -06:00
}
2018-01-11 12:47:18 -08:00
# configure minikube
MEMORY=${MEMORY:-"3000"}
2017-06-29 15:19:41 -07:00
# use vda1 instead of sda1 when running with the libvirt driver
2019-05-22 13:42:19 +05:30
VM_DRIVER=$(minikube config get vm-driver 2>/dev/null || echo "virtualbox")
if [[ "$VM_DRIVER" == "kvm2" ]]; then
DISK="vda1"
else
DISK="sda1"
fi
2017-06-29 15:19:41 -07:00
case "${1:-}" in
up)
echo "starting minikube with kubeadm bootstrapper"
2019-04-16 11:32:51 -06:00
minikube start --memory="${MEMORY}" -b kubeadm --vm-driver="${VM_DRIVER}"
wait_for_ssh
# create a link so the default dataDirHostPath will work for this environment
2019-08-26 16:09:16 +02:00
minikube ssh "sudo mkdir -p /mnt/${DISK}/rook/ && sudo ln -sf /mnt/${DISK}/rook/ /var/lib/"
2018-07-31 14:57:48 -06:00
copy_images "$2"
2017-06-29 15:19:41 -07:00
;;
down)
minikube stop
;;
2017-07-20 23:30:32 -07:00
ssh)
echo "connecting to minikube"
minikube ssh
2017-07-20 23:30:32 -07:00
;;
update)
2018-07-31 14:57:48 -06:00
copy_images "$2"
2017-07-20 23:30:32 -07:00
;;
2017-08-02 13:35:31 -07:00
wordpress)
echo "copying the wordpress images"
copy_image_to_cluster mysql:5.6 mysql:5.6
copy_image_to_cluster wordpress:4.6.1-apache wordpress:4.6.1-apache
;;
cockroachdb-loadgen)
echo "copying the cockroachdb loadgen images"
copy_image_to_cluster cockroachdb/loadgen-kv:0.1 cockroachdb/loadgen-kv:0.1
;;
2017-08-24 14:55:01 -07:00
helm)
echo " copying rook image for helm"
helm_tag="$(cat _output/version)"
copy_image_to_cluster "${BUILD_REGISTRY}/ceph-amd64" "rook/ceph:${helm_tag}"
2017-08-24 14:55:01 -07:00
;;
2017-06-29 15:19:41 -07:00
clean)
minikube delete
;;
*)
echo "usage:" >&2
2019-12-06 13:43:53 -07:00
echo " $0 up [ceph | cockroachdb | cassandra | nfs | yugabytedb]" >&2
2017-06-29 15:19:41 -07:00
echo " $0 down" >&2
echo " $0 clean" >&2
2017-08-02 13:35:31 -07:00
echo " $0 ssh" >&2
2019-12-06 13:43:53 -07:00
echo " $0 update [ceph | cockroachdb | cassandra | nfs | yugabytedb]" >&2
2017-08-02 13:35:31 -07:00
echo " $0 wordpress" >&2
echo " $0 cockroachdb-loadgen" >&2
echo " $0 helm" >&2
2017-06-29 15:19:41 -07:00
esac