exit 1
fi
+#Check for helm3
+IS_HELM3=$(helm version -c --short|grep -e "^v3")
+HELM_SEARCH_FLAG=""
+if [ $IS_HELM3 ]
+then
+ HELM_SEARCH_FLAG="repo"
+fi
+
-HAS_RIC_COMMON_PACKAGE=$(helm search local/ric-common | grep ric-common)
+HAS_RIC_COMMON_PACKAGE=$(helm search ${HELM_SEARCH_FLAG} local/ric-common | grep ric-common)
if [ -z "$HAS_RIC_COMMON_PACKAGE" ];then
echo "****************************************************************************************************************"
exit 1
fi
-HAS_AUX_COMMON_PACKAGE=$(helm search local/aux-common | grep aux-common)
+HAS_AUX_COMMON_PACKAGE=$(helm search ${HELM_SEARCH_FLAG} local/aux-common | grep aux-common)
if [ -z "$HAS_AUX_COMMON_PACKAGE" ];then
echo "****************************************************************************************************************"
LABEL=$(kubectl describe node $f | grep "local-storage=enable")
if [ ! -z "$LABEL" ]; then
LABELFOUND=true
+ echo "Found lable \"local-storage=enable\" at node $f"
fi
done
-FOUND_STORAGECLASS=$(grep storageclass $OVERRIDEYAML)
+FOUND_STORAGECLASS=$(grep -w storageclass $OVERRIDEYAML)
if ! $LABELFOUND && [ -z "$FOUND_STORAGECLASS" ]; then
fi
+LABELFOUND=false
+for f in $NODENAME; do
+ LABEL=$(kubectl describe node $f | grep "portal-storage=enable")
+ if [ ! -z "$LABEL" ]; then
+ LABELFOUND=true
+ echo "Found lable \"portal-storage=enable\" at node $f"
+ fi
+done
+
+if ! $LABELFOUND; then
+ echo "***********************************************************************************************"
+ echo "* ERROR!!!!!!!!!!!!! *"
+ echo "***********************************************************************************************"
+ echo "* Nodes label \"portal-storage=enable\" is not found in any of the cluster node. *"
+ echo "* Please pick a node and label it using the following command. i *"
+ echo "* kubectl label --overwrite nodes <YOUR_NODE_NAME> portal-storage=enable *"
+ echo "***********************************************************************************************"
+
+ exit 1
+fi
+
+
+
if ! kubectl get ns ${AUXNAMESPACE:-ricaux}> /dev/null 2>&1; then
kubectl create ns ${AUXNAMESPACE:-ricaux}
fi
kubectl create ns onap
fi
+
+
+
+echo Add cluster roles
+ cat >ricaux-role.yaml <<EOF
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: ricaux-system-default
+rules:
+ - apiGroups: [""]
+ resources: ["pods"]
+ verbs: ["list"]
+ - apiGroups: ["batch"]
+ resources: ["jobs/status"]
+ verbs: ["get"]
+---
+
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: ricaux-system-default
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: ricaux-system-default
+subjects:
+ - kind: ServiceAccount
+ name: default
+ namespace: ${AUXNAMESPACE:-ricaux}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: onap-system-default
+rules:
+ - apiGroups: [""]
+ resources: ["pods"]
+ verbs: ["list"]
+ - apiGroups: ["apps"]
+ resources: ["replicasets/status"]
+ verbs: ["get"]
+ - apiGroups: ["batch"]
+ resources: ["jobs/status"]
+ verbs: ["get"]
+ - apiGroups: ["apps"]
+ resources: ["deployments", "statefulsets"]
+ verbs: ["get"]
+---
+
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: onap-system-default
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: onap-system-default
+subjects:
+ - kind: ServiceAccount
+ name: default
+ namespace: onap
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+ name: ricaux-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: ["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: ["extensions"]
+ resources: ["ingresses/status"]
+ verbs: ["update"]
+ - apiGroups: ["networking.k8s.io"]
+ resources: ["ingresses/status"]
+ verbs: ["update"]
+ - apiGroups: ["networking.k8s.io"]
+ resources: ["ingresses"]
+ verbs: ["get", "list", "create", "delete", "watch"]
+ - apiGroups: ["danm.k8s.io"]
+ resources: ["clusternetworks"]
+ verbs: ["get", "list", "create", "delete"]
+ - apiGroups: ["storage.k8s.io"]
+ resources: ["storageclasses"]
+ verbs: ["get", "list", "create", "delete"]
+ - apiGroups: [""]
+ resources: ["persistentvolumes"]
+ verbs: ["get", "list", "create", "delete"]
+
+
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+ name: ricaux-system-tiller
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: ricaux-system-tiller
+subjects:
+ - kind: ServiceAccount
+ name: tiller
+ namespace: kube-system
+EOF
+kubectl apply -f ricaux-role.yaml
+rm ricaux-role.yaml
+
kubectl create configmap -n ${AUXNAMESPACE:-ricaux} aux-recipe --from-file=recipe=$OVERRIDEYAML
+
+echo "Clean up dockerdata-nfs directory"
+rm -rf /dockerdata-nfs/*
+
+
echo "Deploying AUX components [$COMPONENTS]"
for component in $COMPONENTS; do
helm dep up $DIR/../helm/$component
+
+ # Handle helm2/helm3 arg
+ NAME_ARG=""
+ if [ -z $IS_HELM3 ]; then
+ NAME_ARG=" --name "
+ fi
+
case "$component" in
aaf)
NODENAME=$(kubectl get node | awk 'NR>1{print $1}')
LABEL=$(kubectl describe node $f | grep "aaf-storage=enable")
if [ ! -z "$LABEL" ]; then
LABELFOUND=true
+ echo "Found lable \"aaf-storage=enable\" at node $f"
fi
done
echo "* kubectl label --overwrite nodes <YOUR_NODE_NAME> aaf-storage=enable *"
echo "***********************************************************************************************"
else
- helm install -f $OVERRIDEYAML --namespace "onap" --name "${RELEASE_PREFIX}-$component" $DIR/../helm/$component
+ helm install -f $OVERRIDEYAML --namespace "onap" ${NAME_ARG} "${RELEASE_PREFIX}-$component" $DIR/../helm/$component
fi
;;
*)
- helm install -f $OVERRIDEYAML --namespace "${AUXNAMESPACE:-ricaux}" --name "${RELEASE_PREFIX}-$component" $DIR/../helm/$component
-
+ helm install -f $OVERRIDEYAML --namespace "${AUXNAMESPACE:-ricaux}" ${NAME_ARG} "${RELEASE_PREFIX}-$component" $DIR/../helm/$component
+ sleep 8
esac
done