#!/bin/bash -e ROOK_VERSION=${ROOK_VERSION:-"v1.1.7"} ROOK_DEPLOY_TIMEOUT=${ROOK_DEPLOY_TIMEOUT:-300} ROOK_URL="https://raw.githubusercontent.com/rook/rook/${ROOK_VERSION}/cluster/examples/kubernetes/ceph" function deploy_rook() { kubectl create -f "${ROOK_URL}/common.yaml" kubectl create -f "${ROOK_URL}/operator.yaml" kubectl create -f "${ROOK_URL}/cluster-test.yaml" kubectl create -f "${ROOK_URL}/toolbox.yaml" kubectl create -f "${ROOK_URL}/filesystem-test.yaml" kubectl create -f "${ROOK_URL}/pool-test.yaml" for ((retry=0; retry<=ROOK_DEPLOY_TIMEOUT; retry=retry+5)); do echo "Wait for rook deploy... ${retry}s" sleep 5 if kubectl get cephclusters -n rook-ceph | grep HEALTH_OK &> /dev/null; then break fi done } function teardown_rook() { kubectl delete -f "${ROOK_URL}/pool-test.yaml" kubectl delete -f "${ROOK_URL}/filesystem-test.yaml" kubectl delete -f "${ROOK_URL}/toolbox.yaml" kubectl delete -f "${ROOK_URL}/cluster-test.yaml" kubectl delete -f "${ROOK_URL}/operator.yaml" kubectl delete -f "${ROOK_URL}/common.yaml" } case "${1:-}" in deploy) deploy_rook ;; teardown) teardown_rook ;; *) echo " $0 [command] Available Commands: deploy Deploy a rook teardown Teardown a rook " >&2 ;; esac