diff options
author | Gary Wu <gary.i.wu@huawei.com> | 2018-09-27 10:38:50 -0700 |
---|---|---|
committer | Gary Wu <gary.i.wu@huawei.com> | 2018-09-27 10:39:43 -0700 |
commit | 9abb61ca2cea1907cab2cec312d6dca6e53a93cd (patch) | |
tree | c8ff0718b6626832efd3ff3acc48590dbd6cb64c /scripts/vvp | |
parent | a328a3e2e531240ea4a9ed2ce4a284af1be5e225 (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.sh | 110 | ||||
-rw-r--r-- | scripts/vvp/docker_health.sh | 33 | ||||
-rw-r--r-- | scripts/vvp/kill_containers_and_remove_dataFolders.sh | 31 | ||||
-rw-r--r-- | scripts/vvp/start_vvp_containers.sh | 93 | ||||
-rw-r--r-- | scripts/vvp/start_vvp_sanity.sh | 26 |
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 |