2 # shellcheck disable=SC2016
4 #Modified from https://github.com/cachengo/seba_charts/blob/master/scripts/installSEBA.sh
6 basepath=$(cd `dirname $0`; pwd)
7 CORD_REPO=${CORD_REPO:-https://charts.opencord.org}
8 CORD_PLATFORM_VERSION=${CORD_PLATFORM_VERSION:-6.1.0}
9 SEBA_VERSION=${SEBA_VERSION:-1.0.0}
10 ATT_WORKFLOW_VERSION=${ATT_WORKFLOW_VERSION:-1.0.2}
12 CORD_CHART=${CORD_CHART:-${basepath}/../src_repo/seba_charts}
14 # TODO(alav): Make each step re-entrant
17 # Execute in a subshell to prevent local variable override during recursion
19 local total_attempts=$1; shift
22 echo -e "\n[wait_for] Waiting for cmd to return success: ${cmdstr}"
23 # shellcheck disable=SC2034
24 for attempt in $(seq "${total_attempts}"); do
25 echo "[wait_for] Attempt ${attempt}/${total_attempts%.*} for: ${cmdstr}"
26 # shellcheck disable=SC2015
27 eval "${cmdstr}" && echo "[wait_for] OK: ${cmdstr}" && return 0 || true
30 echo "[wait_for] ERROR: Failed after max attempts: ${cmdstr}"
35 wait_for 10 'test $(kubectl get pods --all-namespaces | grep -ce "tiller.*Running") -eq 1'
37 # Add the CORD repository and update indexes
39 if [ "$(uname -m)" == "aarch64" ]; then
40 if [ ! -d ${CORD_CHART}/cord-platform ]; then
41 #git clone https://github.com/iecedge/seba_charts ${CORD_CHART}
42 cd ${basepath}/../src_repo && git submodule update seba_charts
45 helm repo add cord "${CORD_REPO}"
51 # Install the CORD platform
52 helm install -n cord-platform ${CORD_CHART}/cord-platform --version="${CORD_PLATFORM_VERSION}"
53 # Wait until 3 etcd CRDs are present in Kubernetes
54 wait_for 300 'test $(kubectl get crd | grep -ice etcd) -eq 3'
56 # Install the SEBA profile
57 helm install -n seba --version "${SEBA_VERSION}" ${CORD_CHART}/seba
58 wait_for 1500 'test $(kubectl get pods | grep -vcE "(\s(.+)/\2.*Running|tosca-loader.*Completed)") -eq 1'
60 # Install the AT&T workflow
61 helm install -n att-workflow --version "${ATT_WORKFLOW_VERSION}" ${CORD_CHART}/att-workflow
62 wait_for 300 'test $(kubectl get pods | grep -vcE "(\s(.+)/\2.*Running|tosca-loader.*Completed)") -eq 1'