diff options
12 files changed, 290 insertions, 28 deletions
diff --git a/kubernetes/aai/templates/all-services.yaml b/kubernetes/aai/templates/all-services.yaml index 5d1c09e111..0cf62d0fec 100644 --- a/kubernetes/aai/templates/all-services.yaml +++ b/kubernetes/aai/templates/all-services.yaml @@ -150,6 +150,25 @@ metadata: "enable_ssl": true, "visualRange": "1", "path": "/aai/v11/network" + }, + { + "serviceName": "aai-externalSystem", + "version": "v11", + "url": "/aai/v11/external-system", + "protocol": "REST", + "port": "8443", + "enable_ssl": true, + "visualRange": "1" + }, + { + "serviceName": "aai-externalSystem-deprecated", + "version": "v11", + "url": "/aai/v11/external-system", + "protocol": "REST", + "port": "8443", + "enable_ssl": true, + "visualRange": "1", + "path": "/aai/v11/external-system" } ]' spec: diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-hbase-health.json b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-hbase-health.json new file mode 100644 index 0000000000..07828431fc --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/aai-hbase-health.json @@ -0,0 +1,21 @@ +{ + "service": { + "name": "A&AI HBase Health Check", + "checks": [ + { + "id": "hbase-aai", + "name": "HBase Health Check", + "http": "http://hbase.onap-aai:8080/status/cluster", + "method": "GET", + "header": { + "Cache-Control": ["no-cache"], + "Content-Type": ["application/json"], + "Accept": ["application/json"] + }, + "tls_skip_verify": true, + "interval": "15s", + "timeout": "1s" + } + ] + } +} diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-mariabdb.json b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-mariabdb.json new file mode 100644 index 0000000000..710f4a8499 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/mso-mariabdb.json @@ -0,0 +1,15 @@ +{ + "service": { + "name": "Health Check: MSO - MariaDb", + "checks": [ + { + "id": "mso-mariadb", + "name": "MSO Mariadb Health Check", + "script": "/consul/config/scripts/mso-mariadb-script.sh", + "interval": "10s", + "timeout": "1s" + } + ] + + } +} diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-mariadb-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-mariadb-script.sh new file mode 100755 index 0000000000..84b22206e0 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/mso-mariadb-script.sh @@ -0,0 +1,14 @@ +NAME=$(/consul/config/bin/kubectl -n onap-mso get pod | grep -o "mariadb[^[:space:]]*") + + if [ -n "$NAME" ]; then + if /consul/config/bin/kubectl -n onap-mso exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then + echo Success. mariadb process is running. 2>&1 + exit 0 + else + echo Failed. mariadb process is not running. 2>&1 + exit 1 + fi + else + echo Failed. mariadb container is offline. 2>&1 + exit 1 + fi diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdnc-dbhost-script.sh b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdnc-dbhost-script.sh new file mode 100755 index 0000000000..6bb07f80eb --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/scripts/sdnc-dbhost-script.sh @@ -0,0 +1,13 @@ +SDNC_DBHOST_POD=$(/consul/config/bin/kubectl -n onap-sdnc get pod | grep -o "sdnc-dbhost-[^[:space:]]*") +if [ -n "$SDNC_DBHOST_POD" ]; then + if /consul/config/bin/kubectl -n onap-sdnc exec -it $SDNC_DBHOST_POD -- ./healthcheck.sh |grep -i "mysqld is alive"; then + echo Success. SDNC DBHost is running. 2>&1 + exit 0 + else + echo Failed. SDNC DBHost is not running. 2>&1 + exit 1 + fi +else + echo Failed. SDNC DBHost is offline. 2>&1 + exit 1 +fi diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dbhost.json b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dbhost.json new file mode 100644 index 0000000000..28d711b72f --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-dbhost.json @@ -0,0 +1,14 @@ +{ + "service": { + "name": "Health Check: SDNC - DB Host", + "checks": [ + { + "id": "sdnc-dbhost-healthcheck", + "name": "SDNC DBHOST Health Check", + "script": "/consul/config/scripts/sdnc-dbhost-script.sh", + "interval": "10s", + "timeout": "1s" + } + ] + } +} diff --git a/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-portal-health.json b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-portal-health.json new file mode 100644 index 0000000000..3ecc1b3f53 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/consul/consul-agent-config/sdnc-portal-health.json @@ -0,0 +1,21 @@ +{ + "service": { + "name": "Health Check: SDNC Portal", + "checks": [ + { + "id": "sdnc-portal", + "name": "SDNC Portal Health Check", + "http": "http://sdnc-portal.onap-sdnc:8843/login", + "method": "HEAD", + "header": { + "Cache-Control": ["no-cache"], + "Content-Type": ["application/json"], + "Accept": ["application/json"] + }, + "tls_skip_verify": true, + "interval": "15s", + "timeout": "1s" + } + ] + } +} diff --git a/kubernetes/config/prepull_docker.sh b/kubernetes/config/prepull_docker.sh new file mode 100755 index 0000000000..e456c3e016 --- /dev/null +++ b/kubernetes/config/prepull_docker.sh @@ -0,0 +1,145 @@ +#!/bin/bash + +#function to provide help +#desc: this function provide help menu +#argument: -h for help, -p for path, -r for repository +#calling syntax: options + +options() { + cat <<EOF +Usage: $0 [PARAMs] +-h : help +-l (Location) : path for searching values.yaml + [in case no path is provided then is will scan current directories for values.yml] +-r (Repository) : name of image repository + [format [repository name/url]:(port)] + [in case no repository is provided then defualt image repository will be nexus3.onap.org:10001] +-u (User) : user name for login + [in case no user name is provided then default user will be docker] +-p (Password) : password for login + [in case no password is provided then default user will be docker] +EOF +} + +#function to parse yaml file +#desc: this function convert yaml file to dotted notion +#argument: yaml file +#calling syntax: parse_yaml <yaml_file_name> + +function parse_yaml { + local prefix=$2 + local s='[[:space:]]*' w='[a-zA-Z0-9_]*' fs=$(echo @|tr @ '\034') + sed -ne "s|^\($s\):|\1|" \ + -e "s|^\($s\)\($w\)$s:$s[\"']\(.*\)[\"']$s\$|\1$fs\2$fs\3|p" \ + -e "s|^\($s\)\($w\)$s:$s\(.*\)$s\$|\1$fs\2$fs\3|p" $1 | + awk -F$fs '{ + indent = length($1)/2; + vname[indent] = $2; + for (i in vname) {if (i > indent) {delete vname[i]}} + if (length($3) > 0) { + vn=""; for (i=0; i<indent; i++) {vn=(vn)(vname[i])(".")} + printf("%s%s%s=\"%s\"\n", "'$prefix'",vn, $2, $3); + } + }' +} + +#algorithmic steps +#start +#scan all values.yaml files +#parse yaml file into dotted format +#for each lines check there is image tag in line +#store image name and check next line for version information +#if in next line version is not present as a subtag then call docker pull with imageName +#if version is present in next line then call docker pull with imageName and imageVersion +#end + + +#start processing for finding images and version +IMAGE_TEXT="image" +IMAGE_VERSION_TEXT="Version" +LOCATION="." +VALUES_FILE_NAME="values.yaml" +IMAGE_REPOSITORY="nexus3.onap.org:10001" +USER_NAME="docker" +PASSWORD="docker" + +#scan for options menu +while getopts ":h:l:r:u:p:" PARAM; do + case $PARAM in + h) + options + exit 1 + ;; + l) + LOCATION=${OPTARG} + ;; + r) + IMAGE_REPOSITORY=${OPTARG} + ;; + u) + USER_NAME=${OPTARG} + ;; + p) + PASSWORD=${OPTARG} + ;; + ?) + options + exit + ;; + esac +done + + +#docker login to nexus repo +echo docker login -u $USER_NAME -p $PASSWORD $IMAGE_REPOSITORY +docker login -u $USER_NAME -p $PASSWORD $IMAGE_REPOSITORY + +#scan all values.yaml files recursively +for filename in `find $LOCATION -name $VALUES_FILE_NAME` +do + imageNameWithVersion=" "; + #parse yaml files + for line in `parse_yaml $filename` + do + #find all image subtag inside converted values.yaml file's lines + if echo $line | grep -q $IMAGE_TEXT ; then + #find imageName inside line + imageName=`echo $line | awk -F "=" '{print $2}'` + #remove attional prefix and postfix + imageNameFinal=`echo "$imageName" | sed -e 's/^"//' -e 's/"$//' ` + + #check if line contain Version as a subtag in lines if yes then call docker pull with version + if echo $line | grep -q $IMAGE_VERSION_TEXT ; then + echo docker pull "$imageNameWithVersion":"$imageNameFinal" + docker pull $imageNameWithVersion:$imageNameFinal & + imageNameWithVersion=" " + else + #check Version is not in subtag and old scanned value is present then call docker pull without version + if [ "$imageNameWithVersion" != " " ]; then + echo docker pull "$imageNameWithVersion" + docker pull $imageNameWithVersion & + imageNameWithVersion=$imageNameFinal + else + imageNameWithVersion=$imageNameFinal + fi + fi + + + fi + + + done +done +# complete processing +echo "finished launching pulls" +#MAX_WAIT_INTERVALS=300 +INTERVAL_COUNT=300 +while [ $(ps -ef | grep docker | grep pull | grep -v $0 | wc -l) -gt 0 ]; do + sleep 10 + INTERVAL_COUNT=$((INTERVAL_COUNT - 1)) + echo "waiting for last pull" + if [ "$INTERVAL_COUNT" -eq 0 ]; then + break + fi +done + diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml index d04ff84cbd..5272b653b9 100644 --- a/kubernetes/sdnc/values.yaml +++ b/kubernetes/sdnc/values.yaml @@ -1,5 +1,5 @@ nsPrefix: onap -pullPolicy: Always +pullPolicy: IfNotPresent nodePortPrefix: 302 image: readiness: oomk8s/readiness-check:1.0.0 diff --git a/kubernetes/vfc/templates/all-services.yaml b/kubernetes/vfc/templates/all-services.yaml index 98a0c4b0a1..ff9eea4587 100755 --- a/kubernetes/vfc/templates/all-services.yaml +++ b/kubernetes/vfc/templates/all-services.yaml @@ -84,36 +84,36 @@ spec: app: vfc-gvnfmdriver type: NodePort #{{ end }} -#{{ if not .Values.disableVfcVfcZtevmanagerdriver }} +#{{ if not .Values.disableVfcVfcztevnfmdriver }} --- apiVersion: v1 kind: Service metadata: labels: - app: vfc-ztevmanagerdriver - name: vfc-ztevmanagerdriver + app: vfc-ztevnfmdriver + name: vfc-ztevnfmdriver namespace: "{{ .Values.nsPrefix }}-vfc" annotations: msb.onap.org/service-info: '[ { - "serviceName": "ztevmanagerdriver", + "serviceName": "ztevnfmdriver", "version": "v1", - "url": "/api/ztevmanagerdriver/v1", + "url": "/api/ztevnfmdriver/v1", "protocol": "REST", - "port": "{{.Values.ztevmanagerdriver.port}}", + "port": "{{.Values.ztevnfmdriver.port}}", "visualRange":"1" } ]' spec: ports: - - name: vfc-ztevmanagerdriver - port: {{.Values.ztevmanagerdriver.port}} - nodePort: {{.Values.ztevmanagerdriver.nodePort}} + - name: vfc-ztevnfmdriver + port: {{.Values.ztevnfmdriver.port}} + nodePort: {{.Values.ztevnfmdriver.nodePort}} selector: - app: vfc-ztevmanagerdriver + app: vfc-ztevnfmdriver type: NodePort #{{ end }} -#{{ if not .Values.disableVfcVfcHwvnfmdriver }} +#{{ if not .Values.disableVfcVfcNokiavnfmdriver }} --- apiVersion: v1 kind: Service @@ -139,10 +139,10 @@ spec: port: {{.Values.nokiavnfmdriver.port}} nodePort: {{.Values.nokiavnfmdriver.nodePort}} selector: - app: vfc-ztevmanagerdriver + app: vfc-nokiavnfmdriver type: NodePort #{{ end }} -#{{ if not .Values.disableVfcNokiaVnfmDriver }} +#{{ if not .Values.disableVfcVfcHwvnfmdriver }} --- apiVersion: v1 kind: Service @@ -164,7 +164,7 @@ metadata: ]' spec: ports: - - name: vfc-ztevmanagerdriver + - name: vfc-hwvnfmdriver port: {{.Values.hwvnfmdriver.port}} nodePort: {{.Values.hwvnfmdriver.nodePort}} selector: diff --git a/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml b/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml index 5559cd05ac..aed359eceb 100755 --- a/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml +++ b/kubernetes/vfc/templates/vfc-ztevmanagerdriver-deployment.yaml @@ -1,33 +1,33 @@ -#{{ if not .Values.disableVfcVfcZtevmanagerdriver }} +#{{ if not .Values.disableVfcVfcztevnfmdriver }} apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: vfc-ztevmanagerdriver + name: vfc-ztevnfmdriver namespace: "{{ .Values.nsPrefix }}-{{ .Chart.Name }}" spec: - replicas: {{ .Values.ztevmanagerdriver.replicas }} + replicas: {{ .Values.ztevnfmdriver.replicas }} selector: matchLabels: - app: vfc-ztevmanagerdriver + app: vfc-ztevnfmdriver template: metadata: labels: - app: vfc-ztevmanagerdriver - name: vfc-ztevmanagerdriver + app: vfc-ztevnfmdriver + name: vfc-ztevnfmdriver spec: - hostname: vfc-ztevmanagerdriver + hostname: vfc-ztevnfmdriver containers: - args: - image: {{.Values.ztevmanagerdriver.image}} - name: "vfc-ztevmanagerdriver" + image: {{.Values.ztevnfmdriver.image}} + name: "vfc-ztevnfmdriver" env: - name: MSB_ADDR value: {{ .Values.msbaddr }} ports: - - containerPort: {{ .Values.ztevmanagerdriver.port }} + - containerPort: {{ .Values.ztevnfmdriver.port }} readinessProbe: tcpSocket: - port: {{ .Values.ztevmanagerdriver.port }} + port: {{ .Values.ztevnfmdriver.port }} initialDelaySeconds: 5 periodSeconds: 10 imagePullPolicy: "{{ .Values.pullPolicy }}" diff --git a/kubernetes/vfc/values.yaml b/kubernetes/vfc/values.yaml index fe5acd634e..46aa9b71f8 100644 --- a/kubernetes/vfc/values.yaml +++ b/kubernetes/vfc/values.yaml @@ -16,8 +16,8 @@ gvnfmdriver: port: 8484 nodePort: 30484 replicas: 1 -ztevmanagerdriver: - image: nexus3.onap.org:10001/onap/vfc/ztevmanagerdriver:v1.0.2 +ztevnfmdriver: + image: nexus3.onap.org:10001/onap/vfc/ztevnfmdriver:v1.0.2 port: 8410 nodePort: 30410 replicas: 1 |