100 lines
2.6 KiB
Bash
Executable File
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/$$
|