aboutsummaryrefslogtreecommitdiffstats
path: root/ovp_testsuite/create_pod.sh
diff options
context:
space:
mode:
Diffstat (limited to 'ovp_testsuite/create_pod.sh')
-rwxr-xr-xovp_testsuite/create_pod.sh103
1 files changed, 103 insertions, 0 deletions
diff --git a/ovp_testsuite/create_pod.sh b/ovp_testsuite/create_pod.sh
new file mode 100755
index 0000000..f405fe3
--- /dev/null
+++ b/ovp_testsuite/create_pod.sh
@@ -0,0 +1,103 @@
+#!/bin/bash
+# -*- coding: utf8 -*-
+# ============LICENSE_START=======================================================
+# org.onap.vvp/validation-scripts
+# ===================================================================
+# Copyright © 2020 AT&T Intellectual Property. All rights reserved.
+# ===================================================================
+#
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the "License");
+# you may not use this software 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.
+#
+#
+#
+# Unless otherwise specified, all documentation contained herein is licensed
+# under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+# you may not use this documentation except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://creativecommons.org/licenses/by/4.0/
+#
+# Unless required by applicable law or agreed to in writing, documentation
+# 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.
+#
+# ============LICENSE_END============================================
+
+DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
+NAMESPACE=$1
+PODNAME=$2
+CONFIGMAP=$3
+
+cat <<EOF | kubectl -n $NAMESPACE create -f -
+apiVersion: v1
+kind: Pod
+metadata:
+ name: $PODNAME
+spec:
+ containers:
+ - name: $PODNAME
+ image: python:3.7-alpine
+ volumeMounts:
+ - name: $CONFIGMAP
+ mountPath: /etc/onap_client
+ command: ["/bin/sh"]
+ args:
+ - -c
+ - apk update && \
+ apk add bash && \
+ apk add git && \
+ apk add gcc && \
+ apk add python3-dev && \
+ apk add musl-dev && \
+ apk add libffi-dev && \
+ apk add openssl-dev && \
+ apk add libxml2-dev && \
+ apk add libxml2 && \
+ apk add libxslt-dev && \
+ apk add tk && \
+ sh -c 'pip install virtualenv; while true; do sleep 60; done;'
+ restartPolicy: Never
+ volumes:
+ - name: $CONFIGMAP
+ configMap:
+ name: $CONFIGMAP
+ defaultMode: 0755
+EOF
+
+podstatus=""
+COUNTER=0
+
+while [ "$podstatus" != "Error" ] && [ "$podstatus" != "Running" ] && [ $COUNTER -lt 60 ]; do
+ podstatus=`kubectl -n $NAMESPACE get pods | grep $PODNAME | head -1 | awk '{print $3}'`
+ echo "$PODNAME is $podstatus"
+ COUNTER=$((COUNTER +1))
+ if [ "$podstatus" = "Running" ]; then
+ break
+ fi
+ sleep 30
+done
+
+if [ "$podstatus" = "Error" ]; then
+ echo "failed creating pod to execute test, exiting..."
+ exit 1
+fi
+
+kubectl -n $NAMESPACE cp "$DIR/../onap-client" "$PODNAME:/tmp/onap_client"
+kubectl exec -n $NAMESPACE $PODNAME -- sh -c "cd /tmp/onap_client; pip install -r requirements.txt; pip install . --upgrade"
+if [ $? -ne 0 ]; then
+ echo "Failed to create pod, exiting..."
+ exit 1
+fi