From: Zhe Huang Date: Fri, 12 Jul 2019 21:06:51 +0000 (-0400) Subject: Add one-click deployment scripts for deploying INFRA PLT and AUX X-Git-Tag: 0.0.2~54^2 X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=96f1edd267659d09822b64fffa16077e28fcec0b;p=it%2Fdep.git Add one-click deployment scripts for deploying INFRA PLT and AUX Signed-off-by: Zhe Huang Change-Id: Iba53ba3e4b715b58e97a9c2b7814da52c0b757dc --- diff --git a/RECIPE_EXAMPLE/RIC_INFRA_RECIPE_EXAMPLE b/RECIPE_EXAMPLE/RIC_INFRA_RECIPE_EXAMPLE index 3912aeac..ecedb0c7 100644 --- a/RECIPE_EXAMPLE/RIC_INFRA_RECIPE_EXAMPLE +++ b/RECIPE_EXAMPLE/RIC_INFRA_RECIPE_EXAMPLE @@ -62,6 +62,7 @@ global: cluster: deployK8S: false deployNexus: false + deployK8SMonitoringStake: false useLocalHelmRepo: false useLocalDockerRegistry: false diff --git a/bin/deploy-ric-aux b/bin/deploy-ric-aux index 5ccb386b..8a4546fb 100755 --- a/bin/deploy-ric-aux +++ b/bin/deploy-ric-aux @@ -16,7 +16,7 @@ # limitations under the License. # ################################################################################ -# This script deploys RIC auxiliary function components automatically +# This script deploys RIC aux components automatically OVERRIDEYAML=$1 @@ -24,22 +24,27 @@ if [ -z "$OVERRIDEYAML" ];then echo "****************************************************************************************************************" echo " WARNING " echo "****************************************************************************************************************" -echo "Deploying RIC auxiliary functions without deployment recipe. Default configurations are used." +echo "Deploying RIC auxiliary without deployment recipe. Default configurations are used." echo "****************************************************************************************************************" - fi -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -source $DIR/../etc/ric-aux.conf +source $ROOT_DIR/../etc/ric.conf -export RICAUX_RELEASE_NAME=$ric_aux_helm_release_name -export RICAUX_NAMESPACE=$ric_aux_namespace +export RICAUX_RELEASE_NAME=$helm_release_name +export RICPLT_NAMESPACE=$plt_namespace +export RICXAPP_NAMESPACE=$xapp_namespace +export RICAUX_NAMESPACE=$aux_namespace +export RICINFRA_NAMESPACE=$infra_namespace +for component in $ROOT_DIR/../ric-aux/*/; do + # Will print */ if no directories are available + . $component/bin/install $OVERRIDEYAML -. ../ric-aux/80-Auxiliary-Functions/bin/install $OVERRIDEYAML +done diff --git a/bin/deploy-ric-infra b/bin/deploy-ric-infra index 508bcbdf..cc36c683 100755 --- a/bin/deploy-ric-infra +++ b/bin/deploy-ric-infra @@ -16,89 +16,115 @@ # limitations under the License. # ################################################################################ -# This script deploys RIC auxiliary function components automatically +# This script deploys RIC platform components automatically OVERRIDEYAML=$1 +if [ -z "$OVERRIDEYAML" ];then +echo "****************************************************************************************************************" +echo " WARNING " +echo "****************************************************************************************************************" +echo "Preparing the clusters for RIC deployment without deployment recipe. Default configurations are used." +echo "****************************************************************************************************************" - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" - -source $DIR/../etc/ric-infra.conf - -export RICINFRA_RELEASE_NAME=$ric_infra_helm_release_name - -export RICINFRA_NAMESPACE=$ric_infra_namespace - -export DEPLOY_K8S=$deployK8S - -export DEPLOY_NEXUS=$deployNexus - -export USE_LOCAL_HELM_REPO=$useLocalHelmRepo - -export USE_LOCAL_DOCKER_REGISTRY=$useLocalDockerRegistry - - +fi +ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -source $DIR/../etc/ric-platform.conf +source $ROOT_DIR/../etc/ric.conf +source $ROOT_DIR/../etc/ric-infra.conf -export RICPLT_RELEASE_NAME=$ric_platform_helm_release_name -export RICPLT_NAMESPACE=$ric_platform_namespace +export RICINFRA_RELEASE_NAME=$helm_release_name +export RICPLT_NAMESPACE=$plt_namespace +export RICXAPP_NAMESPACE=$xapp_namespace +export RICAUX_NAMESPACE=$aux_namespace +export RICINFRA_NAMESPACE=$infra_namespace +if [ ! -z $OVERRIDEYAML ]; then + DEPLOY_K8S_FROM_OVERRIDE=$(cat $OVERRIDEYAML | grep deployK8S: | awk '{print $2}') + USE_LOCAL_HELM_REPO_FROM_OVERRIDE=$(cat $OVERRIDEYAML | grep useLocalHelmRepo: | awk '{print $2}') + USE_LOCAL_DOCKER_REGISTRY_FROM_OVERRIDE=$(cat $OVERRIDEYAML | grep useLocalDockerRegistry: | awk '{print $2}') + DEPLOY_K8S_MONITORING_FROM_OVERRIDE=$(cat $OVERRIDEYAML | grep deployK8SMonitoringStake: | awk '{print $2}') +fi -if [ -z "$OVERRIDEYAML" ];then - echo "****************************************************************************************************************" - echo " WARNING " - echo "****************************************************************************************************************" - echo "Deploying RIC infrastructure components without deployment recipe. Default configurations are used." - echo "****************************************************************************************************************" +if [ -z $DEPLOY_K8S_FROM_OVERRIDE ]; then + export DEPLOY_K8S=$deployK8S +else + export DEPLOY_K8S=$DEPLOY_K8S_FROM_OVERRIDE +fi +if [ -z $USE_LOCAL_HELM_REPO_FROM_OVERRIDE ]; then + export USE_LOCAL_HELM_REPO=$useLocalHelmRepo else + export USE_LOCAL_HELM_REPO=$USE_LOCAL_HELM_REPO_FROM_OVERRIDE +fi - export DEPLOY_K8S=$(cat $OVERRIDEYAML | grep deployK8S | awk '{print $2}') - export DEPLOY_NEXUS=$(cat $OVERRIDEYAML | grep deployNexus | awk '{print $2}') - export USE_LOCAL_HELM_REPO=$(cat $OVERRIDEYAML | grep useLocalHelmRepo | awk '{print $2}') - export USE_LOCAL_DOCKER_REGISTRY=$(cat $OVERRIDEYAML | grep useLocalDockerRegistry | awk '{print $2}') +if [ -z $USE_LOCAL_DOCKER_REGISTRY_FROM_OVERRIDE ]; then + export USE_LOCAL_DOCKER_REGISTRY=$useLocalDockerRegistry +else + export USE_LOCAL_DOCKER_REGISTRY=$USE_LOCAL_DOCKER_REGISTRY_FROM_OVERRIDE fi +if [ -z $DEPLOY_K8S_MONITORING_FROM_OVERRIDE ]; then + export DEPLOY_K8S_MONITORING=$deployK8S +else + export DEPLOY_K8S_MONITORING=$DEPLOY_K8S_MONITORING_FROM_OVERRIDE +fi -if $USE_LOCAL_HELM_REPO && [ "$DEPLOY_NEXUS" != "true" ];then - echo "****************************************************************************************************************" - echo " ERROR " +if ! $USE_LOCAL_HELM_REPO; then + echo "****************************************************************************************************************" + echo " WARNING " echo "****************************************************************************************************************" - echo "Local helm repo cannot be used if Nexus is not installed. Please change your configurations in the deployment recipe." + echo "RIC will use an external helm repository. Please make sure that the certificate is included in the recipe file." echo "****************************************************************************************************************" - exit 1 fi -if $USE_LOCAL_DOCKER_REGISTRY && [ "$DEPLOY_NEXUS" != "true" ];then - echo "****************************************************************************************************************" - echo " ERROR " +if $USE_LOCAL_DOCKER_REGISTRY; then + echo "****************************************************************************************************************" + echo " WARNING " echo "****************************************************************************************************************" - echo "Local docker registry cannot be used if Nexus is not installed. Please change your configurations in the deployment recipe." + echo "RIC will use an internal docker registry. You need to manually include the certificate to all servers in the cluster." echo "****************************************************************************************************************" - exit 1 fi -if $DEPLOY_K8S; then - echo "Deploying K8S. Please make sure that you configure files in ./ric-infra/00-Kubernetes/etc correctly." - . ../ric-infra/00-Kubernetes/bin/install -fi - -if $DEPLOY_NEXUS; then - echo "Deploying Nexus." - . ../ric-infra/10-Nexus/bin/install $OVERRIDEYAML -fi +for component in $ROOT_DIR/../ric-infra/*/; do + component_name=$(echo $component | awk '{n=split($0, temp,"/"); print temp[n-1];}') + + case "$component_name" in + 00-Kubernetes) + if $DEPLOY_K8S; then + . $component/bin/install $OVERRIDEYAM + fi + ;; + 10-Nexus) + if $USE_LOCAL_DOCKER_REGISTRY; then + . $component/bin/install $OVERRIDEYAM + fi + ;; + 15-Chartmuseum) + if $USE_LOCAL_HELM_REPO; then + . $component/bin/install $OVERRIDEYAM + fi + ;; + 20-Monitoring) + if $DEPLOY_K8S_MONITORING; then + . $component/bin/install $OVERRIDEYAM + fi + ;; + *) + . $component/bin/install $OVERRIDEYAM + + esac +done diff --git a/bin/deploy-ric-platform b/bin/deploy-ric-platform index 0997c269..b19a4711 100755 --- a/bin/deploy-ric-platform +++ b/bin/deploy-ric-platform @@ -31,16 +31,23 @@ echo "************************************************************************** fi -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -source $DIR/../etc/ric-platform.conf +source $ROOT_DIR/../etc/ric.conf -export RICPLT_RELEASE_NAME=$ric_platform_helm_release_name +export RICPLT_RELEASE_NAME=$helm_release_name -export RICPLT_NAMESPACE=$ric_platform_namespace +export RICPLT_NAMESPACE=$plt_namespace +export RICXAPP_NAMESPACE=$xapp_namespace +export RICAUX_NAMESPACE=$aux_namespace +export RICINFRA_NAMESPACE=$infra_namespace +for component in $ROOT_DIR/../ric-platform/*/; do + # Will print */ if no directories are available + . $component/bin/install $OVERRIDEYAML + +done -. ../ric-platform/50-RIC-Platform/bin/install $OVERRIDEYAML diff --git a/bin/undeploy-ric-aux b/bin/undeploy-ric-aux index df56d0e8..735dfbf1 100755 --- a/bin/undeploy-ric-aux +++ b/bin/undeploy-ric-aux @@ -19,15 +19,19 @@ # This script deploys RIC auxiliary function components automatically -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -source $DIR/../etc/ric-aux.conf +source $ROOT_DIR/../etc/ric.conf -export RICAUX_RELEASE_NAME=$ric_aux_helm_release_name +export RICAUX_RELEASE_NAME=$helm_release_name -export RICAUX_NAMESPACE=$ric_aux_namespace +export RICAUX_NAMESPACE=$aux_namespace +for component in $ROOT_DIR/../ric-aux/*/; do + # Will print */ if no directories are available + . $component/bin/uninstall + +done -. ../ric-aux/80-Auxiliary-Functions/bin/uninstall diff --git a/etc/ric-platform.conf b/bin/undeploy-ric-infra old mode 100644 new mode 100755 similarity index 69% rename from etc/ric-platform.conf rename to bin/undeploy-ric-infra index 10548923..ea8ab359 --- a/etc/ric-platform.conf +++ b/bin/undeploy-ric-infra @@ -1,3 +1,4 @@ +#!/bin/bash ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # @@ -15,13 +16,27 @@ # limitations under the License. # ################################################################################ -# ------------------- RIC PLATFORM --------------------------------------- +# This script deploys RIC auxiliary function components automatically -# release name helm will use to deploy RIC platform componenets -ric_platform_helm_release_name=r0 -# namespace that helm will use to deploy RIC -ric_platform_namespace=ricplt +ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" + +source $ROOT_DIR/../etc/ric.conf +source $ROOT_DIR/../etc/ric-infra.conf + + +export RICINFRA_RELEASE_NAME=$helm_release_name + +export RICPLT_NAMESPACE=$plt_namespace +export RICXAPP_NAMESPACE=$xapp_namespace +export RICAUX_NAMESPACE=$aux_namespace +export RICINFRA_NAMESPACE=$infra_namespace + + +for component in $ROOT_DIR/../ric-infra/*/; do + # Will print */ if no directories are available + . $component/bin/uninstall + +done -# diff --git a/bin/undeploy-ric-platform b/bin/undeploy-ric-platform index e9e5c9f2..adeea6a0 100755 --- a/bin/undeploy-ric-platform +++ b/bin/undeploy-ric-platform @@ -16,20 +16,23 @@ # limitations under the License. # ################################################################################ -# This script deploys RIC platform components automatically +# This script deploys RIC auxiliary function components automatically +ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" +source $ROOT_DIR/../etc/ric.conf -source $DIR/../etc/ric-platform.conf +export RICPLT_RELEASE_NAME=$helm_release_name +export RICPLT_NAMESPACE=$plt_namespace -export RICPLT_RELEASE_NAME=$ric_platform_helm_release_name -export RICPLT_NAMESPACE=$ric_platform_namespace +for component in $ROOT_DIR/../ric-platform/*/; do + # Will print */ if no directories are available + . $component/bin/uninstall +done -. ../ric-platform/50-RIC-Platform/bin/uninstall diff --git a/etc/ric-infra.conf b/etc/ric-infra.conf index a5ddb27a..a442a8f3 100644 --- a/etc/ric-infra.conf +++ b/etc/ric-infra.conf @@ -15,22 +15,13 @@ # limitations under the License. # ################################################################################ -# ------------------- RIC AUX --------------------------------------- -# release name helm will use to deploy RIC infrastructure componenets -ric_infra_helm_release_name=r0 - -# namespace that helm will use to deploy RIC infrastructure componenets -ric_infra_namespace=ricinfra # deploy the kubernete cluster deployK8S=false -# deploy a nexus repository manager -deployNexus=true - # use the local helm repo useLocalHelmRepo=true # use the local docker registry -useLocalDockerRegistry=false +useLocalDockerRegistry=true diff --git a/etc/ric.conf b/etc/ric.conf new file mode 100644 index 00000000..038ae2d9 --- /dev/null +++ b/etc/ric.conf @@ -0,0 +1,38 @@ +################################################################################ +# Copyright (c) 2019 AT&T Intellectual Property. # +# Copyright (c) 2019 Nokia. # +# # +# 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. # +################################################################################ + +# ------------------- RIC AUX --------------------------------------- + +# helm_release_name defines the release name helm will use to deploy RIC +# It will be overrided by RICPLT_RELEASE_NAME +helm_release_name=r1 + +# namespace defines the namespace that helm will use to deploy RIC +# It will be overrided by RICPLT_NAMESPACE +plt_namespace=ricplt + +# namespace defines the namespace that helm will use to deploy RIC +# It will be overrided by RICXAPP_NAMESPACE +xapp_namespace=ricxapp + +# namespace defines the namespace that helm will use to deploy RIC +# It will be overrided by RICAUX_NAMESPACE +aux_namespace=ricaux + +# namespace defines the namespace that helm will use to deploy RIC +# It will be overrided by RICINFRA_NAMESPACE +infra_namespace=ricinfra diff --git a/etc/ric-aux.conf b/ric-infra/00-Kubernetes/bin/uninstall old mode 100644 new mode 100755 similarity index 84% rename from etc/ric-aux.conf rename to ric-infra/00-Kubernetes/bin/uninstall index 51235142..e79798de --- a/etc/ric-aux.conf +++ b/ric-infra/00-Kubernetes/bin/uninstall @@ -1,3 +1,5 @@ +#!/bin/bash + ################################################################################ # Copyright (c) 2019 AT&T Intellectual Property. # # Copyright (c) 2019 Nokia. # @@ -15,11 +17,6 @@ # limitations under the License. # ################################################################################ -# ------------------- RIC AUX --------------------------------------- - -# release name helm will use to deploy RIC aux componenets -ric_aux_helm_release_name=r0 - -# namespace that helm will use to deploy RIC -ric_aux_namespace=ricaux +# This is a placeholder. +echo "Please reset your kubernetes cluster manually." diff --git a/ric-infra/20-Monitoring/bin/install b/ric-infra/20-Monitoring/bin/install index a714ceea..58274bfd 100755 --- a/ric-infra/20-Monitoring/bin/install +++ b/ric-infra/20-Monitoring/bin/install @@ -24,10 +24,10 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" source $DIR/../etc/elfkp.conf -if [ -z "$RICAUX_RELEASE_NAME" ];then +if [ -z "$RICINFRA_RELEASE_NAME" ];then RELEASE_NAME=$helm_release_name else - RELEASE_NAME=$RICAUX_RELEASE_NAME + RELEASE_NAME=$RICINFRA_RELEASE_NAME fi # Namespace configuration if [ -z "$RICPLT_NAMESPACE" ];then @@ -61,7 +61,7 @@ fi RICAUX_COMPONENTS="elfkp" -echo "Deploying RIC AUX components [$RICAUX_COMPONENTS]" +echo "Deploying RIC infra components [$RICAUX_COMPONENTS]" echo "Helm Release Name: $RELEASE_NAME" @@ -83,8 +83,8 @@ for component in $RICAUX_COMPONENTS; do #eval "$CMD" if [ -z $OVERRIDEYAML ]; then - helm install --debug --namespace "${NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component + helm install --debug --namespace "${INFRA_NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component else - helm install -f $OVERRIDEYAML --namespace "${NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component + helm install -f $OVERRIDEYAML --namespace "${INFRA_NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component fi done diff --git a/ric-infra/40-Credential/bin/install b/ric-infra/40-Credential/bin/install index bae31070..9d547d0d 100755 --- a/ric-infra/40-Credential/bin/install +++ b/ric-infra/40-Credential/bin/install @@ -25,10 +25,10 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" source $DIR/../etc/credential.conf -if [ -z "$RICPLT_RELEASE_NAME" ];then +if [ -z "$RICINFRA_RELEASE_NAME" ];then RELEASE_NAME=$helm_release_name else - RELEASE_NAME=$RICPLT_RELEASE_NAME + RELEASE_NAME=$RICINFRA_RELEASE_NAME fi # Namespace configuration if [ -z "$RICPLT_NAMESPACE" ];then diff --git a/ric-infra/40-Credential/bin/uninstall b/ric-infra/40-Credential/bin/uninstall index 4eda7978..e112c061 100755 --- a/ric-infra/40-Credential/bin/uninstall +++ b/ric-infra/40-Credential/bin/uninstall @@ -25,10 +25,10 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" source $DIR/../etc/credential.conf -if [ -z "$RICPLT_RELEASE_NAME" ];then +if [ -z "$RICINFRA_RELEASE_NAME" ];then RELEASE_NAME=$helm_release_name else - RELEASE_NAME=$RICPLT_RELEASE_NAME + RELEASE_NAME=$RICINFRA_RELEASE_NAME fi # Namespace configuration