#!/bin/bash
################################################################################
#   Copyright (c) 2019 AT&T Intellectual Property.                             #
#   Copyright (c) 2019 Nokia.                                                  #
#   Copyright (c) 2021 HCL Technologies Limited.                               #
#                                                                              #
#   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.                                             #
################################################################################

function wait_for_pods() {
  echo -n "waiting for $1 pods to run"

  STILL_WAITING=true
  while $STILL_WAITING; do
      STILL_WAITING=false
      PODS=$(kubectl get pods -n $2 2>/dev/null | grep $1 | awk '{print $1}')
      if [ -z $PODS ]; then
        STILL_WAITING=true
        sleep 1
        echo -n "."
      fi
      for POD in ${PODS}; do
        if [[ $(kubectl get pod ${POD} -n $2 -o go-template --template "{{.status.phase}}") != "Running" ]]; then
	    STILL_WAITING=true
	    sleep 1
            echo -n "."
	    break
	fi
      done 
  done

  echo
}

function wait_for_cats() {
  echo -n "waiting for $1 daemonset to complete"

  STILL_WAITING=true
  while $STILL_WAITING; do
      STILL_WAITING=false
      PODS=$(kubectl get pods -n $2 | grep $1 | awk '{print $1}')
      for POD in ${PODS}; do
        if [[ $(kubectl logs ${POD} -n $2 --tail 1) != "done" ]]; then
	    STILL_WAITING=true
	    sleep 1
            echo -n "."
	    break
	fi
      done 
  done

  echo
}

KERNEL_OPTIMIZATION=false
IS_HELM3=$(helm version --short|grep -e "^v3")

while [ -n "$1" ]; do # while loop starts

    case "$1" in

    -f) OVERRIDEYAML=$2
        shift
        ;;
    -c) LIST_OF_COMPONENTS=$2
        shift
        ;;
    -o) KERNEL_OPTIMIZATION=true
        ;;
    *) echo "Option $1 not recognized" ;; # In case you typed a different option other than a,b,c

    esac

    shift

done

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

if [ -z $IS_HELM3 ]
then
  HAS_COMMON_PACKAGE=$(helm search local/ric-common | grep ric-common)
else 
  HAS_COMMON_PACKAGE=$(helm search repo local/ric-common | grep ric-common)
fi

if [ -z "$HAS_COMMON_PACKAGE" ];then
    echo "****************************************************************************************************************"
    echo "                                                     ERROR                                                      "
    echo "****************************************************************************************************************"
    echo "Can't locate the ric-common helm package in the local repo. Please make sure that it is properly installed."
    echo "****************************************************************************************************************"
    exit 1
fi

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
COMMON_BLOCK=$(cat $OVERRIDEYAML | awk '/^common:/{getline; while ($0 ~ /^ +.*|^ *|^ *#.*$/) {print $0; if (getline == 0) {break}}}')
NAMESPACE_BLOCK=$(cat $OVERRIDEYAML | awk '/^  namespace:/{getline; while ($0 ~ /^ +.*|^ *|^ *#.*$/) {print $0; if (getline == 0) {break}}}')
PLTNAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *platform:/{print $2}')
INFRANAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *infra:/{print $2}')
XAPPNAMESPACE=$(echo "$NAMESPACE_BLOCK" | awk '/^ *xapp:/{print $2}')
RELEASE_PREFIX=$(echo "$COMMON_BLOCK" | awk '/^ *releasePrefix:/{print $2}')
LOCAL_REPOSITORY=$(echo "$COMMON_BLOCK" | awk '/^ *localregistry:/{print $2}')

if ! kubectl get ns ${PLTNAMESPACE:-ricplt}> /dev/null 2>&1; then
    kubectl create ns ${PLTNAMESPACE:-ricplt}
fi
if ! kubectl get ns ${INFRANAMESPACE:-ricinfra}> /dev/null 2>&1; then
    kubectl create ns ${INFRANAMESPACE:-ricinfra}
fi
if ! kubectl get ns ${XAPPNAMESPACE:-ricxapp}> /dev/null 2>&1; then
    kubectl create ns ${XAPPNAMESPACE:-ricxapp}
fi

IS_INFLUX_PERSIST=$( kubectl get storageclass nfs 2>/dev/null | awk '{print $1}' | grep nfs)
if [[ ${LIST_OF_COMPONENTS} == *"influxdb"* ]]; then
	if [ -z "$IS_INFLUX_PERSIST" ]; then
        	echo  "nfs storage does not exist, create PersistentVolume through the storage class for the influxdb database"
        	LIST_OF_COMPONENTS=$(echo "$LIST_OF_COMPONENTS" | sed "s/influxdb//")
            echo "skipping influxdb component"
	else
        	echo "nfs storage exist"
        fi
fi

# replace the dbaasha with dbaas1 if deploying non HA DBaaS
COMPONENTS="infrastructure dbaas appmgr rtmgr e2mgr e2term a1mediator submgr vespamgr o1mediator alarmmanager $LIST_OF_COMPONENTS"

echo "Deploying RIC infra components [$COMPONENTS]"
if [[ ${COMPONENTS} != *"influxdb"* ]]; then
        OPTIONAL_COMPONENTS="influxdb"
fi
if [[ ${COMPONENTS} != *"jaegeradapter"* ]]; then
        OPTIONAL_COMPONENTS={"$OPTIONAL_COMPONENTS jaegeradapter"}
fi
if [ ! -z "$OPTIONAL_COMPONENTS" ]; then
        echo "Note that the following optional components are NOT being deployed: $OPTIONAL_COMPONENTS. To deploy them add them with -c to the default component list of the install command"
