| #!/bin/bash |
| ################################################################################ |
| # Copyright (c) 2020 AT&T Intellectual Property. # |
| # # |
| # Licensed under the Apache License, Version 2.0 (the "License"); # |
| # you may not use this file except in compliance with the License. # |
| # You may obtain a copy of the License at # |
| # # |
| # http://www.apache.org/licenses/LICENSE-2.0 # |
| # # |
| # Unless required by applicable law or agreed to in writing, software # |
| # distributed under the License is distributed on an "AS IS" BASIS, # |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # |
| # See the License for the specific language governing permissions and # |
| # limitations under the License. # |
| ################################################################################ |
| |
| echo "===> Starting at $(date)" |
| |
| # to run in backgroudn nohup: |
| # nohup bash -c "./install && date" & |
| |
| |
| # where this scrpt is located |
| SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" |
| # where we are when starting |
| STARTDIR="$(pwd)" |
| |
| if [ "$1" == "initlocalrepo" ]; then |
| echo && echo "===> Initialize local Helm repo" |
| rm -rf ~/.helm && helm init -c # without this step helm serve may not work. |
| helm serve & |
| helm repo add local http://127.0.0.1:8879 |
| fi |
| |
| echo && echo "===> Cleaning up any previous deployment" |
| echo "======> Deleting all Helm deployments" |
| helm list | sed -e 1d | cut -f1 | xargs helm delete --purge |
| |
| echo "======> Clearing out all ONAP deployment resources" |
| kubectl delete ns onap |
| kubectl get pv --all-namespaces |cut -f1 -d' ' |xargs kubectl delete pv |
| kubectl get clusterrolebindings | grep onap | cut -f1 -d' ' |xargs kubectl delete clusterrolebindings |
| rm -rf /dockerdata-nfs |
| |
| echo "======> Clearing out all RICAUX deployment resources" |
| kubectl delete ns ricaux |
| kubectl delete ns ricinfra |
| rm -rf /opt/data/dashboard-data |
| |
| echo "======> Clearing out all NONRTRIC deployment resources" |
| kubectl delete ns nonrtric |
| |
| echo "======> Preparing for redeployment" |
| mkdir -p /dockerdata-nfs |
| mkdir -p /opt/data/dashboard-data |
| kubectl label --overwrite nodes "$(hostname)" local-storage=enable |
| kubectl label --overwrite nodes "$(hostname)" aaf-storage=enable |
| kubectl label --overwrite nodes "$(hostname)" portal-storage=enable |
| |
| echo "======> Preparing working directory" |
| mkdir -p smo-deploy |
| cd smo-deploy |
| WORKINGDIR=$(pwd) |
| CURDIR="$(pwd)" |
| |
| |
| echo && echo "===> Deploying OAM (ONAP Lite)" |
| if [ ! -d smo-oom ] |
| then |
| echo "======> Building ONAP helm charts. !! This will take very long time (hours)." |
| cat << EOF >> override-oam.yaml |
| global: |
| aafEnabled: false |
| masterPassword: Berlin1234! |
| cassandra: |
| enabled: false |
| mariadb-galera: |
| enabled: true |
| aaf: |
| enabled: false |
| aai: |
| enabled: false |
| appc: |
| enabled: false |
| clamp: |
| enabled: false |
| cli: |
| enabled: false |
| consul: |
| enabled: true |
| contrib: |
| enabled: false |
| dcaegen2: |
| enabled: false |
| dmaap: |
| enabled: true |
| message-router: |
| enabled: true |
| dmaap-bc: |
| enabled: false |
| dmaap-dr-node: |
| enabled: false |
| dmaap-dr-prov: |
| enabled: false |
| esr: |
| enabled: false |
| log: |
| enabled: false |
| sniro-emulator: |
| enabled: false |
| oof: |
| enabled: false |
| msb: |
| enabled: true |
| multicloud: |
| enabled: false |
| nbi: |
| enabled: false |
| policy: |
| enabled: false |
| pomba: |
| enabled: false |
| portal: |
| enabled: false |
| robot: |
| enabled: false |
| sdc: |
| enabled: false |
| sdnc: |
| enabled: true |
| replicaCount: 1 |
| config: |
| sdnr: |
| sdnrwt: true |
| sdnronly: true |
| sdnrmode: dm |
| mountpointRegistrarEnabled: true |
| mountpointStateProviderEnabled: true |
| cds: |
| enabled: false |
| dmaap-listener: |
| enabled: true |
| ueb-listener: |
| enabled: false |
| sdnc-portal: |
| enabled: false |
| sdnc-ansible-server: |
| enabled: false |
| dgbuilder: |
| enabled: false |
| sdnc-web: |
| enabled: false |
| so: |
| enabled: false |
| uui: |
| enabled: false |
| vfc: |
| enabled: false |
| vid: |
| enabled: false |
| vnfsdk: |
| enabled: false |
| modeling: |
| enabled: false |
| EOF |
| |
| git clone -b frankfurt http://gerrit.onap.org/r/oom --recurse-submodules smo-oom |
| cd smo-oom |
| REPOROOTDIR=$(git rev-parse --show-toplevel) |
| git fetch "https://gerrit.onap.org/r/oom" refs/changes/31/106331/6 && git checkout FETCH_HEAD |
| # HEAD is now at 275f7de9 [SDNC] oom for clustered disaggregated SDN-R |
| cp -R ./kubernetes/helm/plugins/ ~/.helm |
| |
| cd kubernetes |
| make all; make onap |
| # take a coffee |
| # should see 35 charts |
| helm search onap |
| |
| cd $WORKINGDIR |
| fi |
| |
| echo "======> Deploying ONAP-lite" |
| helm deploy dev local/onap --namespace onap -f ./override-oam.yaml |
| |
| echo "======> Waiting for ONAP-lite to reach operatoinal state" |
| NUM_SDNR_RUNNING_PODS="0" |
| NUM_MR_RUNNING_PODS="0" |
| |
| while [ "$NUM_MR_RUNNING_PODS" -lt "7" ] || [ "$NUM_SDNR_RUNNING_PODS" -lt "7" ] |
| do |
| sleep 5 |
| NUM_SDNR_RUNNING_PODS=$(kubectl get pods --all-namespaces | grep "sdn[\/0-9a-z \-]*Running" | wc -l) |
| NUM_SDNC_COMPLETED_JOBS=$(kubectl get pods --all-namespaces | grep "sdn[\/0-9a-z \-]*Completed" | wc -l) |
| NUM_MR_RUNNING_PODS=$(kubectl get pods --all-namespaces | grep "message-router[\/0-9a-z \-]*Running" | wc -l) |
| |
| echo "${NUM_SDNR_RUNNING_PODS}/7 SDNC-SDNR pods and ${NUM_MR_RUNNING_PODS}/7 Message Router pods running" |
| done |
| |
| |
| echo && echo "===> Deploy NONRTRIIC" |
| git clone http://gerrit.o-ran-sc.org/r/it/dep smo-dep |
| cd smo-dep |
| REPOROOTDIR=$(git rev-parse --show-toplevel) |
| |
| cd bin |
| ./deploy-nonrtric -f ${REPOROOTDIR}/RECIPE_EXAMPLE/NONRTRIC/example_recipe.yaml |
| echo "======> Waiting for NONRTRIC to reach operatoinal state" |
| NUM_A1C_RUNNING_PODS="0" |
| NUM_A1SIM_RUNNING_PODS="0" |
| NUM_CP_RUNNING_PODS="0" |
| NUM_DB_RUNNING_PODS="0" |
| NUM_PMS_RUNNING_PODS="0" |
| |
| while [ "$NUM_A1C_RUNNING_PODS" -lt "1" ] || [ "$NUM_CP_RUNNING_PODS" -lt "1" ] || \ |
| [ "$NUM_DB_RUNNING_PODS" -lt "1" ]|| [ "$NUM_PMS_RUNNING_PODS" -lt "1" ] || \ |
| [ "$NUM_A1SIM_RUNNING_PODS" -lt "4" ] |
| do |
| sleep 5 |
| NUM_A1C_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "a1controller[\/0-9a-z \-]*Running" | wc -l) |
| NUM_A1SIM_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "a1-sim[\/0-9a-z \-]*Running" | wc -l) |
| NUM_CP_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "controlpanel[\/0-9a-z \-]*Running" | wc -l) |
| NUM_DB_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "db[\/0-9a-z \-]*Running" | wc -l) |
| NUM_PMS_RUNNING_PODS=$(kubectl get pods -n nonrtric | grep "policymanagementservice[\/0-9a-z \-]*Running" | wc -l) |
| |
| echo "${NUM_A1C_RUNNING_PODS}/1 A1Controller pods, ${NUM_CP_RUNNING_PODS}/1 ControlPanel pods, " |
| echo "${NUM_DB_RUNNING_PODS}/1 DB pods, ${NUM_PMS_RUNNING_PODS}/1 PolicyManagementService pods, " |
| echo "and ${NUM_A1SIM_RUNNING_PODS}/4 A1Sim pods running" |
| done |
| |
| |
| |
| echo && echo "===> Deploying VES collector and its ingress" |
| kubectl create ns ricinfra |
| |
| cd ${REPOROOTDIR}/ric-aux/helm/infrastructure |
| helm dep update |
| cd .. |
| helm install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml --name bronze-infra --namespace ricaux ./infrastructure |
| |
| cd ${REPOROOTDIR}/ric-aux/helm/ves |
| helm dep update |
| cd .. |
| helm install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml --name bronze-ves --namespace ricaux ./ves |
| |
| |
| # edit RECIPE_EXAMPLE/AUX/example_recipe.yaml file |
| #./bin/prepare-common-templates |
| #cd ric-aux/bin |
| #./install -f ${REPOROOTDIR}/RECIPE_EXAMPLE/AUX/example_recipe.yaml -c "ves" |
| |
| cd $STARTDIR |
| kubectl get pods --all-namespaces |
| |
| echo "===> Completing at $(date)" |