Consolidate configurations to recipes. Add 5 second delay for Kong deployment due...
[it/dep.git] / ric-infra / 45-Tiller / bin / install
index 74313b1..caecdd9 100755 (executable)
 #   See the License for the specific language governing permissions and        #
 #   limitations under the License.                                             #
 ################################################################################
-OVERRIDEYAML=$1
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
-source $DIR/../etc/tiller.conf
 
-if [ -z "$RICINFRA_RELEASE_NAME" ];then
-    RELEASE_NAME=$helm_release_name
-else
-    RELEASE_NAME=$RICINFRA_RELEASE_NAME
-fi
+while [ -n "$1" ]; do # while loop starts
 
-# Namespace configuration
-if [ -z "$RICPLT_NAMESPACE" ];then
-    PLT_NAMESPACE=$plt_namespace
-else
-    PLT_NAMESPACE=$RICPLT_NAMESPACE
-fi
+    case "$1" in
 
-if [ -z "$RICXAPP_NAMESPACE" ];then
-    XAPP_NAMESPACE=$xapp_namespace
-else
-    XAPP_NAMESPACE=$RICXAPP_NAMESPACE
-fi
+    -f) OVERRIDEYAML=$2
+        shift
+        ;;
+    -c) LIST_OF_COMPONENTS=$2
+        shift
+        ;;
+    *) echo "Option $1 not recognized" ;; # In case you typed a different option other than a,b,c
 
-if [ -z "$RICAUX_NAMESPACE" ];then
-    AUX_NAMESPACE=$aux_namespace
-else
-    AUX_NAMESPACE=$RICAUX_NAMESPACE
-fi
+    esac
 
-if [ -z "$RICINFRA_NAMESPACE" ];then
-    INFRA_NAMESPACE=$infra_namespace
-else
-    INFRA_NAMESPACE=$RICINFRA_NAMESPACE
-fi
+    shift
 
-if [ -z "$RIC_COMMON_OVERRIDE" ];then
-    COMMON_OVERRIDE="--set global.namespace.platform=$PLT_NAMESPACE --set global.namespace.xapp=$XAPP_NAMESPACE --set global.namespace.aux=$AUX_NAMESPACE --set global.namespace.infra=$INFRA_NAMESPACE"
-else
-    COMMON_OVERRIDE=$RIC_COMMON_OVERRIDE
-fi
+done
 
 
-RICINFRA_COMPONENTS="xapp-tiller"
+if [ -z "$OVERRIDEYAML" ];then
+    echo "****************************************************************************************************************"
+    echo "                                                     ERROR                                                      "
+    echo "****************************************************************************************************************"
+    echo "RIC deployment without deployment recipe is currently disabled. Please specify an recipe with the -f option."
+    echo "****************************************************************************************************************"
+    exit 1
+fi
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
+GLOBAL_BLOCK=$(cat $OVERRIDEYAML | awk '/^global:/{getline; while ($0 ~ /^ +.*|^ *$/) {print $0; if (getline == 0) {break}}}')
+NAMESPACE_BLOCK=$(cat $OVERRIDEYAML | awk '/^  namespace:/{getline; while ($0 ~ /^    .*|^ *$/) {print $0; if (getline == 0) {break}}}')
+NAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *infra:/{print $2}')
+RELEASE_PREFIX=$(echo "$GLOBAL_BLOCK" | awk '/^ *releasePrefix:/{print $2}')
+COMPONENTS=${LIST_OF_COMPONENTS:-"xapp-tiller"}
 
-echo "Deploying RIC infra components [$RICINFRA_COMPONENTS]"
-echo "Helm Release Name: $RELEASE_NAME"
+echo "Deploying RIC infra components [$COMPONENTS]"
 
 
 COMMON_CHART_VERSION=$(cat $DIR/../../../ric-common/Common-Template/helm/ric-common/Chart.yaml | grep version | awk '{print $2}')
 helm package -d /tmp $DIR/../../../ric-common/Common-Template/helm/ric-common
 
 
-
-for component in $RICINFRA_COMPONENTS; do
+for component in $COMPONENTS; do
 
   mkdir -p $DIR/../helm/$component/charts/
-
   cp /tmp/ric-common-$COMMON_CHART_VERSION.tgz $DIR/../helm/$component/charts/
-
-  if [ -z $OVERRIDEYAML ]; then
-
-    EMPTY_CHART=$(helm template $DIR/../helm/$component | grep apiVersion:)
-    if [ ! -z "$EMPTY_CHART" ]; then
-      helm install --debug --namespace "${INFRA_NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component
-    fi
-  else
-    EMPTY_CHART=$(helm template -f $OVERRIDEYAML $DIR/../helm/$component | grep apiVersion:)
-    if [ ! -z "$EMPTY_CHART" ]; then
-      helm install -f $OVERRIDEYAML --namespace "${INFRA_NAMESPACE}" --name "${RELEASE_NAME}-$component" $COMMON_OVERRIDE $DIR/../helm/$component
-    fi
+  EMPTY_CHART=$(helm template -f $OVERRIDEYAML $DIR/../helm/$component | grep apiVersion:)
+  if [ ! -z "$EMPTY_CHART" ]; then
+    helm install -f $OVERRIDEYAML --namespace "${NAMESPACE}" --name "${RELEASE_PREFIX}-$component" $DIR/../helm/$component
   fi
 done