fi

FOUND_RECIPE=$(kubectl get configmap -n ${PLTNAMESPACE:-ricplt} ricplt-recipe 2>/dev/null )
if [ ! -z "$FOUND_RECIPE" ]; then
    kubectl delete configmap -n ${PLTNAMESPACE:-ricplt} ricplt-recipe
fi
kubectl create configmap -n ${PLTNAMESPACE:-ricplt} ricplt-recipe --from-file=recipe=$OVERRIDEYAML

if [ ! -z "$LOCAL_REPOSITORY" ]; then
    LOCAL_REPOSITORY="$LOCAL_REPOSITORY/"
fi


echo Add cluster roles
    cat >ricplt-role.yaml <<EOF
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: ricplt-system-tiller
rules:
  - apiGroups: [""]
    resources: ["deployments"]
    verbs: ["get", "list", "create", "delete"]
  - apiGroups: ["apiextensions.k8s.io"]
    resources: ["customresourcedefinitions"]
    verbs: ["get", "list", "create", "delete"]
  - apiGroups: ["rbac.authorization.k8s.io"]
    resources: ["clusterroles", "clusterrolebindings"]
    verbs: ["get", "list", "create", "delete"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["create", "patch"]
  - apiGroups: [""]
    resources: ["nodes"]
    verbs: ["list", "watch", "get"]
  - apiGroups: [""]
    resources: ["nodes/metrics"]
    verbs: ["list", "watch", "get"]
  - apiGroups: [""]
    resources: ["nodes/proxy"]
    verbs: ["list", "watch", "get"]
  - apiGroups: ["configuration.konghq.com"]
    resources: ["kongconsumers"]
    verbs: ["get", "list", "watch"]
  - apiGroups: ["configuration.konghq.com"]
    resources: ["kongcredentials"]
    verbs: ["get", "list", "watch"]
  - apiGroups: ["configuration.konghq.com"]
    resources: ["kongingresses"]
    verbs: ["get", "list", "watch"]
  - apiGroups: ["configuration.konghq.com"]
    resources: ["kongplugins"]
    verbs: ["get", "list", "watch"]
  - apiGroups: ["networking.k8s.io"]
    resources: ["ingresses"]
    verbs: ["watch", "list", "get", "create", "delete", "update"]
  - apiGroups: [""]
    resources: ["ingresses"]
    verbs: ["watch", "list", "get", "create", "delete", "update"]
  - apiGroups: [""]
    resources: ["persistentvolumes"]
    verbs: ["watch", "list", "get", "create", "delete"]
  - apiGroups: ["danm.k8s.io"]
    resources: ["clusternetworks"]
    verbs: ["watch", "list", "get", "create", "delete"]
  - apiGroups: ["extensions"]
    resources: ["ingresses/status"]
    verbs: ["update", "get", "list", "watch"]
  - apiGroups: ["networking.k8s.io"]
    resources: ["ingresses/status"]
    verbs: ["update", "get", "list", "watch"]
  - apiGroups: ["certificates.k8s.io"]
    resources: ["certificatesigningrequests"]
    verbs: ["list", "watch"]
  - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["list", "watch"]
  - nonResourceURLs: ["/metrics"]
    verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: ricplt-system-tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: ricplt-system-tiller
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system
EOF

if [ -z $IS_HELM3 ]
then
   kubectl apply -f ricplt-role.yaml
   rm ricplt-role.yaml
fi


# Add kernel optimization for radis services
if $KERNEL_OPTIMIZATION; then
    cat >kernel_optimizer.yaml <<EOF
apiVersion: apps/v1
kind: DaemonSet
metadata:
  namespace: ${INFRANAMESPACE:-ricinfra}
  name: redis-kernel-optimizer
spec:
  selector:
    matchLabels:
      app: redis-kernel-optimizer
  template:
    metadata:
      labels:
        app: redis-kernel-optimizer
    spec:
      volumes:
      - name: sys
        hostPath:
          path: /sys
      containers:
      - name: disable-thp
        image: ${LOCAL_REPOSITORY}busybox
        securityContext:
          runAsNonRoot: false
          privileged: true
          runAsUser: 0
        command: ["sh", "-c"]
        args:
        - |-
          set -e
          set -o pipefail
          trap 'exit' TERM
          echo never > /rootfs/sys/kernel/mm/transparent_hugepage/enabled
          echo never > /rootfs/sys/kernel/mm/transparent_hugepage/defrag
          sysctl -w net.core.somaxconn=511
          grep -q -F [never] /sys/kernel/mm/transparent_hugepage/enabled
          grep -q -F [never] /sys/kernel/mm/transparent_hugepage/defrag
          sysctl -n net.core.somaxconn | grep 511 -q
          echo "done"
          while true; do sleep 1; done
        volumeMounts:
        - name: sys
          mountPath: /rootfs/sys
EOF
kubectl apply -f kernel_optimizer.yaml
wait_for_pods redis-kernel-optimizer ${INFRANAMESPACE:-ricinfra}
wait_for_cats redis-kernel-optimizer ${INFRANAMESPACE:-ricinfra}
kubectl delete -f kernel_optimizer.yaml
rm kernel_optimizer.yaml
fi

for component in $COMPONENTS; do
    helm dep up $DIR/../helm/$component
    COMPONENT="${RELEASE_PREFIX}-$component"
    if [ -z $IS_HELM3 ]
    then
      COMPONENT=" --name $COMPONENT"
    fi
    helm install -f $OVERRIDEYAML --namespace "${PLTNAMESPACE:-ricplt}" $COMPONENT $DIR/../helm/$component
    sleep 8
done




