3 # Copyright 2018 Huawei Technologies Co., Ltd.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
12 # This is meant to be run from within the Rancher VM to completely
13 # redeploy ONAP while reusing the existing k8s stack.
15 # This assumes that /root/integration-override.yaml is up-to-date.
17 # This script can also be used after a VM reboot, and will restart
18 # helm server accordingly.
20 export DEBIAN_FRONTEND=noninteractive
23 echo "Usage: $0 <namespace>" 1>&2;
24 echo "This will completely re-deploy ONAP, and delete and re-clone oom/ and integration/ directories."
28 if [ "$#" -ne 1 ]; then
34 OOM_GERRIT_BRANCH=master
35 OOM_GERRIT_REFSPEC=refs/heads/master
36 INTEGRATION_GERRIT_BRANCH=master
37 INTEGRATION_GERRIT_REFSPEC=refs/heads/master
39 # Verify that k8s works
40 if [ $(kubectl get pods --namespace kube-system | tail -n +2 | grep -c Running) -lt 6 ]; then
41 echo "[ERROR] Kubernetes is not healthy; aborting"
46 kubectl delete namespace $NS
47 for op in secrets configmaps pvc pv services deployments statefulsets clusterrolebinding; do
48 kubectl delete $op -n $NS --all
50 helm undeploy dev --purge
51 rm -rf /dockerdata-nfs/dev-*/
57 git clone -b $OOM_GERRIT_BRANCH https://gerrit.onap.org/r/oom
59 git fetch https://gerrit.onap.org/r/oom $OOM_GERRIT_REFSPEC
60 git checkout FETCH_HEAD
61 git checkout -b workarounds
67 git clone -b $INTEGRATION_GERRIT_BRANCH https://gerrit.onap.org/r/integration
69 git fetch https://gerrit.onap.org/r/integration $INTEGRATION_GERRIT_REFSPEC
70 git checkout FETCH_HEAD
71 git checkout -b workarounds
74 git tag -a "deploy0" -m "initial deployment"
80 if [ $(curl -s -o /dev/null -w "%{http_code}" 127.0.0.1:8879) -ne 200 ]; then
81 helm init --client-only
85 helm repo add local http://127.0.0.1:8879
89 rsync -avt ~/oom/kubernetes/helm/plugins ~/.helm/
90 helm search -l | grep local
91 helm deploy dev local/onap -f ~/oom/kubernetes/onap/resources/environments/public-cloud.yaml -f ~/integration-override.yaml --namespace onap | ts | tee -a ~/helm-deploy.log