kolla-kubernetes/tests/bin/build_test_ceph.sh

100 lines
2.6 KiB
Bash
Executable File

#!/bin/bash -xe
VERSION=0.6.0-1
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
IP="$3"
base_distro="$2"
gate_job="$1"
tunnel_interface="$4"
. "$DIR/tests/bin/common_workflow_config.sh"
function general_config {
common_workflow_config $IP $base_distro $tunnel_interface
}
function ceph_config {
echo "node: $(hostname -s)"
echo "storage_interface: $tunnel_interface"
echo "initial_member: $(hostname -s)"
echo "initial_mon: $(hostname -s)"
echo "ceph:"
echo " monitors:"
echo " - $IP"
}
general_config > /tmp/general_config.yaml
ceph_config > /tmp/ceph_config.yaml
function wait_for_ceph_bootstrap {
set +x
end=$(date +%s)
end=$((end + 120))
while true; do
kubectl get pods --namespace=$1 | grep ceph-bootstrap-osd && \
PENDING=True || PENDING=False
[ $PENDING == "False" ] && break
sleep 1
now=$(date +%s)
[ $now -gt $end ] && echo containers failed to start. && \
kubectl get pods --namespace $1 && exit -1
done
}
kollakube res create configmap ceph-mon ceph-osd
helm install kolla/test-ceph-init-mon-job --version $VERSION \
--namespace kolla \
--name test-ceph-init-mon-job \
--values /tmp/general_config.yaml \
--values /tmp/ceph_config.yaml
$DIR/tools/pull_containers.sh kolla
$DIR/tools/wait_for_pods.sh kolla
$DIR/tools/setup-ceph-secrets.sh
helm install kolla/test-ceph-mon-daemonset --version $VERSION \
--namespace kolla \
--name test-ceph-mon-daemonset \
--values /tmp/general_config.yaml \
--values /tmp/ceph_config.yaml
$DIR/tools/wait_for_pods.sh kolla
helm install kolla/test-ceph-init-osd-job --version $VERSION \
--namespace kolla \
--name test-ceph-init-osd0-job \
--values /tmp/general_config.yaml \
--values /tmp/ceph_config.yaml \
--set index=0
$DIR/tools/pull_containers.sh kolla
$DIR/tools/wait_for_pods.sh kolla
wait_for_ceph_bootstrap kolla
helm install kolla/test-ceph-init-osd-job --version $VERSION \
--namespace kolla \
--name test-ceph-init-osd1-job \
--values /tmp/general_config.yaml \
--values /tmp/ceph_config.yaml \
--set index=1
$DIR/tools/wait_for_pods.sh kolla
wait_for_ceph_bootstrap kolla
helm delete --purge test-ceph-init-osd0-job
helm delete --purge test-ceph-init-osd1-job
kollakube res create pod ceph-osd0
kollakube res create pod ceph-osd1
$DIR/tools/wait_for_pods.sh kolla
kubectl exec ceph-osd0 -c main --namespace=kolla -- /bin/bash -c \
"cat /etc/ceph/ceph.conf" > /tmp/$$
kubectl create configmap ceph-conf --namespace=kolla \
--from-file=ceph.conf=/tmp/$$
rm -f /tmp/$$