summaryrefslogtreecommitdiffstats
path: root/scripts/vvp
diff options
context:
space:
mode:
authorGary Wu <gary.i.wu@huawei.com>2018-09-27 10:38:50 -0700
committerGary Wu <gary.i.wu@huawei.com>2018-09-27 10:39:43 -0700
commit9abb61ca2cea1907cab2cec312d6dca6e53a93cd (patch)
treec8ff0718b6626832efd3ff3acc48590dbd6cb64c /scripts/vvp
parenta328a3e2e531240ea4a9ed2ce4a284af1be5e225 (diff)
Move CSIT to integration/csit repo
To facilite branching of CSIT tests, all CSIT test code and scripts are relocated to the integration/csit repo. Change-Id: I1e4c0eff44691f73f8098b3c52764107f6b8b8df Issue-ID: INT-671 Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
Diffstat (limited to 'scripts/vvp')
-rw-r--r--scripts/vvp/clone_and_setup_vvp_data.sh110
-rw-r--r--scripts/vvp/docker_health.sh33
-rw-r--r--scripts/vvp/kill_containers_and_remove_dataFolders.sh31
-rw-r--r--scripts/vvp/start_vvp_containers.sh93
-rw-r--r--scripts/vvp/start_vvp_sanity.sh26
5 files changed, 293 insertions, 0 deletions
diff --git a/scripts/vvp/clone_and_setup_vvp_data.sh b/scripts/vvp/clone_and_setup_vvp_data.sh
new file mode 100644
index 00000000..a39ed083
--- /dev/null
+++ b/scripts/vvp/clone_and_setup_vvp_data.sh
@@ -0,0 +1,110 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/vvp/clone_and_setup_vvp_data.sh"
+
+# Clone vvp enviroment template
+mkdir -p ${WORKSPACE}/data/environments/
+mkdir -p ${WORKSPACE}/data/clone/
+mkdir -p /opt/configmaps/settings/
+
+cd ${WORKSPACE}/data/clone
+git clone --depth 1 http://gerrit.onap.org/r/vvp/engagementmgr -b master
+
+chmod -R 775 ${WORKSPACE}/data/
+
+# copy settings file from tox environment infrastructure:
+cp -f ${WORKSPACE}/data/clone/engagementmgr/django/vvp/settings/tox_settings.py /opt/configmaps/settings/__init__.py
+
+# uwsgi.ini file creation
+echo "[uwsgi]
+http = :80
+plugin = python
+chdir = /srv
+module = vvp.wsgi:application
+master = True
+pidfile = /tmp/project-master.pid
+vacuum = True
+max-requests = 5000
+enable-threads = True
+stats = 0.0.0.0:9000
+stats-http = True" > /opt/configmaps/settings/uwsgi.ini
+
+# storage.py file creation
+echo "from storages.backends.s3boto import S3BotoStorage
+from django.conf import settings
+class S3StaticStorage(S3BotoStorage):
+ custom_domain = '%s/%s' % (settings.AWS_S3_HOST, settings.STATIC_BUCKET)
+ bucket_name = settings.STATIC_BUCKET
+class S3MediaStorage(S3BotoStorage):
+ custom_domain = '%s/%s' % (settings.AWS_S3_HOST, settings.MEDIA_BUCKET)
+ bucket_name = settings.MEDIA_BUCKET" > /opt/configmaps/settings/storage.py
+
+# envbool.py file creation
+echo "import os
+def envbool(key, default=False, unknown=True):
+ return {'true': True, '1': True, 'false': False, '0': False,
+ '': default,}.get(os.getenv(key, '').lower(), unknown)" > /opt/configmaps/settings/envbool.py
+
+# vvp_env.list file creation
+echo "# set enviroment variables
+OAUTHLIB_INSECURE_TRANSPORT=1
+HOST_IP=${IP}
+ENVNAME=${ENVIRONMENT}
+http_proxy=${http_proxy}
+https_proxy=${https_proxy}
+no_proxy=${no_proxy}
+DJANGO_SETTINGS_MODULE=vvp.settings
+# export PYTHONPATH={pwd}
+SECRET_KEY=6mo22&FAKEFALEFALEFKEuq0u*4ksk^aq8lte&)yul
+ENVIRONMENT=development
+SERVICE_PROVIDER=ExampleProvider
+PROGRAM_NAME=VVP
+PROGRAM_NAME_URL_PREFIX=vvp
+SERVICE_PROVIDER_DOMAIN=example-domain.com
+EMAIL_HOST=localhost
+EMAIL_HOST_PASSWORD=
+EMAIL_HOST_USER=
+EMAIL_PORT=25
+PGDATABASE=icedb
+PGUSER=iceuser
+PGPASSWORD=Aa123456
+PGHOST=localhost
+PGPORT=5433
+SECRET_WEBHOOK_TOKEN=AiwiFAKEFAKEFAKEmahch2zahshaGi
+SECRET_GITLAB_AUTH_TOKEN=ieNgFAKEFAKE4zohvee9a
+SECRET_JENKINS_PASSWORD=xaiyiFAKEFAKEqueuBu
+SECRET_CMS_APP_CLIENT_ID=MHmJo0ccDhFAKEFAKEFAKEPAC6H6HAMzhCCM16
+SECRET_CMS_APP_CLIENT_SECRET=nI8QFAKEEEpnw5nTs
+SLACK_API_TOKEN=
+S3_HOST=localhost
+S3_PORT=443
+AWS_ACCESS_KEY_ID=FD2FAKEFAKEFAKEVD1MWRN
+AWS_SECRET_ACCESS_KEY=TKoiwxzFAKEFAKEFAKEFAKEFAKEQ27nP2lCiutEsD
+STATIC_ROOT=/app/htdocs" > ${WORKSPACE}/data/environments/vvp_env.list
+
+ifconfig
+
+IP_ADDRESS=`ip route get 8.8.8.8 | awk '/src/{ print $7 }'`
+export HOST_IP=$IP_ADDRESS
diff --git a/scripts/vvp/docker_health.sh b/scripts/vvp/docker_health.sh
new file mode 100644
index 00000000..520b2dc3
--- /dev/null
+++ b/scripts/vvp/docker_health.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+echo "VVP-Engagement-Manager health-Check:"
+echo ""
+echo ""
+res=`curl -s -X GET -H "Accept: application/json" -H "Content-Type: application/json" "http://localhost:9090/vvp/v1/engmgr/vendors" | wc -w`
+if [ ${res} == 0 ]; then
+ echo "Error [${res}] while performing vvp engagement manager vendor existance check"
+ exit 1
+fi
+echo "check vvp engagement manager vendor existance: OK [${res}]"
diff --git a/scripts/vvp/kill_containers_and_remove_dataFolders.sh b/scripts/vvp/kill_containers_and_remove_dataFolders.sh
new file mode 100644
index 00000000..a6c108eb
--- /dev/null
+++ b/scripts/vvp/kill_containers_and_remove_dataFolders.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# 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.
+#
+# Modifications copyright (c) 2017 AT&T Intellectual Property
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/vvp/kill_and_remove_dataFolder.sh"
+
+
+CONTAINER_NAME="vvp-engagementmgr"
+
+#kill and remove all vvp dockers
+docker stop $CONTAINER_NAME
+docker rm -f $CONTAINER_NAME
+
+
+#delete data folder
+rm -rf ${WORKSPACE}/data/*
diff --git a/scripts/vvp/start_vvp_containers.sh b/scripts/vvp/start_vvp_containers.sh
new file mode 100644
index 00000000..5f905b6a
--- /dev/null
+++ b/scripts/vvp/start_vvp_containers.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+echo "This is ${WORKSPACE}/test/csit/scripts/vvp/start_vvp_containers.sh"
+
+export IP=$HOST_IP
+export PREFIX='nexus3.onap.org:10001/openecomp/vvp'
+export RELEASE='latest'
+
+#start Engagement Manager pod:
+docker run \
+--detach \
+--entrypoint="" \
+--name vvp-engagementmgr \
+--env-file ${WORKSPACE}/data/environments/vvp_env.list \
+--log-driver=json-file \
+--log-opt max-size=100m \
+--log-opt max-file=10 \
+--ulimit memlock=-1:-1 \
+--memory 4g \
+--memory-swap=4g \
+--ulimit nofile=4096:100000 \
+--volume /etc/localtime:/etc/localtime:ro \
+--volume /opt/configmaps/settings:/opt/configmaps/settings/ \
+--publish 9090:80 ${PREFIX}/engagementmgr:${RELEASE}
+
+docker cp /opt/configmaps/settings/uwsgi.ini vvp-engagementmgr:/srv/vvp/settings/
+
+echo "please wait while Engagement Manager is starting..."
+echo ""
+c=60 # seconds to wait
+REWRITE="\e[25D\e[1A\e[K"
+while [ $c -gt 0 ]; do
+ c=$((c-1))
+ sleep 1
+ echo -e "${REWRITE}$c"
+done
+echo -e ""
+
+#run migration again:
+docker exec -d vvp-engagementmgr sh -c "python3 /srv/manage.py migrate"
+
+#run initial populate db again:
+docker exec -d vvp-engagementmgr sh -c "python3 /srv/manage.py initial_populate_db"
+
+
+echo "Will copy the generated DB sqlite3 file into the application directory in 30 seconds..."
+sleep 30
+#copy the generated DB sqlite3 file into the application directory:
+docker exec -d vvp-engagementmgr sh -c "cp emdb.db /srv/emdb.db -f"
+
+TIME_OUT=600
+INTERVAL=5
+TIME=0
+while [ "$TIME" -lt "$TIME_OUT" ]; do
+ response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:9090/vvp/v1/engmgr/vendors); echo $response
+
+ if [ "$response" == "200" ]; then
+ echo VVP-Engagement-Manager well started in $TIME seconds
+ break;
+ fi
+
+ echo Sleep: $INTERVAL seconds before testing if VVP-Engagement-Manager is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds
+ sleep $INTERVAL
+ TIME=$(($TIME+$INTERVAL))
+done
+
+if [ "$TIME" -ge "$TIME_OUT" ]; then
+ echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for tests...
+else
+ echo "Done starting vvp containers!"
+fi
diff --git a/scripts/vvp/start_vvp_sanity.sh b/scripts/vvp/start_vvp_sanity.sh
new file mode 100644
index 00000000..1de1aaa3
--- /dev/null
+++ b/scripts/vvp/start_vvp_sanity.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+
+
+# will run CI for sanity checks