diff options
Diffstat (limited to 'scripts')
109 files changed, 7734 insertions, 0 deletions
diff --git a/scripts/aai/esr-server/startup.sh b/scripts/aai/esr-server/startup.sh new file mode 100644 index 00000000..a4d335b7 --- /dev/null +++ b/scripts/aai/esr-server/startup.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# +# Copyright 2017 ZTE Corporation. +# +# 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. +# +# $1 nickname for esr server + +docker login -u docker -p docker nexus3.onap.org:10001 + +run-instance.sh nexus3.onap.org:10001/onap/aai/esr-server:latest $1 "-e MSB_IP=$2 -e MSB_Port=$3 -p 9518:9518"
\ No newline at end of file diff --git a/scripts/appc/script1.sh b/scripts/appc/script1.sh new file mode 100755 index 00000000..1c3d92ee --- /dev/null +++ b/scripts/appc/script1.sh @@ -0,0 +1,20 @@ +#!/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/appc/script1.sh" diff --git a/scripts/ccsdk/script1.sh b/scripts/ccsdk/script1.sh new file mode 100644 index 00000000..bb583f85 --- /dev/null +++ b/scripts/ccsdk/script1.sh @@ -0,0 +1,20 @@ +#!/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/ccsdk/script1.sh" diff --git a/scripts/clamp/clone_clamp_and_change_dockercompose.sh b/scripts/clamp/clone_clamp_and_change_dockercompose.sh new file mode 100755 index 00000000..e564e637 --- /dev/null +++ b/scripts/clamp/clone_clamp_and_change_dockercompose.sh @@ -0,0 +1,45 @@ +#!/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/clamp/clone_clamp_and_change_dockercompose.sh" + +firefox --version +which firefox + + +# Clone Clamp repo to get extra folder that has all needed to run docker with docker-compose to start DB and Clamp +mkdir -p $WORKSPACE/archives/clamp-clone +cd $WORKSPACE/archives/clamp-clone +git clone --depth 1 http://gerrit.onap.org/r/clamp -b master +cd clamp/extra/docker/clamp/ + +# Pull the Clamp docker image from nexus instead of local image by default in the docker-compose.yml +sed -i '/image: onap\/clamp/c\ image: nexus3.onap.org:10001\/onap\/clamp' docker-compose.yml + +# Change config to take third_party_proxy:8085 for SDC, Policy and DCAE simulator +sed -i 's/}/,\"clamp.config.policy.pdpUrl1\":\"http:\/\/third_party_proxy:8085\/pdp\/ , testpdp, alpha123\",\"clamp.config.policy.pdpUrl2\":\"http:\/\/third_party_proxy:8085\/pdp\/ , testpdp, alpha123\",\"clamp.config.policy.papUrl\":\"http:\/\/third_party_proxy:8085\/pap\/ , testpap, alpha123\",\"clamp.config.policy.clientId\":\"python\",\"clamp.config.policy.clientKey\":\"dGVzdA==\",\"clamp.config.sdc.catalog.url\":\"http:\/\/third_party_proxy:8085\/sdc\/v1\/catalog\/\",\"clamp.config.sdc.hostUrl\":\"http:\/\/third_party_proxy:8085\",\"clamp.config.sdc.serviceUrl\":\"http:\/\/third_party_proxy:8085\/sdc\/v1\/catalog\/services\",\"clamp.config.dcae.inventory.url\":\"http:\/\/third_party_proxy:8085\",\"clamp.config.dcae.dispatcher.url\":\"http:\/\/third_party_proxy:8085\",\"spring.profiles.active\":\"clamp-default,clamp-default-user,clamp-sdc-controller\",\"server.ssl.client-auth\":\"want\"}/g' clamp.env + +# Add the sql to create template so it is played by docker-compose later +cp ../../../src/test/resources/sql/four_templates_only.sql ../../sql/bulkload/ +echo 'mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < four_templates_only.sql' >> ../../sql/load-sql-files-tests-automation.sh diff --git a/scripts/clamp/kill_and_remove_clamp_and_db_containers.sh b/scripts/clamp/kill_and_remove_clamp_and_db_containers.sh new file mode 100755 index 00000000..c94a40bc --- /dev/null +++ b/scripts/clamp/kill_and_remove_clamp_and_db_containers.sh @@ -0,0 +1,26 @@ +#!/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/clamp/kill_and_remove_clamp_and_db_containers.sh" + +kill-instance.sh clamp_clamp_1 +kill-instance.sh clamp_db_1 +kill-instance.sh clamp_third_party_proxy_1 + +# $WORKSPACE/archives/clamp-clone deleted with archives folder when tests starts so we keep it at the end for debugging diff --git a/scripts/clamp/python-lib/CustomSeleniumLibrary.py b/scripts/clamp/python-lib/CustomSeleniumLibrary.py new file mode 100755 index 00000000..ad11b115 --- /dev/null +++ b/scripts/clamp/python-lib/CustomSeleniumLibrary.py @@ -0,0 +1,20 @@ +from Selenium2Library import Selenium2Library +from selenium.webdriver.common.keys import Keys +import time + +class CustomSeleniumLibrary(Selenium2Library): + def insert_into_prompt(self, text): + alert = None + try: + time.sleep(5) + listOfFields = text.split(" ") + allInOneString="" + for temp in listOfFields: + allInOneString=allInOneString+temp+Keys.TAB + + alert= self._current_browser().switch_to_alert() + alert.send_keys(allInOneString) + except WebDriverException: + raise RuntimeError('There were no alert') + + diff --git a/scripts/clamp/start_clamp_containers.sh b/scripts/clamp/start_clamp_containers.sh new file mode 100755 index 00000000..23b1705e --- /dev/null +++ b/scripts/clamp/start_clamp_containers.sh @@ -0,0 +1,70 @@ +#!/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/clamp/start_clamp_containers.sh" + +# start Clamp and MariaDB containers with docker compose and configuration from clamp/extra/docker/clamp/docker-compose.yml +docker-compose up -d + +# WAIT 5 minutes maximum and test every 5 seconds if Clamp up using HealthCheck API +TIME_OUT=600 +INTERVAL=5 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null -vk --key config/org.onap.clamp.keyfile https://localhost:8443/restservices/clds/v1/healthcheck); echo $response + + if [ "$response" == "200" ]; then + echo Clamp and its database well started in $TIME seconds + break; + fi + + echo Sleep: $INTERVAL seconds before testing if Clamp 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... + exit 1; +fi + +# To avoid some problem because templates not yet read +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null -u admin:password -vk --key config/org.onap.clamp.keyfile https://localhost:8443/restservices/clds/v1/cldsTempate/template-names); echo $response + + if [ "$response" == "200" ]; then + echo Templates well available + break; + fi + + echo Sleep: $INTERVAL seconds before testing if templates available. 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: Templates not available in $TIME_OUT seconds... Could cause problems for tests... + exit 1; +fi diff --git a/scripts/cli/startup.sh b/scripts/cli/startup.sh new file mode 100644 index 00000000..6e29a0e8 --- /dev/null +++ b/scripts/cli/startup.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# +# Copyright 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. +# +# $1 nickname for the MSB instance +echo "This is ${WORKSPACE}/test/csit/scripts/cli/startup.sh" diff --git a/scripts/common_functions.sh b/scripts/common_functions.sh new file mode 100755 index 00000000..684c4184 --- /dev/null +++ b/scripts/common_functions.sh @@ -0,0 +1,263 @@ +#!/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. + +function memory_details(){ + #General memory details + echo "> top -bn1 | head -3" + top -bn1 | head -3 + echo + + echo "> free -h" + free -h + echo + + #Memory details per Docker + echo "> docker ps" + docker ps + echo + + echo "> docker stats --no-stream" + docker stats --no-stream + echo +} +function fibonacci_number(){ + set +x + if [ $1 -le 1 ] + then + echo "1" + elif [ $1 -le 10 ] + then + Num=$1 + f1=0 + f2=1 + fn=-1 + for i in `eval echo {1..$Num}`;do + fn=$((f1+f2)) + f1=$f2 + f2=$fn + done + echo $fn + else + echo "30" + fi +} +function wait_curl_driver(){ + #Parameters: + #CURL_COMMAND - the URL on which the curl command will be executed + #GREP_STRING - Desired string to be found inside the body response of the + # previous curl command + #EXCLUDE_STRING - If the filtered string (GREP_STRING) must not exist in + # the body response of the curl + #WAIT_MESSAGE - the message to be displayed for logging purpose. (optional) + #REPEAT_NUMBER - the maximum number of tries before abandoning the curl + # command (optional, by default = 15) + #MAX_TIME - Maximum time allowed for the transfer (in seconds) + #STATUS_CODE - A HTTP status code desired to be found by getting the link + # /!\ IMPORTANT NOTICE: the usage of STATUS_CODE option turn GREP_STRING/ + # /!\ EXCLUDE_STRING/and the MAX_TIME options becomes obsolete with no + # /!\ execution impact + #MEMORY_USAGE - If Parameters exists shows the memory usage after curl + # execution(s) + + repeat_max=15 + parameters="$@" + + #WAIT_MESSAGE + if [[ $parameters == *"WAIT_MESSAGE"* ]] + then + wait_message=`echo $parameters | sed -e "s/.*WAIT_MESSAGE=//g"` + wait_message=`echo $wait_message | sed -e "s/ .*//g"` + else + wait_message="wait ..." + fi + + #REPEAT_NUMBER + if [[ $parameters == *"REPEAT_NUMBER"* ]] + then + repeat_max=`echo $parameters | sed -e "s/.*REPEAT_NUMBER=//g"` + repeat_max=`echo $repeat_max | sed -e "s/ .*//g"` + fi + + #CURL_COMMAND + if [[ $parameters == *"CURL_COMMAND"* ]] + then + curl_command=`echo $parameters | sed -e 's/.*CURL_COMMAND=//g'` + curl_command=`echo $curl_command | sed -e 's/ .*//g'` + else + echo "-Curl is empty-" # Or no parameterseter passed. + return 0 + fi + + #MAX_TIME + if [[ $parameters == *"MAX_TIME"* ]] + then + max_time=`echo $parameters | sed -e 's/.*MAX_TIME=//g'` + max_time=`echo $max_time | sed -e 's/ .*//g'` + else + max_time="5" + fi + + exclude_string="" + #EXCLUDE_STRING + if [[ $parameters == *"EXCLUDE_STRING"* ]] + then + exclude_string="-v" + fi + + status_code="" + #STATUS_CODE + if [[ $parameters == *"STATUS_CODE"* ]] + then + status_code=`echo $parameters | sed -e 's/.*STATUS_CODE=//g'` + status_code=`echo $status_code | sed -e 's/ .*//g'` + fi + + for i in `eval echo {1..$repeat_max}`; do + response_code=`curl -o /dev/null --silent --head --write-out '%{http_code}' $curl_command` + echo "..." + if [[ ! -z $status_code ]] ; then + if [ "$status_code" -eq "$response_code" ] + then + echo "SUCCESS:Actual Status code <$response_code> match the expected code <$status_code>" + return 0 + else + echo "WARNING:Expected <$status_code> but Actual <$response_code>" + fi + else + #GREP_STRING + if [[ $parameters == *"GREP_STRING"* ]] + then + grep_command=`echo $parameters | sed -e 's/.*GREP_STRING=//g'` + grep_command=`echo $grep_command | sed -e 's/ REPEAT_NUMBER=.*//g' | sed -e 's/ CURL_COMMAND=.*//g' | sed -e 's/ WAIT_MESSAGE=.*//g' | sed -e 's/ MAX_TIME=.*//g' | sed -e 's/ EXCLUDE_STRING.*//g'` + else + echo "-Grep_command is empty-" # Or no parameters passed. + return 0 + fi + + str=`curl -sS -m$max_time $curl_command | grep "$grep_command"` + echo "BODY::$str" + if [[ ! -z $exclude_string ]] + then + if [[ -z $str ]] + then + echo "SUCCESS: body response does not contains '$grep_command'"; + break; + else + echo "Fall_Short: Body response still contains '$grep_command'" + fi + else + if [[ ! -z $str ]] + then + echo "SUCCESS: body response contains '$grep_command'"; + break; + else + echo "Fall_Short: Element '$grep_command' not found yet # "$i"" + fi + fi + + if [ "$?" = "7" ]; then + echo 'Connection refused or can not connect to server/proxy'; + str='' + fi + fi + seconds2sleep=`fibonacci_number $i` + echo $wait_message + echo "Iteration::$i out of $repeat_max " + echo "Quiet time for $seconds2sleep seconds ..." + sleep $seconds2sleep + + # if waiting for a long time, log system load + if [ $i -gt 45 ] + then + memory_details + fi + done + #MEMORY_USAGE + if [[ $parameters == *"MEMORY_USAGE"* ]] + then + echo "==========================MEMORY USAGE==================================" + memory_details + echo "========================================================================" + fi + return 0 +} + +function run_simulator () +{ + run_robottestlib + run_simulator_docker $1 +} + +function run_robottestlib () +{ + #Start the robottest REST library if not started + if ! pgrep -f robottest > /dev/null + then + #Download the latest robottest jar + wget -q -O ${SCRIPTS}/integration/mockserver/org.openo.robottest.jar "https://nexus.open-o.org/service/local/artifact/maven/redirect?r=snapshots&g=org.openo.integration&a=org.openo.robottest&e=jar&v=LATEST" + chmod +x ${SCRIPTS}/integration/mockserver/org.openo.robottest.jar + eval `java -cp ${SCRIPTS}/integration/mockserver/org.openo.robottest.jar org.openo.robot.test.robottest.MyRemoteLibrary` & + fi +} + +function run_simulator_docker () +{ + #Start the simulator docker if not started + SIMULATOR_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' simulator` + if [[ -z $SIMULATOR_IP ]] + then + echo "Starting simulator docker..." + SIMULATOR_JSON=$1 + if [[ -z $SIMULATOR_JSON ]] + then + SIMULATOR_JSON=main.json + fi + docker run -d -i -t --name simulator -e SIMULATOR_JSON=$SIMULATOR_JSON -p 18009:18009 -p 18008:18008 openoint/simulate-test-docker + SIMULATOR_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' simulator` + fi + + #Set the simulator IP in robot variables + ROBOT_VARIABLES=${ROBOT_VARIABLES}" -v SIMULATOR_IP:${SIMULATOR_IP} -v SCRIPTS:${SCRIPTS}" + echo ${ROBOT_VARIABLES} +} + +function get_docker_compose_service () +{ + local service=$1 + local compose_file=${2:-docker-compose.yml} + + echo $(docker-compose --file ./${compose_file} ps | grep $service | cut -d " " -f1 ) +} + +function bypass_ip_adress () +{ + local ip_address=$1 + + if [[ $no_proxy && $no_proxy != *$ip_address* ]]; then + export no_proxy=$no_proxy,$ip_address + fi +} + +function wait_for_service_init () +{ + local service_url=$1 + + for delay in {1..50}; do + curl -sS ${service_url} && break + echo "$delay - Waiting for $service_url..." + sleep $delay + done +} diff --git a/scripts/dmaap-buscontroller/.mock-aaf.sh.swp b/scripts/dmaap-buscontroller/.mock-aaf.sh.swp Binary files differnew file mode 100644 index 00000000..edadfe90 --- /dev/null +++ b/scripts/dmaap-buscontroller/.mock-aaf.sh.swp diff --git a/scripts/dmaap-buscontroller/dmaapbc-init.sh b/scripts/dmaap-buscontroller/dmaapbc-init.sh new file mode 100755 index 00000000..804603f2 --- /dev/null +++ b/scripts/dmaap-buscontroller/dmaapbc-init.sh @@ -0,0 +1,76 @@ +#!/bin/bash + +# $1 is the IP address of the buscontroller +# $2 is the IP address of the DRPS +# $3 is the IP address of the MRC +# $4 is the protocol (defaults to http) + +PROTO=${4:-http} +if [ "$PROTO" = "http" ] +then + PORT=8080 + CURLOPT="-v" + MRPORT=3904 + DRPORT=8080 +else + PORT=8443 + CURLOPT="-v -k" + MRPORT=3905 + DRPORT=8443 +fi + +# INITIALIZE: dmaap object +JSON=/tmp/$$.dmaap +cat << EOF > $JSON +{ + "version": "1", + "topicNsRoot": "org.onap.dmaap", + "drProvUrl": "${PROTO}://dmaap-dr-prov:${DRPORT}", + "dmaapName": "onapCSIT", + "bridgeAdminTopic": "MM_AGENT_PROV" + +} +EOF + +echo "Initializing /dmaap endpoint" +curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dmaap + + + +# INITIALIZE: dcaeLocation object +JSON=/tmp/$$.loc +cat << EOF > $JSON +{ + "dcaeLocationName": "csit-sanfrancisco", + "dcaeLayer": "central-cloud", + "clli": "CSIT12345", + "zone": "zoneA" + +} +EOF + +echo "Initializing /dcaeLocations endpoint" +curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dcaeLocations + + +# INITIALIZE: MR object in 1 site +# since MR is currently deployed via docker-compose, its IP doesn't seem +# to be routable from DBCL. Fortunately, the MR port is mapped from the docker bridge IP address. +# Found this article for how to deterine the docker bridge IP so using it as a workaround. +# https://stackoverflow.com/questions/22944631/how-to-get-the-ip-address-of-the-docker-host-from-inside-a-docker-container +# Used the following snippet found buried in a comment to an answer and then modified for only 1 value. +DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+' | head -1 ) +# Perhaps there is a better way... +JSON=/tmp/$$.mrc +cat << EOF > $JSON +{ + "dcaeLocationName": "csit-sanfrancisco", + "fqdn": "$DOCKER_HOST", + "topicProtocol" : "http", + "topicPort": "${MRPORT}" + +} +EOF + +echo "Initializing /mr_clusters endpoint" +curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/mr_clusters diff --git a/scripts/dmaap-buscontroller/dmaapbc-launch.sh b/scripts/dmaap-buscontroller/dmaapbc-launch.sh new file mode 100755 index 00000000..317c17f1 --- /dev/null +++ b/scripts/dmaap-buscontroller/dmaapbc-launch.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# script to launch DMaaP buscontroller docker container +# sets global var IP with assigned IP address + +function dmaapbc_launch() { + TAG="nexus3.onap.org:10001/onap/dmaap/buscontroller" + CONTAINER_NAME=dmaapbc + IP="" + + cd ${WORKSPACE}/test/csit/scripts/dmaap-buscontroller + + TMP_CFG=/tmp/docker-databus-controller.conf + . ./onapCSIT.env > $TMP_CFG + ADDHOSTS="" + if [ ! -z "$2" ] + then + ADDHOSTS="$ADDHOSTS --add-host=message-router:$2" + fi + if [ ! -z "$3" ] + then + ADDHOSTS="$ADDHOSTS --add-host=dmaap-dr-prov:$3" + fi + docker run -d $ADDHOSTS --name $CONTAINER_NAME -v $TMP_CFG:/opt/app/config/conf $TAG + IP=`get-instance-ip.sh ${CONTAINER_NAME}` + + # Wait for initialization + for i in {1..10}; do + curl -sS ${IP}:8080 && break + echo sleep $i + sleep $i + done + +} diff --git a/scripts/dmaap-buscontroller/dr-launch.sh b/scripts/dmaap-buscontroller/dr-launch.sh new file mode 100644 index 00000000..abc0aae8 --- /dev/null +++ b/scripts/dmaap-buscontroller/dr-launch.sh @@ -0,0 +1,59 @@ + +#!/bin/bash + +#!/bin/bash + +# script to launch DMaaP DR docker containers +# sets global var IP with assigned IP address of DR Prov + +function dmaap_dr_launch() { + IP="" + + + # This next section was copied from scripts/dmaap-datarouter/dr-suite/setup.sh + # and slightly modified... + + # Clone DMaaP Data Router repo + mkdir -p $WORKSPACE/archives/dmaapdr + cd $WORKSPACE/archives/dmaapdr + + git clone --depth 1 https://gerrit.onap.org/r/dmaap/datarouter -b master + cd datarouter + git pull + cd $WORKSPACE/archives/dmaapdr/datarouter/docker-compose/ + + sed -i 's/10003/10001/g' docker-compose.yml + # start DMaaP DR containers with docker compose and configuration from docker-compose.yml + docker login -u docker -p docker nexus3.onap.org:10001 + docker-compose up -d + + # Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb + for i in {1..50}; do + if [ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' mariadb) ] + then + echo "DR Service Running" + break + else + echo sleep $i + sleep $i + fi + done + + DR_PROV_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-prov) + DR_NODE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-node) + DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov) + + echo DR_PROV_IP=${DR_PROV_IP} + echo DR_NODE_IP=${DR_NODE_IP} + echo DR_GATEWAY_IP=${DR_GATEWAY_IP} + + docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$DR_GATEWAY_IP" + docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$DR_GATEWAY_IP" + + #Pass any variables required by Robot test suites in ROBOT_VARIABLES + ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP}" + + IP=${DR_GATEWAY_IP} +} diff --git a/scripts/dmaap-buscontroller/init-mock-aaf.sh b/scripts/dmaap-buscontroller/init-mock-aaf.sh new file mode 100755 index 00000000..f25404ce --- /dev/null +++ b/scripts/dmaap-buscontroller/init-mock-aaf.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# $1 is the IP address of the AAF mock server + +#curl -v -X PUT -d @- http://$1:1080/expectation << EOF +#{ +# "httpRequest": { +# "method": "GET", +# "path": "/hello" +# }, +# "httpResponse": { +# "body": "Hello world!", +# "statusCode": 200 +# }, +# "times" : { +# "unlimited" : true +# } +#} +#EOF +# "httpRequest": { +# "method": "POST", +# "path": "/proxy/authz/.*" +# }, + +curl -v -X PUT -d @- http://$1:1080/expectation << EOF +{ + "httpRequest": { + "method": ".*", + "path": "/.*" + }, + "httpResponse": { + "body": "Hello world!", + "statusCode": 200 + }, + "times" : { + "unlimited" : true + } +} +EOF + +#curl -v -X PUT -d @- http://$1:1080/expectation << EOF +#{ +# "httpRequest": { +# "method": "POST", +# "path": "/proxy/authz/role/perm" +# }, +# "httpResponse": { +# "body": "Hello world!", +# "statusCode": 200 +# } +#} +#EOF + diff --git a/scripts/dmaap-buscontroller/init-mock-drps.sh b/scripts/dmaap-buscontroller/init-mock-drps.sh new file mode 100755 index 00000000..e0f1d0f1 --- /dev/null +++ b/scripts/dmaap-buscontroller/init-mock-drps.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# $1 is the IP address of the DRPS (Data Router Provisioning Server) mock server + +curl -v -X PUT -d @- http://$1:1080/expectation << EOF +{ + "httpRequest": { + "method": "GET", + "path": "/hello" + }, + "httpResponse": { + "body": "Hello world!", + "statusCode": 200 + } +} +EOF + diff --git a/scripts/dmaap-buscontroller/init-mock-mrc.sh b/scripts/dmaap-buscontroller/init-mock-mrc.sh new file mode 100755 index 00000000..75c1a419 --- /dev/null +++ b/scripts/dmaap-buscontroller/init-mock-mrc.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# $1 is the IP address of the MRC (MR Central) mock server + +curl -v -X PUT -d @- http://$1:1080/expectation << EOF +{ + "httpRequest": { + "method": "GET", + "path": "/hello" + }, + "httpResponse": { + "body": "Hello world!", + "statusCode": 200 + } +} +EOF + diff --git a/scripts/dmaap-buscontroller/onapCSIT.env b/scripts/dmaap-buscontroller/onapCSIT.env new file mode 100644 index 00000000..db865818 --- /dev/null +++ b/scripts/dmaap-buscontroller/onapCSIT.env @@ -0,0 +1,18 @@ +#!/bin/bash +# +# environment settings for Dmaap Bus Controller Integration Test. +# assumes args are: +# $1 - FQDN of AAF server +# $2 - FQDN of MR server +# $3 - FQDN of DRPS Server +# Only need to set values where defaults aren't appropriate +# +cat <<!EOF +DMAAPBC_INT_HTTPS_PORT=8443 +DMAAPBC_PG_ENABLED=false +DMAAPBC_INSTANCE_NAME=ONAP-CSIT +DMAAPBC_AAF_URL=https://${1}:1080/proxy/ +DMAAPBC_MR_CNAME=${2} +DMAAPBC_DRPROV_FQDN=${3} +DMAAPBC_CSIT=Yes +!EOF diff --git a/scripts/dmaap-buscontroller/start-mock.sh b/scripts/dmaap-buscontroller/start-mock.sh new file mode 100755 index 00000000..b4707c5a --- /dev/null +++ b/scripts/dmaap-buscontroller/start-mock.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# +# ============LICENSE_START======================================================= +# org.onap.dmaap +# ================================================================================ +# Copyright (C) 2018 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========================================================= +# +# + +# +# starts a mock server container named $1-mock +# and runs init-mock-$1.sh to initialize it +# modifies global var IP to provide the IP address of the started container +function start_mock() { + IP="" + app=$1 + port=${2:-1080} + docker run --name ${app}-mock -d jamesdbloom/mockserver /opt/mockserver/run_mockserver.sh -logLevel INFO -serverPort ${port} -proxyPort 1090 + IP=`get-instance-ip.sh ${app}-mock` + + # Wait for initialization + for i in {1..10}; do + curl -sS ${IP}:${port} && break + echo sleep $i + sleep $i + done + + set -x + ${WORKSPACE}/test/csit/scripts/dmaap-buscontroller/init-mock-${app}.sh ${IP} + set +x + + # this is the output of this function + #echo "$IP" +} + diff --git a/scripts/dmaap-message-router/dmaap-mr-launch.sh b/scripts/dmaap-message-router/dmaap-mr-launch.sh new file mode 100755 index 00000000..36d31689 --- /dev/null +++ b/scripts/dmaap-message-router/dmaap-mr-launch.sh @@ -0,0 +1,114 @@ +#!/bin/bash +# +# ============LICENSE_START======================================================= +# ONAP DMAAP MR +# ================================================================================ +# Copyright (C) 2018 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. +# +# This script is a copy of plans/dmaap/mrpubsub/setup.sh, placed in the scripts +# dir, and edited to be a callable function from other plans. e.g. dmaap-buscontroller needs it. +# +source ${SCRIPTS}/common_functions.sh + +# function to launch DMaaP MR docker containers. +# sets global var IP with assigned IP address of MR container. +# (kafka and zk containers are not called externally) + +function dmaap_mr_launch() { + # + # the default prefix for docker containers is the directory name containing the docker-compose.yml file. + # It can be over-written by an env variable COMPOSE_PROJECT_NAME. This env var seems to be set in the Jenkins CSIT environment + COMPOSE_PREFIX=${COMPOSE_PROJECT_NAME:-docker-compose} + echo "COMPOSE_PROJECT_NAME=$COMPOSE_PROJECT_NAME" + echo "COMPOSE_PREFIX=$COMPOSE_PREFIX" + + # Clone DMaaP Message Router repo + mkdir -p $WORKSPACE/archives/dmaapmr + cd $WORKSPACE/archives/dmaapmr + #unset http_proxy https_proxy + git clone --depth 1 http://gerrit.onap.org/r/dmaap/messagerouter/messageservice -b master + cd messageservice + git pull + cd $WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose + cp $WORKSPACE/archives/dmaapmr/messageservice/bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/ + + + # start DMaaP MR containers with docker compose and configuration from docker-compose.yml + docker login -u docker -p docker nexus3.onap.org:10001 + docker-compose up -d + docker ps + + # Wait for initialization of Docker contaienr for DMaaP MR, Kafka and Zookeeper + for i in {1..50}; do + if [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_zookeeper_1) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] + then + echo "DMaaP Service Running" + break + else + echo sleep $i + sleep $i + fi + done + + + DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_dmaap_1) + IP=${DMAAP_MR_IP} + KAFKA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_kafka_1) + ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_zookeeper_1) + + echo DMAAP_MR_IP=${DMAAP_MR_IP} + echo IP=${IP} + echo KAFKA_IP=${KAFKA_IP} + echo ZOOKEEPER_IP=${ZOOKEEPER_IP} + + # Initial docker-compose up and down is for populating kafka and zookeeper IPs in /var/tmp/MsgRtrApi.properites + docker-compose down + + # Update kafkfa and zookeeper properties in MsgRtrApi.propeties which will be copied to DMaaP Container + sed -i -e 's/<zookeeper_host>/'$ZOOKEEPER_IP'/' /var/tmp/MsgRtrApi.properties + sed -i -e 's/<kafka_host>:<kafka_port>/'$KAFKA_IP':9092/' /var/tmp/MsgRtrApi.properties + + docker-compose build + docker login -u docker -p docker nexus3.onap.org:10001 + docker-compose up -d + + # Wait for initialization of Docker containers + for i in {1..50}; do + if [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_zookeeper_1) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] + then + echo "DMaaP Service Running" + break + else + echo sleep $i + sleep $i + fi + done + + # Wait for initialization of docker services + for i in {1..50}; do + curl -sS -m 1 ${DMAAP_MR_IP}:3904/events/TestTopic && break + echo sleep $i + sleep $i + done +} + diff --git a/scripts/dmaap-message-router/dmaap-mr-teardown.sh b/scripts/dmaap-message-router/dmaap-mr-teardown.sh new file mode 100755 index 00000000..ac6d798c --- /dev/null +++ b/scripts/dmaap-message-router/dmaap-mr-teardown.sh @@ -0,0 +1,24 @@ +#!/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) 2018 AT&T Intellectual Property +# + +function dmaap_mr_teardown() { +kill-instance.sh docker-compose_dmaap_1 +kill-instance.sh docker-compose_kafka_1 +kill-instance.sh docker-compose_zookeeper_1 +} diff --git a/scripts/externalapi-nbi/delete_nbi_containers.sh b/scripts/externalapi-nbi/delete_nbi_containers.sh new file mode 100644 index 00000000..76be3289 --- /dev/null +++ b/scripts/externalapi-nbi/delete_nbi_containers.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# ======================================================================== +# Copyright (c) 2018 Orange +# 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. +# ======================================================================== + +echo "This is ${WORKSPACE}/test/csit/scripts/externalapi-nbi/delete_nbi_containers.sh" + +# Check if docker-compose file exists +if [ ! -f "$WORKSPACE/externalapi-nbi/docker-compose.yml" ]; then + echo 'There is nothing to clean. Exiting...' >&2 + exit 0 +fi + +cd $WORKSPACE/externalapi-nbi + +# Remove containers and attached/anonymous volume(s) +docker-compose down -v +# Force stop & remove all containers and volumes +docker-compose rm -f -s -v + +# clean up +rm -rf $WORKSPACE/externalapi-nbi
\ No newline at end of file diff --git a/scripts/externalapi-nbi/start_nbi_containers.sh b/scripts/externalapi-nbi/start_nbi_containers.sh new file mode 100644 index 00000000..68fbb029 --- /dev/null +++ b/scripts/externalapi-nbi/start_nbi_containers.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# ======================================================================== +# Copyright (c) 2018 Orange +# 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. +# ======================================================================== + +NEXUS_USERNAME=docker +NEXUS_PASSWD=docker +export NEXUS_DOCKER_REPO=nexus3.onap.org:10001 +export DOCKER_IMAGE_VERSION=latest + +echo "This is ${WORKSPACE}/test/csit/scripts/externalapi-nbi/start_nbi_containers.sh" + +# Create directory +mkdir -p $WORKSPACE/externalapi-nbi +cd $WORKSPACE/externalapi-nbi + +# Create .env file to access env variables for docker-compose +echo "NEXUS_DOCKER_REPO=${NEXUS_DOCKER_REPO}" > .env +echo "MSB_ENABLED=false" >> .env + +# Fetch the latest docker-compose.yml +wget -O docker-compose.yml 'https://git.onap.org/externalapi/nbi/plain/docker-compose.yml?h=master' + +# Pull the nbi docker image from nexus +# MariaDB and mongoDB will be pulled automatically from docker.io during docker-compose +docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO +docker pull $NEXUS_DOCKER_REPO/onap/externalapi/nbi:$DOCKER_IMAGE_VERSION + +# Start nbi, MariaDB and MongoDB containers with docker compose and nbi/docker-compose.yml +docker-compose up -d mariadb mongo + +# inject a script to ensure that these services are ready for connections +docker-compose run --rm --entrypoint='/bin/sh' nbi -c '\ + attempt=1; \ + while ! nc -z mariadb 3306 || ! nc -z mongo 27017; do \ + if [ $attempt = 30 ]; then \ + echo "Timed out!"; \ + exit 1; \ + fi; \ + echo "waiting for db services (attempt #$attempt)..."; \ + sleep 1; \ + attempt=$(( attempt + 1)); \ + done; \ + echo "all db services are ready for connections!" \ +' + +docker-compose up -d nbi + +NBI_CONTAINER_NAME=$(docker-compose ps 2> /dev/null | tail -n+3 | tr -s ' ' | cut -d' ' -f1 | grep _nbi_) +NBI_IP=$(docker inspect --format='{{ range .NetworkSettings.Networks }}{{ .IPAddress }}{{ end }}' ${NBI_CONTAINER_NAME}) + +echo "IP address for NBI main container ($NBI_CONTAINER_NAME) is set to ${NBI_IP}." + +# Wait for initialization +for i in {1..30}; do + curl -sS ${NBI_IP}:8080 > /dev/null 2>&1 && echo 'nbi initialized' && break + echo sleep $i + sleep $i +done diff --git a/scripts/get-instance-ip.sh b/scripts/get-instance-ip.sh new file mode 100755 index 00000000..c4ca82cf --- /dev/null +++ b/scripts/get-instance-ip.sh @@ -0,0 +1,17 @@ +#!/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. +# +docker inspect --format '{{ .NetworkSettings.IPAddress }}' $1 diff --git a/scripts/holmes/engine-management/startup.sh b/scripts/holmes/engine-management/startup.sh new file mode 100644 index 00000000..27a4df48 --- /dev/null +++ b/scripts/holmes/engine-management/startup.sh @@ -0,0 +1,23 @@ +#!/bin/bash +# +# Copyright 2017 ZTE Corporation. +# +# 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. +# +# $1 nickname for the engined instance +# $2 IP address of JDBC +# $3 IP address of BrokerIP + +docker login -u docker -p docker nexus3.onap.org:10001 + +run-instance.sh nexus3.onap.org:10001/onap/holmes/engine-management:latest $1 "-e URL_JDBC=$2:5432 -e MSB_ADDR=$3:80 -e TESTING=$4 -p 9102:9102" diff --git a/scripts/holmes/rule-management/startup.sh b/scripts/holmes/rule-management/startup.sh new file mode 100644 index 00000000..ab3f9312 --- /dev/null +++ b/scripts/holmes/rule-management/startup.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# +# Copyright 2017 ZTE Corporation. +# +# 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. +# +# $1 nickname for the RuleMgt instance +# $2 IP address of JDBC + +docker login -u docker -p docker nexus3.onap.org:10001 + +run-instance.sh nexus3.onap.org:10001/onap/holmes/rule-management:latest $1 "-e URL_JDBC=$2:5432 -e MSB_ADDR=$3:80 -e TESTING=$4 -p 9101:9101"
\ No newline at end of file diff --git a/scripts/integration/mock-hello.sh b/scripts/integration/mock-hello.sh new file mode 100755 index 00000000..ac955172 --- /dev/null +++ b/scripts/integration/mock-hello.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. +# +# $1 ip address of the mock server + +curl -v -X PUT -d @- http://$1:1080/expectation <<EOF +{ + "httpRequest": { + "method": "GET", + "path": "/hello" + }, + "httpResponse": { + "body": "Hello world!", + "statusCode": 200 + } +} +EOF + diff --git a/scripts/integration/script1.sh b/scripts/integration/script1.sh new file mode 100755 index 00000000..05d57e84 --- /dev/null +++ b/scripts/integration/script1.sh @@ -0,0 +1,17 @@ +#!/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. +# +echo "This is ${WORKSPACE}/test/csit/scripts/integration/script1.sh" diff --git a/scripts/kill-instance.sh b/scripts/kill-instance.sh new file mode 100755 index 00000000..525f96e4 --- /dev/null +++ b/scripts/kill-instance.sh @@ -0,0 +1,24 @@ +#!/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. +# +# $1 nickname for the instance + +mkdir -p $WORKSPACE/archives + +docker logs $1 >> $WORKSPACE/archives/$1.log +docker kill $1 +docker rm $1 + diff --git a/scripts/modeling-toscaparsers-javatoscachecker/setup_containers.sh b/scripts/modeling-toscaparsers-javatoscachecker/setup_containers.sh new file mode 100644 index 00000000..3521ff1c --- /dev/null +++ b/scripts/modeling-toscaparsers-javatoscachecker/setup_containers.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# +# ============LICENSE_START======================================================= +# 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/modeling-toscaparsers-javatoscachecker/setup_containers.sh" + +#start docker image +run-instance.sh nexus3.onap.org:10001/onap/modeling/javatoscachecker:latest modeling_javatoscachecker_1 "-p 8080:8080" + +#checker docker image is accesible: picked from clamp, some common script would be good +TIME_OUT=1200 +INTERVAL=5 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8080/check_template/test_me); echo $response + + if [ "$response" == "404" ]; then + echo javatoscachecker service started in $TIME seconds + break; + fi + + echo Sleep: $INTERVAL seconds before testing if javatoscachecker service 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... +fi + + diff --git a/scripts/modeling-toscaparsers-javatoscachecker/teardown_containers.sh b/scripts/modeling-toscaparsers-javatoscachecker/teardown_containers.sh new file mode 100644 index 00000000..cca4fe19 --- /dev/null +++ b/scripts/modeling-toscaparsers-javatoscachecker/teardown_containers.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# +# ============LICENSE_START======================================================= +# 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/modeling-toscaparsers-javatoscachecker/teardown_containers.sh" + +kill-instance.sh modeling_javatoscachecker_1 + + diff --git a/scripts/multicloud-ocata/generic_sim/Dockerfile b/scripts/multicloud-ocata/generic_sim/Dockerfile new file mode 100644 index 00000000..688b58af --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/Dockerfile @@ -0,0 +1,12 @@ +FROM python:2.7 + +EXPOSE 8080 + +RUN mkdir -p /{tmp,etc}/generic_sim + +WORKDIR /opt/generic_sim/ + +COPY . . +RUN pip install --no-cache-dir -r requirements.txt + +CMD [ "python", "generic_sim.py" ] diff --git a/scripts/multicloud-ocata/generic_sim/aai/responses.yml b/scripts/multicloud-ocata/generic_sim/aai/responses.yml new file mode 100644 index 00000000..f6d5fcd0 --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/aai/responses.yml @@ -0,0 +1,189 @@ +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne: + GET: + body: '{"cloud-owner":"CloudOwner","cloud-region-id":"RegionOne","cloud-type":"openstack","owner-defined-type":"t1","cloud-region-version":"RegionOne","identity-url":"http://keystone:8080/v3","cloud-zone":"z1","complex-name":"clli1","sriov-automation":false,"cloud-extra-info":"","resource-version":"1524845154715"}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal","Node + Not Found:No Node of type availability-zone found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova","Node + Not Found:No Node of type availability-zone found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d","Node + Not Found:No Node of type image found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d","Node + Not Found:No Node of type tenant found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7","Node + Not Found:No Node of type tenant found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne: + GET: + body: '{"cloud-owner":"CloudOwner","cloud-region-id":"RegionOne","cloud-type":"openstack","owner-defined-type":"t1","cloud-region-version":"RegionOne","identity-url":"http://multicloud-ocata:80/api/multicloud-titanium_cloud/v0/CloudOwner_RegionOne/identity/v2.0","cloud-zone":"z1","complex-name":"clli1","sriov-automation":false,"cloud-extra-info":"","resource-version":"1524845276291"}' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/esr-system-info-list: + GET: + body: '{"esr-system-info":[{"esr-system-info-id":"4ce895ad-82f7-4476-b5eb-d19d19585da2","service-url":"http://keystone:8080/v3","user-name":"admin","password":"secret","system-type":"VIM","ssl-insecure":true,"cloud-domain":"Default","default-tenant":"admin","resource-version":"1524845155617"}]}' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/pservers/pserver/compute-0: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/pservers/pserver/compute-0","Node + Not Found:No Node of type pserver found at: cloud-infrastructure/pservers/pserver/compute-0","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/pservers/pserver/compute-0/relationship-list/relationship: + PUT: + body: '' + content_type: application/json + status_code: 200 diff --git a/scripts/multicloud-ocata/generic_sim/cinder/responses.yml b/scripts/multicloud-ocata/generic_sim/cinder/responses.yml new file mode 100644 index 00000000..d9657a5d --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/cinder/responses.yml @@ -0,0 +1,5 @@ +/snapshots/detail: + get: + body: '{"snapshots": []}' + content_type: application/json + status_code: 200 diff --git a/scripts/multicloud-ocata/generic_sim/generic_sim.py b/scripts/multicloud-ocata/generic_sim/generic_sim.py new file mode 100644 index 00000000..4392b652 --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/generic_sim.py @@ -0,0 +1,109 @@ +# Copyright 2018 Intel Corporation, Inc +# 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. + +import json +import logging + +import web +from web import webapi +import yaml + +urls = ( + '/(.*)','MockController' +) + +def setup_logger(name, log_file, level=logging.DEBUG): + print("Configuring the logger...") + handler = logging.FileHandler(log_file) + formatter = logging.Formatter('%(message)s') + handler.setFormatter(formatter) + + logger = logging.getLogger(name) + logger.setLevel(level) + logger.addHandler(handler) + + return logger + + +class MockResponse: + def __init__(self, http_verb, status_code, + content_type="application/json", body="{}", + headers={}): + self.http_verb = http_verb.lower() + self.status_code = status_code + self.content_type = content_type + self.body = body + self.headers = headers + +def _parse_responses(parsed_responses): + result = {} + for path, responses in parsed_responses.iteritems(): + new_path = path + if path.startswith("/"): + new_path = path[1:] + + result[new_path] = [] + for http_verb, response in responses.iteritems(): + result[new_path].append(MockResponse(http_verb, **response)) + return result + +def load_responses(filename): + print("Loading responses from configuration file..") + with open(filename) as yaml_file: + responses_file = yaml.safe_load(yaml_file) + responses_map = _parse_responses(responses_file) + return responses_map + + +class MockController: + + def _do_action(self, action): + logger.info('{}'.format(web.ctx.env.get('wsgi.input').read())) + action = action.lower() + url = web.ctx['fullpath'] + try: + if url.startswith("/"): + url = url[1:] + response = [ r for r in responses_map[url] if r.http_verb == action][0] + for header, value in response.headers.iteritems(): + web.header(header, value) + web.header('Content-Type', response.content_type) + print(response.body) + return response.body + except: + webapi.NotFound() + + def DELETE(self, url): + return self._do_action("delete") + + def HEAD(self, url): + return self._do_action("head") + + def PUT(self, url): + return self._do_action("put") + + def GET(self, url): + return self._do_action("get") + + def POST(self, url): + return self._do_action("post") + + def PATCH(self, url): + return self._do_action("patch") + + +logger = setup_logger('mock_controller', '/tmp/generic_sim/output.log') +responses_map = load_responses('/etc/generic_sim/responses.yml') +app = web.application(urls, globals()) +if __name__ == "__main__": + app.run() diff --git a/scripts/multicloud-ocata/generic_sim/glance/responses.yml b/scripts/multicloud-ocata/generic_sim/glance/responses.yml new file mode 100644 index 00000000..d8422352 --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/glance/responses.yml @@ -0,0 +1,73 @@ +/v2/images: + get: + body: '{"images": [{"status": "active", "schema": "/v2/schemas/image", + "virtual_size": null, "description": "", "tags": [], "container_format": + "bare", "created_at": "2018-04-21T06:12:13Z", "disk_format": "raw", + "updated_at": "2018-04-21T06:12:24Z", "visibility": "public", "id": + "660709df-e90b-471f-ac57-d8c2555e573d", "owner": "b8f5d85bbcd84af28d7caa62d39f05c7", + "protected": false, "min_ram": 0, "file": "/v2/images/660709df-e90b-471f-ac57-d8c2555e573d/file", + "checksum": "683f86920d4c922cb5c55d99d646b895", "min_disk": 0, "size": + 1697597440, "self": "/v2/images/660709df-e90b-471f-ac57-d8c2555e573d", "store": + "file", "name": "tis4-centos-guest"}], "first": "/v2/images", "schema": + "/v2/schemas/images"}' + content_type: application/json + status_code: 200 +/v2/schemas/image: + get: + body: '{"additionalProperties": {"type": "string"}, "name": "image", + "links": [{"href": "{self}", "rel": "self"}, {"href": "{file}", + "rel": "enclosure"}, {"href": "{schema}", "rel": "describedby"}], + "properties": {"container_format": {"enum": [null, "ami", "ari", "aki", + "bare", "ovf", "ova", "docker"], "type": ["null", "string"], "description": + "Format of the container"}, "min_ram": {"type": "integer", "description": + "Amount of ram (in MB) required to boot image."}, "ramdisk_id": {"pattern": + "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": ["null", "string"], "description": "ID of image stored in Glance + that should be used as the ramdisk when booting an AMI-style image.", "is_base": + false}, "locations": {"items": {"required": ["url", "metadata"], "type": + "object", "properties": {"url": {"type": "string", "maxLength": + 255}, "metadata": {"type": "object"}}}, "type": "array", "description": + "A set of URLs to access the image file kept in external store"}, "file": + {"readOnly": true, "type": "string", "description": "An image file + url"}, "owner": {"type": ["null", "string"], "description": "Owner + of the image", "maxLength": 255}, "id": {"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string", "description": "An identifier for the image"}, "size": + {"readOnly": true, "type": ["null", "integer"], "description": "Size + of image file in bytes"}, "os_distro": {"type": "string", "description": + "Common name of operating system distribution as specified in https://docs.openstack.org/python-glanceclient/latest/cli/property-keys.html", + "is_base": false}, "self": {"readOnly": true, "type": "string", "description": + "An image self url"}, "disk_format": {"enum": [null, "ami", "ari", + "aki", "vhd", "vhdx", "vmdk", "raw", "qcow2", "vdi", "iso", + "ploop"], "type": ["null", "string"], "description": "Format of the + disk"}, "os_version": {"type": "string", "description": "Operating + system version as specified by the distributor", "is_base": false}, "direct_url": + {"readOnly": true, "type": "string", "description": "URL to access + the image file kept in external store"}, "schema": {"readOnly": true, "type": + "string", "description": "An image schema url"}, "status": {"readOnly": + true, "enum": ["queued", "saving", "active", "killed", "deleted", + "pending_delete", "deactivated"], "type": "string", "description": + "Status of the image"}, "tags": {"items": {"type": "string", "maxLength": + 255}, "type": "array", "description": "List of strings related to the + image"}, "kernel_id": {"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": ["null", "string"], "description": "ID of image stored in Glance + that should be used as the kernel when booting an AMI-style image.", "is_base": + false}, "visibility": {"enum": ["community", "public", "private", + "shared"], "type": "string", "description": "Scope of image accessibility"}, + "updated_at": {"readOnly": true, "type": "string", "description": + "Date and time of the last image modification"}, "min_disk": {"type": + "integer", "description": "Amount of disk space (in GB) required to boot + image."}, "virtual_size": {"readOnly": true, "type": ["null", "integer"], + "description": "Virtual size of image in bytes"}, "instance_uuid": {"type": + "string", "description": "Metadata which can be used to record which instance + this image is associated with. (Informational only, does not create an instance + snapshot.)", "is_base": false}, "name": {"type": ["null", "string"], + "description": "Descriptive name for the image", "maxLength": 255}, "checksum": + {"readOnly": true, "type": ["null", "string"], "description": "md5 + hash of image contents.", "maxLength": 32}, "created_at": {"readOnly": + true, "type": "string", "description": "Date and time of image registration"}, + "protected": {"type": "boolean", "description": "If true, image will + not be deletable."}, "architecture": {"type": "string", "description": + "Operating system architecture as specified in https://docs.openstack.org/python-glanceclient/latest/cli/property-keys.html", + "is_base": false}}}' + content_type: application/json + status_code: 200 diff --git a/scripts/multicloud-ocata/generic_sim/keystone/responses.yml b/scripts/multicloud-ocata/generic_sim/keystone/responses.yml new file mode 100644 index 00000000..422ec7b7 --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/keystone/responses.yml @@ -0,0 +1,44 @@ +projects: + get: + body: '{"projects": [{"is_domain": false, "description": "admin tenant", + "links": {"self": "http://keystone:8080/v3/projects/b8f5d85bbcd84af28d7caa62d39f05c7"}, + "enabled": true, "domain_id": "default", "parent_id": "default", "id": + "b8f5d85bbcd84af28d7caa62d39f05c7", "name": "admin"}, {"is_domain": + false, "description": "Tenant for the openstack services", "links": {"self": + "http://keystone:8080/v3/projects/3543226ffed44daf90a2f71f36c00b8d"}, + "enabled": true, "domain_id": "default", "parent_id": "default", "id": + "3543226ffed44daf90a2f71f36c00b8d", "name": "services"}], "links": {"self": + "http://keystone:8080/v3/projects", "next": null, "previous": null}}' + content_type: application/json + status_code: 200 +v3/auth/tokens: + post: + body: '{"token": {"methods": ["password"], "expires_at": "2019-11-06T15:32:17.893769Z", + "user": { "domain": {"id": "default", "name": "Default"}, + "id": "423f19a4ac1e4f48bbb4180756e6eb6c", "name": "admin", "password_expires_at": null }, + "audit_ids": [ "ZzZwkUflQfygX7pdYDBCQQ"], "catalog": [ + { "endpoints": [ + { "id": "1", "interface": "public", "region": "RegionOne", "url": "http://keystone:8080" }, + { "id": "2", "interface": "internal", "region": "RegionOne", "url": "http://keystone:8080" }, + { "id": "3", "interface": "admin", "region": "RegionOne", "url": "http://keystone:8080" } + ], "id": "1", "type": "identity", "name": "keystone"}, + { "endpoints": [ + { "id": "1", "interface": "public", "region": "RegionOne", "url": "http://glance:8080" }, + { "id": "2", "interface": "internal", "region": "RegionOne", "url": "http://glance:8080" }, + { "id": "3", "interface": "admin", "region": "RegionOne", "url": "http://glance:8080" } + ], "id": "2", "type": "image", "name": "glance"}, + { "endpoints": [ + { "id": "1", "interface": "public", "region": "RegionOne", "url": "http://cinder:8080" }, + { "id": "2", "interface": "internal", "region": "RegionOne", "url": "http://cinder:8080" }, + { "id": "3", "interface": "admin", "region": "RegionOne", "url": "http://cinder:8080" } + ], "id": "2", "type": "volumev3", "name": "cinder"}, + { "endpoints": [ + { "id": "1", "interface": "public", "region": "RegionOne", "url": "http://nova:8080" }, + { "id": "2", "interface": "internal", "region": "RegionOne", "url": "http://nova:8080" }, + { "id": "3", "interface": "admin", "region": "RegionOne", "url": "http://nova:8080" } + ], "id": "3", "type": "compute", "name": "nova"}], + "issued_at": "2015-11-06T14:32:17.893797Z"}}' + content_type: application/json + status_code: 200 + headers: + X-Subject-Token: 423f19a4ac1e4f48bbb4180756e6eb6c diff --git a/scripts/multicloud-ocata/generic_sim/log_parser.py b/scripts/multicloud-ocata/generic_sim/log_parser.py new file mode 100644 index 00000000..1334e608 --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/log_parser.py @@ -0,0 +1,61 @@ +import argparse + +import yaml + + +def _find_aai_response_content(inp): + return inp.split("||||")[1].split("with response content = ")[1] + +def _find_openstack_url(inp): + return inp.split("||||")[1].split("making request with URI:")[1] + +def _find_openstack_response_content(inp): + return inp.split("||||")[1].split("with content:")[1].replace("u'", "'") + +def _add_response(all_responses, url, http_verb, body, status_code=200, content_type="application/json"): + if url not in all_responses.keys(): + all_responses[url] = { + http_verb: { + "status_code": status_code, + "content_type": content_type, + "body": body + } + } + elif http_verb not in all_responses[url].keys(): + all_responses[url][http_verb] = { + "status_code": status_code, + "content_type": content_type, + "body": body + } + +def parse_lines(content, aai_ip): + aai_pattern = "https://%s:30233/" % aai_ip + openstack_pattern = "making request with URI:" + + openstack_responses = {} + aai_responses = {} + for i, line in enumerate(content): + current_line = line.strip() + if aai_pattern in current_line and "DEBUG" not in current_line: + url = current_line.split(" ")[8][:-1].replace(aai_pattern, "") + _add_response(aai_responses, url, current_line.split(" ")[9][:-1], + _find_aai_response_content(content[i + 3])) + elif openstack_pattern in current_line: + _add_response(openstack_responses, + _find_openstack_url(current_line), "get", + _find_openstack_response_content(content[i + 2])) + + return [ + { "file": "nova.yml", "responses": openstack_responses }, + { "file": "aai.yml", "responses": aai_responses } + ] + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Convert logs to responses YAML tree file.') + parser.add_argument('--log-file', type=argparse.FileType('r'), help="Log file to be parsed", required=True) + parser.add_argument('--aai-ip', help="A&AI IP Address", required=True) + args = parser.parse_args() + + for mock_responses in parse_lines(args.log_file.readlines(), args.aai_ip): + with open(mock_responses["file"], 'w') as yaml_file: + yaml.dump(mock_responses["responses"], yaml_file, default_flow_style=False) diff --git a/scripts/multicloud-ocata/generic_sim/nova/responses.yml b/scripts/multicloud-ocata/generic_sim/nova/responses.yml new file mode 100644 index 00000000..94469711 --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/nova/responses.yml @@ -0,0 +1,177 @@ +/flavors/110/os-extra_specs: + get: + body: '{"extra_specs": {"hw:cpu_policy": "dedicated", "hw:mem_page_size": + "large", "hw:cpu_sockets": "2", "hw:cpu_threads": "8", "hw:numa_mem.1": + "2048", "hw:numa_mem.0": "2048", "hw:capabilities:cpu_info:features": + "avx,acpi", "aggregate_instance_extra_specs:storage": "local_image", "hw:numa_nodes": + "2", "hw:numa_cpus.0": "0,1", "hw:numa_cpus.1": "2,3,4,5", "hw:cpu_cores": + "4", "hw:cpu_thread_policy": "prefer", "pci_passthrough:alias": "sriov-vf-intel-8086-15b3:4"}}' + content_type: application/json + status_code: 200 +/flavors/111/os-extra_specs: + get: + body: '{"extra_specs": {"aggregate_instance_extra_specs:storage": "local_image"}}' + content_type: application/json + status_code: 200 +/flavors/112/os-extra_specs: + get: + body: '{"extra_specs": {"hw:cpu_policy": "dedicated", "hw:cpu_thread_policy": + "isolate", "aggregate_instance_extra_specs:storage": "local_image"}}' + content_type: application/json + status_code: 200 +/flavors/113/os-extra_specs: + get: + body: '{"extra_specs": {"hw:cpu_cores": "8", "hw:cpu_threads": "16", + "aggregate_instance_extra_specs:storage": "local_image", "hw:cpu_sockets": + "2"}}' + content_type: application/json + status_code: 200 +/flavors/114/os-extra_specs: + get: + body: '{"extra_specs": {"aggregate_instance_extra_specs:storage": "local_image", + "hw:mem_page_size": "small"}}' + content_type: application/json + status_code: 200 +/flavors/115/os-extra_specs: + get: + body: '{"extra_specs": {"hw:numa_mem.1": "1024", "hw:numa_mem.0": "1024", + "aggregate_instance_extra_specs:storage": "local_image", "hw:numa_nodes": + "2", "hw:numa_cpus.0": "0,1", "hw:numa_cpus.1": "2,3"}}' + content_type: application/json + status_code: 200 +/flavors/116/os-extra_specs: + get: + body: '{"extra_specs": {"hw:capabilities:cpu_info:features": "avx,aes", + "aggregate_instance_extra_specs:storage": "local_image"}}' + content_type: application/json + status_code: 200 +/flavors/117/os-extra_specs: + get: + body: '{"extra_specs": {"aggregate_instance_extra_specs:storage": "local_image", + "pci_passthrough:alias": "sriov-vf-intel-8086-15b3:6"}}' + content_type: application/json + status_code: 200 +/flavors/detail: + get: + body: '{"flavors": [{"name": "f.small", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/100", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/100", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "100"}, {"name": + "onap.hpa.all", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/110", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/110", + "rel": "bookmark"}], "ram": 4096, "OS-FLV-DISABLED:disabled": false, + "vcpus": 6, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "110"}, {"name": + "onap.hpa.basic", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/111", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/111", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 4, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "111"}, {"name": + "onap.hpa.cpupinning", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/112", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/112", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 4, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "112"}, {"name": + "onap.hpa.cputopology", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/113", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/113", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "113"}, {"name": + "onap.hpa.hugepage", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/114", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/114", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "114"}, {"name": + "onap.hpa.numa", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/115", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/115", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 4, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "115"}, {"name": + "onap.hpa.instruction", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/116", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/116", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "116"}, {"name": + "onap.hpa.passthrough", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/117", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/117", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "117"}]}' + content_type: application/json + status_code: 200 +/os-availability-zone/detail: + get: + body: '{"availabilityZoneInfo": [{"zoneState": {"available": true}, "hosts": + {"controller-0": {"nova-conductor": {"available": true, "active": true, + "updated_at": "2018-04-27T16:05:25.272674"}, "nova-consoleauth": {"available": + true, "active": true, "updated_at": "2018-04-27T16:05:21.875274"}, "nova-scheduler": + {"available": true, "active": true, "updated_at": "2018-04-27T16:05:25.286846"}}}, + "zoneName": "internal"}, {"zoneState": {"available": false}, "hosts": + null, "zoneName": "nova"}]}' + content_type: application/json + status_code: 200 +/os-hypervisors/detail: + get: + body: '{ + "hypervisors": [{ + "status": "disabled", + "service": { + "host": "compute-0", + "disabled_reason": null, + "id": 11 + }, + "vcpus_used": 0.0, + "hypervisor_type": "QEMU", + "id": 1, + "local_gb_used": 0, + "state": "down", + "hypervisor_hostname": "compute-0", + "host_ip": "192.168.204.162", + "memory_mb": 51562, + "current_workload": 0, + "vcpus": 42, + "free_ram_mb": 51562, + "running_vms": 0, + "free_disk_gb": 1740, + "hypervisor_version": 2010000, + "disk_available_least": 1740, + "local_gb": 1833, + "cpu_info": "{\"vendor\": \"Intel\", \"model\": \"IvyBridge\", \"arch\": \"x86_64\", \"features\": [\"pge\", \"avx\", \"xsaveopt\", \"clflush\", \"sep\", \"syscall\",\"tsc-deadline\",\"dtes64\",\"msr\",\"fsgsbase\",\"xsave\",\"vmx\",\"erms\",\"xtpr\",\"cmov\",\"smep\",\"pcid\",\"est\",\"pat\",\"monitor\",\"smx\",\"pbe\",\"lm\",\"tsc\",\"nx\",\"fxsr\",\"tm\",\"sse4.1\",\"pae\",\"sse4.2\",\"pclmuldq\",\"acpi\",\"vme\",\"popcnt\",\"mmx\",\"osxsave\",\"cx8\",\"mce\",\"de\",\"rdtscp\",\"ht\",\"dca\",\"lahf_lm\",\"pdcm\",\"mca\",\"pdpe1gb\",\"a pic\",\"sse\",\"f16c\",\"pse\",\"ds\",\"invtsc\",\"pni\",\"tm2\",\"aes\",\"sse2\",\"ss\",\"ds_cpl\",\"arat\",\"ssse3\",\"fpu\",\"cx16\",\"pse36\",\"mtrr\",\"rdrand\",\"x2apic\"],\"topology\": {\"cores\": 12,\"cells\": 2,\"threads\": 2,\"sockets\": 1}}", + "memory_mb_used ": 0 + }] +}' + content_type: application/json + status_code: 200 +/os-hypervisors/detail?hypervisor_hostname_pattern=controller-0: + get: + body: '{ + "hypervisors": [{ + "status": "disabled", + "service": { + "host": "compute-0", + "disabled_reason": null, + "id": 11 + }, + "vcpus_used": 0.0, + "hypervisor_type": "QEMU", + "id": 1, + "local_gb_used": 0, + "state": "down", + "hypervisor_hostname": "compute-0", + "host_ip": "192.168.204.162", + "memory_mb": 51562, + "current_workload": 0, + "vcpus": 42, + "free_ram_mb": 51562, + "running_vms": 0, + "free_disk_gb": 1740, + "hypervisor_version": 2010000, + "disk_available_least": 1740, + "local_gb": 1833, + "cpu_info": "{\"vendor\": \"Intel\", \"model\": \"IvyBridge\", \"arch\": \"x86_64\", \"features\": [\"pge\", \"avx\", \"xsaveopt\", \"clflush\", \"sep\", \"syscall\",\"tsc-deadline\",\"dtes64\",\"msr\",\"fsgsbase\",\"xsave\",\"vmx\",\"erms\",\"xtpr\",\"cmov\",\"smep\",\"pcid\",\"est\",\"pat\",\"monitor\",\"smx\",\"pbe\",\"lm\",\"tsc\",\"nx\",\"fxsr\",\"tm\",\"sse4.1\",\"pae\",\"sse4.2\",\"pclmuldq\",\"acpi\",\"vme\",\"popcnt\",\"mmx\",\"osxsave\",\"cx8\",\"mce\",\"de\",\"rdtscp\",\"ht\",\"dca\",\"lahf_lm\",\"pdcm\",\"mca\",\"pdpe1gb\",\"a pic\",\"sse\",\"f16c\",\"pse\",\"ds\",\"invtsc\",\"pni\",\"tm2\",\"aes\",\"sse2\",\"ss\",\"ds_cpl\",\"arat\",\"ssse3\",\"fpu\",\"cx16\",\"pse36\",\"mtrr\",\"rdrand\",\"x2apic\"],\"topology\": {\"cores\": 12,\"cells\": 2,\"threads\": 2,\"sockets\": 1}}", + "memory_mb_used ": 0 + }] +}' + content_type: application/json + status_code: 200 diff --git a/scripts/multicloud-ocata/generic_sim/requirements.txt b/scripts/multicloud-ocata/generic_sim/requirements.txt new file mode 100644 index 00000000..ac1d7dd7 --- /dev/null +++ b/scripts/multicloud-ocata/generic_sim/requirements.txt @@ -0,0 +1,2 @@ +PyYAML +web.py diff --git a/scripts/multicloud-pike/generic_sim/Dockerfile b/scripts/multicloud-pike/generic_sim/Dockerfile new file mode 100644 index 00000000..688b58af --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/Dockerfile @@ -0,0 +1,12 @@ +FROM python:2.7 + +EXPOSE 8080 + +RUN mkdir -p /{tmp,etc}/generic_sim + +WORKDIR /opt/generic_sim/ + +COPY . . +RUN pip install --no-cache-dir -r requirements.txt + +CMD [ "python", "generic_sim.py" ] diff --git a/scripts/multicloud-pike/generic_sim/aai/responses.yml b/scripts/multicloud-pike/generic_sim/aai/responses.yml new file mode 100644 index 00000000..27628072 --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/aai/responses.yml @@ -0,0 +1,189 @@ +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne: + GET: + body: '{"cloud-owner":"CloudOwner","cloud-region-id":"RegionOne","cloud-type":"openstack","owner-defined-type":"t1","cloud-region-version":"RegionOne","identity-url":"http://keystone:8080/v3","cloud-zone":"z1","complex-name":"clli1","sriov-automation":false,"cloud-extra-info":"","resource-version":"1524845154715"}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal","Node + Not Found:No Node of type availability-zone found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/internal","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova","Node + Not Found:No Node of type availability-zone found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/availability-zones/availability-zone/nova","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/100","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/110","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/111","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/112","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/113","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/114","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/115","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/116","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117","Node + Not Found:No Node of type flavor found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/flavors/flavor/117","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d","Node + Not Found:No Node of type image found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/images/image/660709df-e90b-471f-ac57-d8c2555e573d","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d","Node + Not Found:No Node of type tenant found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/3543226ffed44daf90a2f71f36c00b8d","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7","Node + Not Found:No Node of type tenant found at: cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/tenants/tenant/b8f5d85bbcd84af28d7caa62d39f05c7","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne: + GET: + body: '{"cloud-owner":"CloudOwner","cloud-region-id":"RegionOne","cloud-type":"openstack","owner-defined-type":"t1","cloud-region-version":"RegionOne","identity-url":"http://multicloud-pike:80/api/multicloud-titanium_cloud/v0/CloudOwner_RegionOne/identity/v2.0","cloud-zone":"z1","complex-name":"clli1","sriov-automation":false,"cloud-extra-info":"","resource-version":"1524845276291"}' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne/esr-system-info-list: + GET: + body: '{"esr-system-info":[{"esr-system-info-id":"4ce895ad-82f7-4476-b5eb-d19d19585da2","service-url":"http://keystone:8080/v3","user-name":"admin","password":"secret","system-type":"VIM","ssl-insecure":true,"cloud-domain":"Default","default-tenant":"admin","resource-version":"1524845155617"}]}' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/pservers/pserver/compute-0: + GET: + body: '{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource + not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/pservers/pserver/compute-0","Node + Not Found:No Node of type pserver found at: cloud-infrastructure/pservers/pserver/compute-0","ERR.5.4.6114"]}}}' + content_type: application/json + status_code: 200 + PUT: + body: '' + content_type: application/json + status_code: 200 +aai/v13/cloud-infrastructure/pservers/pserver/compute-0/relationship-list/relationship: + PUT: + body: '' + content_type: application/json + status_code: 200 diff --git a/scripts/multicloud-pike/generic_sim/cinder/responses.yml b/scripts/multicloud-pike/generic_sim/cinder/responses.yml new file mode 100644 index 00000000..d9657a5d --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/cinder/responses.yml @@ -0,0 +1,5 @@ +/snapshots/detail: + get: + body: '{"snapshots": []}' + content_type: application/json + status_code: 200 diff --git a/scripts/multicloud-pike/generic_sim/generic_sim.py b/scripts/multicloud-pike/generic_sim/generic_sim.py new file mode 100644 index 00000000..4392b652 --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/generic_sim.py @@ -0,0 +1,109 @@ +# Copyright 2018 Intel Corporation, Inc +# 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. + +import json +import logging + +import web +from web import webapi +import yaml + +urls = ( + '/(.*)','MockController' +) + +def setup_logger(name, log_file, level=logging.DEBUG): + print("Configuring the logger...") + handler = logging.FileHandler(log_file) + formatter = logging.Formatter('%(message)s') + handler.setFormatter(formatter) + + logger = logging.getLogger(name) + logger.setLevel(level) + logger.addHandler(handler) + + return logger + + +class MockResponse: + def __init__(self, http_verb, status_code, + content_type="application/json", body="{}", + headers={}): + self.http_verb = http_verb.lower() + self.status_code = status_code + self.content_type = content_type + self.body = body + self.headers = headers + +def _parse_responses(parsed_responses): + result = {} + for path, responses in parsed_responses.iteritems(): + new_path = path + if path.startswith("/"): + new_path = path[1:] + + result[new_path] = [] + for http_verb, response in responses.iteritems(): + result[new_path].append(MockResponse(http_verb, **response)) + return result + +def load_responses(filename): + print("Loading responses from configuration file..") + with open(filename) as yaml_file: + responses_file = yaml.safe_load(yaml_file) + responses_map = _parse_responses(responses_file) + return responses_map + + +class MockController: + + def _do_action(self, action): + logger.info('{}'.format(web.ctx.env.get('wsgi.input').read())) + action = action.lower() + url = web.ctx['fullpath'] + try: + if url.startswith("/"): + url = url[1:] + response = [ r for r in responses_map[url] if r.http_verb == action][0] + for header, value in response.headers.iteritems(): + web.header(header, value) + web.header('Content-Type', response.content_type) + print(response.body) + return response.body + except: + webapi.NotFound() + + def DELETE(self, url): + return self._do_action("delete") + + def HEAD(self, url): + return self._do_action("head") + + def PUT(self, url): + return self._do_action("put") + + def GET(self, url): + return self._do_action("get") + + def POST(self, url): + return self._do_action("post") + + def PATCH(self, url): + return self._do_action("patch") + + +logger = setup_logger('mock_controller', '/tmp/generic_sim/output.log') +responses_map = load_responses('/etc/generic_sim/responses.yml') +app = web.application(urls, globals()) +if __name__ == "__main__": + app.run() diff --git a/scripts/multicloud-pike/generic_sim/glance/responses.yml b/scripts/multicloud-pike/generic_sim/glance/responses.yml new file mode 100644 index 00000000..d8422352 --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/glance/responses.yml @@ -0,0 +1,73 @@ +/v2/images: + get: + body: '{"images": [{"status": "active", "schema": "/v2/schemas/image", + "virtual_size": null, "description": "", "tags": [], "container_format": + "bare", "created_at": "2018-04-21T06:12:13Z", "disk_format": "raw", + "updated_at": "2018-04-21T06:12:24Z", "visibility": "public", "id": + "660709df-e90b-471f-ac57-d8c2555e573d", "owner": "b8f5d85bbcd84af28d7caa62d39f05c7", + "protected": false, "min_ram": 0, "file": "/v2/images/660709df-e90b-471f-ac57-d8c2555e573d/file", + "checksum": "683f86920d4c922cb5c55d99d646b895", "min_disk": 0, "size": + 1697597440, "self": "/v2/images/660709df-e90b-471f-ac57-d8c2555e573d", "store": + "file", "name": "tis4-centos-guest"}], "first": "/v2/images", "schema": + "/v2/schemas/images"}' + content_type: application/json + status_code: 200 +/v2/schemas/image: + get: + body: '{"additionalProperties": {"type": "string"}, "name": "image", + "links": [{"href": "{self}", "rel": "self"}, {"href": "{file}", + "rel": "enclosure"}, {"href": "{schema}", "rel": "describedby"}], + "properties": {"container_format": {"enum": [null, "ami", "ari", "aki", + "bare", "ovf", "ova", "docker"], "type": ["null", "string"], "description": + "Format of the container"}, "min_ram": {"type": "integer", "description": + "Amount of ram (in MB) required to boot image."}, "ramdisk_id": {"pattern": + "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": ["null", "string"], "description": "ID of image stored in Glance + that should be used as the ramdisk when booting an AMI-style image.", "is_base": + false}, "locations": {"items": {"required": ["url", "metadata"], "type": + "object", "properties": {"url": {"type": "string", "maxLength": + 255}, "metadata": {"type": "object"}}}, "type": "array", "description": + "A set of URLs to access the image file kept in external store"}, "file": + {"readOnly": true, "type": "string", "description": "An image file + url"}, "owner": {"type": ["null", "string"], "description": "Owner + of the image", "maxLength": 255}, "id": {"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": "string", "description": "An identifier for the image"}, "size": + {"readOnly": true, "type": ["null", "integer"], "description": "Size + of image file in bytes"}, "os_distro": {"type": "string", "description": + "Common name of operating system distribution as specified in https://docs.openstack.org/python-glanceclient/latest/cli/property-keys.html", + "is_base": false}, "self": {"readOnly": true, "type": "string", "description": + "An image self url"}, "disk_format": {"enum": [null, "ami", "ari", + "aki", "vhd", "vhdx", "vmdk", "raw", "qcow2", "vdi", "iso", + "ploop"], "type": ["null", "string"], "description": "Format of the + disk"}, "os_version": {"type": "string", "description": "Operating + system version as specified by the distributor", "is_base": false}, "direct_url": + {"readOnly": true, "type": "string", "description": "URL to access + the image file kept in external store"}, "schema": {"readOnly": true, "type": + "string", "description": "An image schema url"}, "status": {"readOnly": + true, "enum": ["queued", "saving", "active", "killed", "deleted", + "pending_delete", "deactivated"], "type": "string", "description": + "Status of the image"}, "tags": {"items": {"type": "string", "maxLength": + 255}, "type": "array", "description": "List of strings related to the + image"}, "kernel_id": {"pattern": "^([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}$", + "type": ["null", "string"], "description": "ID of image stored in Glance + that should be used as the kernel when booting an AMI-style image.", "is_base": + false}, "visibility": {"enum": ["community", "public", "private", + "shared"], "type": "string", "description": "Scope of image accessibility"}, + "updated_at": {"readOnly": true, "type": "string", "description": + "Date and time of the last image modification"}, "min_disk": {"type": + "integer", "description": "Amount of disk space (in GB) required to boot + image."}, "virtual_size": {"readOnly": true, "type": ["null", "integer"], + "description": "Virtual size of image in bytes"}, "instance_uuid": {"type": + "string", "description": "Metadata which can be used to record which instance + this image is associated with. (Informational only, does not create an instance + snapshot.)", "is_base": false}, "name": {"type": ["null", "string"], + "description": "Descriptive name for the image", "maxLength": 255}, "checksum": + {"readOnly": true, "type": ["null", "string"], "description": "md5 + hash of image contents.", "maxLength": 32}, "created_at": {"readOnly": + true, "type": "string", "description": "Date and time of image registration"}, + "protected": {"type": "boolean", "description": "If true, image will + not be deletable."}, "architecture": {"type": "string", "description": + "Operating system architecture as specified in https://docs.openstack.org/python-glanceclient/latest/cli/property-keys.html", + "is_base": false}}}' + content_type: application/json + status_code: 200 diff --git a/scripts/multicloud-pike/generic_sim/keystone/responses.yml b/scripts/multicloud-pike/generic_sim/keystone/responses.yml new file mode 100644 index 00000000..422ec7b7 --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/keystone/responses.yml @@ -0,0 +1,44 @@ +projects: + get: + body: '{"projects": [{"is_domain": false, "description": "admin tenant", + "links": {"self": "http://keystone:8080/v3/projects/b8f5d85bbcd84af28d7caa62d39f05c7"}, + "enabled": true, "domain_id": "default", "parent_id": "default", "id": + "b8f5d85bbcd84af28d7caa62d39f05c7", "name": "admin"}, {"is_domain": + false, "description": "Tenant for the openstack services", "links": {"self": + "http://keystone:8080/v3/projects/3543226ffed44daf90a2f71f36c00b8d"}, + "enabled": true, "domain_id": "default", "parent_id": "default", "id": + "3543226ffed44daf90a2f71f36c00b8d", "name": "services"}], "links": {"self": + "http://keystone:8080/v3/projects", "next": null, "previous": null}}' + content_type: application/json + status_code: 200 +v3/auth/tokens: + post: + body: '{"token": {"methods": ["password"], "expires_at": "2019-11-06T15:32:17.893769Z", + "user": { "domain": {"id": "default", "name": "Default"}, + "id": "423f19a4ac1e4f48bbb4180756e6eb6c", "name": "admin", "password_expires_at": null }, + "audit_ids": [ "ZzZwkUflQfygX7pdYDBCQQ"], "catalog": [ + { "endpoints": [ + { "id": "1", "interface": "public", "region": "RegionOne", "url": "http://keystone:8080" }, + { "id": "2", "interface": "internal", "region": "RegionOne", "url": "http://keystone:8080" }, + { "id": "3", "interface": "admin", "region": "RegionOne", "url": "http://keystone:8080" } + ], "id": "1", "type": "identity", "name": "keystone"}, + { "endpoints": [ + { "id": "1", "interface": "public", "region": "RegionOne", "url": "http://glance:8080" }, + { "id": "2", "interface": "internal", "region": "RegionOne", "url": "http://glance:8080" }, + { "id": "3", "interface": "admin", "region": "RegionOne", "url": "http://glance:8080" } + ], "id": "2", "type": "image", "name": "glance"}, + { "endpoints": [ + { "id": "1", "interface": "public", "region": "RegionOne", "url": "http://cinder:8080" }, + { "id": "2", "interface": "internal", "region": "RegionOne", "url": "http://cinder:8080" }, + { "id": "3", "interface": "admin", "region": "RegionOne", "url": "http://cinder:8080" } + ], "id": "2", "type": "volumev3", "name": "cinder"}, + { "endpoints": [ + { "id": "1", "interface": "public", "region": "RegionOne", "url": "http://nova:8080" }, + { "id": "2", "interface": "internal", "region": "RegionOne", "url": "http://nova:8080" }, + { "id": "3", "interface": "admin", "region": "RegionOne", "url": "http://nova:8080" } + ], "id": "3", "type": "compute", "name": "nova"}], + "issued_at": "2015-11-06T14:32:17.893797Z"}}' + content_type: application/json + status_code: 200 + headers: + X-Subject-Token: 423f19a4ac1e4f48bbb4180756e6eb6c diff --git a/scripts/multicloud-pike/generic_sim/log_parser.py b/scripts/multicloud-pike/generic_sim/log_parser.py new file mode 100644 index 00000000..1334e608 --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/log_parser.py @@ -0,0 +1,61 @@ +import argparse + +import yaml + + +def _find_aai_response_content(inp): + return inp.split("||||")[1].split("with response content = ")[1] + +def _find_openstack_url(inp): + return inp.split("||||")[1].split("making request with URI:")[1] + +def _find_openstack_response_content(inp): + return inp.split("||||")[1].split("with content:")[1].replace("u'", "'") + +def _add_response(all_responses, url, http_verb, body, status_code=200, content_type="application/json"): + if url not in all_responses.keys(): + all_responses[url] = { + http_verb: { + "status_code": status_code, + "content_type": content_type, + "body": body + } + } + elif http_verb not in all_responses[url].keys(): + all_responses[url][http_verb] = { + "status_code": status_code, + "content_type": content_type, + "body": body + } + +def parse_lines(content, aai_ip): + aai_pattern = "https://%s:30233/" % aai_ip + openstack_pattern = "making request with URI:" + + openstack_responses = {} + aai_responses = {} + for i, line in enumerate(content): + current_line = line.strip() + if aai_pattern in current_line and "DEBUG" not in current_line: + url = current_line.split(" ")[8][:-1].replace(aai_pattern, "") + _add_response(aai_responses, url, current_line.split(" ")[9][:-1], + _find_aai_response_content(content[i + 3])) + elif openstack_pattern in current_line: + _add_response(openstack_responses, + _find_openstack_url(current_line), "get", + _find_openstack_response_content(content[i + 2])) + + return [ + { "file": "nova.yml", "responses": openstack_responses }, + { "file": "aai.yml", "responses": aai_responses } + ] + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description='Convert logs to responses YAML tree file.') + parser.add_argument('--log-file', type=argparse.FileType('r'), help="Log file to be parsed", required=True) + parser.add_argument('--aai-ip', help="A&AI IP Address", required=True) + args = parser.parse_args() + + for mock_responses in parse_lines(args.log_file.readlines(), args.aai_ip): + with open(mock_responses["file"], 'w') as yaml_file: + yaml.dump(mock_responses["responses"], yaml_file, default_flow_style=False) diff --git a/scripts/multicloud-pike/generic_sim/nova/responses.yml b/scripts/multicloud-pike/generic_sim/nova/responses.yml new file mode 100644 index 00000000..94469711 --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/nova/responses.yml @@ -0,0 +1,177 @@ +/flavors/110/os-extra_specs: + get: + body: '{"extra_specs": {"hw:cpu_policy": "dedicated", "hw:mem_page_size": + "large", "hw:cpu_sockets": "2", "hw:cpu_threads": "8", "hw:numa_mem.1": + "2048", "hw:numa_mem.0": "2048", "hw:capabilities:cpu_info:features": + "avx,acpi", "aggregate_instance_extra_specs:storage": "local_image", "hw:numa_nodes": + "2", "hw:numa_cpus.0": "0,1", "hw:numa_cpus.1": "2,3,4,5", "hw:cpu_cores": + "4", "hw:cpu_thread_policy": "prefer", "pci_passthrough:alias": "sriov-vf-intel-8086-15b3:4"}}' + content_type: application/json + status_code: 200 +/flavors/111/os-extra_specs: + get: + body: '{"extra_specs": {"aggregate_instance_extra_specs:storage": "local_image"}}' + content_type: application/json + status_code: 200 +/flavors/112/os-extra_specs: + get: + body: '{"extra_specs": {"hw:cpu_policy": "dedicated", "hw:cpu_thread_policy": + "isolate", "aggregate_instance_extra_specs:storage": "local_image"}}' + content_type: application/json + status_code: 200 +/flavors/113/os-extra_specs: + get: + body: '{"extra_specs": {"hw:cpu_cores": "8", "hw:cpu_threads": "16", + "aggregate_instance_extra_specs:storage": "local_image", "hw:cpu_sockets": + "2"}}' + content_type: application/json + status_code: 200 +/flavors/114/os-extra_specs: + get: + body: '{"extra_specs": {"aggregate_instance_extra_specs:storage": "local_image", + "hw:mem_page_size": "small"}}' + content_type: application/json + status_code: 200 +/flavors/115/os-extra_specs: + get: + body: '{"extra_specs": {"hw:numa_mem.1": "1024", "hw:numa_mem.0": "1024", + "aggregate_instance_extra_specs:storage": "local_image", "hw:numa_nodes": + "2", "hw:numa_cpus.0": "0,1", "hw:numa_cpus.1": "2,3"}}' + content_type: application/json + status_code: 200 +/flavors/116/os-extra_specs: + get: + body: '{"extra_specs": {"hw:capabilities:cpu_info:features": "avx,aes", + "aggregate_instance_extra_specs:storage": "local_image"}}' + content_type: application/json + status_code: 200 +/flavors/117/os-extra_specs: + get: + body: '{"extra_specs": {"aggregate_instance_extra_specs:storage": "local_image", + "pci_passthrough:alias": "sriov-vf-intel-8086-15b3:6"}}' + content_type: application/json + status_code: 200 +/flavors/detail: + get: + body: '{"flavors": [{"name": "f.small", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/100", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/100", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "100"}, {"name": + "onap.hpa.all", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/110", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/110", + "rel": "bookmark"}], "ram": 4096, "OS-FLV-DISABLED:disabled": false, + "vcpus": 6, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "110"}, {"name": + "onap.hpa.basic", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/111", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/111", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 4, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "111"}, {"name": + "onap.hpa.cpupinning", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/112", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/112", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 4, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "112"}, {"name": + "onap.hpa.cputopology", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/113", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/113", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "113"}, {"name": + "onap.hpa.hugepage", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/114", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/114", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "114"}, {"name": + "onap.hpa.numa", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/115", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/115", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 4, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "115"}, {"name": + "onap.hpa.instruction", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/116", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/116", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "116"}, {"name": + "onap.hpa.passthrough", "links": [{"href": "http://nova:8080/v2.1/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/117", + "rel": "self"}, {"href": "http://nova:8080/b8f5d85bbcd84af28d7caa62d39f05c7/flavors/117", + "rel": "bookmark"}], "ram": 2048, "OS-FLV-DISABLED:disabled": false, + "vcpus": 2, "swap": "", "os-flavor-access:is_public": true, "rxtx_factor": + 1.0, "OS-FLV-EXT-DATA:ephemeral": 0, "disk": 0, "id": "117"}]}' + content_type: application/json + status_code: 200 +/os-availability-zone/detail: + get: + body: '{"availabilityZoneInfo": [{"zoneState": {"available": true}, "hosts": + {"controller-0": {"nova-conductor": {"available": true, "active": true, + "updated_at": "2018-04-27T16:05:25.272674"}, "nova-consoleauth": {"available": + true, "active": true, "updated_at": "2018-04-27T16:05:21.875274"}, "nova-scheduler": + {"available": true, "active": true, "updated_at": "2018-04-27T16:05:25.286846"}}}, + "zoneName": "internal"}, {"zoneState": {"available": false}, "hosts": + null, "zoneName": "nova"}]}' + content_type: application/json + status_code: 200 +/os-hypervisors/detail: + get: + body: '{ + "hypervisors": [{ + "status": "disabled", + "service": { + "host": "compute-0", + "disabled_reason": null, + "id": 11 + }, + "vcpus_used": 0.0, + "hypervisor_type": "QEMU", + "id": 1, + "local_gb_used": 0, + "state": "down", + "hypervisor_hostname": "compute-0", + "host_ip": "192.168.204.162", + "memory_mb": 51562, + "current_workload": 0, + "vcpus": 42, + "free_ram_mb": 51562, + "running_vms": 0, + "free_disk_gb": 1740, + "hypervisor_version": 2010000, + "disk_available_least": 1740, + "local_gb": 1833, + "cpu_info": "{\"vendor\": \"Intel\", \"model\": \"IvyBridge\", \"arch\": \"x86_64\", \"features\": [\"pge\", \"avx\", \"xsaveopt\", \"clflush\", \"sep\", \"syscall\",\"tsc-deadline\",\"dtes64\",\"msr\",\"fsgsbase\",\"xsave\",\"vmx\",\"erms\",\"xtpr\",\"cmov\",\"smep\",\"pcid\",\"est\",\"pat\",\"monitor\",\"smx\",\"pbe\",\"lm\",\"tsc\",\"nx\",\"fxsr\",\"tm\",\"sse4.1\",\"pae\",\"sse4.2\",\"pclmuldq\",\"acpi\",\"vme\",\"popcnt\",\"mmx\",\"osxsave\",\"cx8\",\"mce\",\"de\",\"rdtscp\",\"ht\",\"dca\",\"lahf_lm\",\"pdcm\",\"mca\",\"pdpe1gb\",\"a pic\",\"sse\",\"f16c\",\"pse\",\"ds\",\"invtsc\",\"pni\",\"tm2\",\"aes\",\"sse2\",\"ss\",\"ds_cpl\",\"arat\",\"ssse3\",\"fpu\",\"cx16\",\"pse36\",\"mtrr\",\"rdrand\",\"x2apic\"],\"topology\": {\"cores\": 12,\"cells\": 2,\"threads\": 2,\"sockets\": 1}}", + "memory_mb_used ": 0 + }] +}' + content_type: application/json + status_code: 200 +/os-hypervisors/detail?hypervisor_hostname_pattern=controller-0: + get: + body: '{ + "hypervisors": [{ + "status": "disabled", + "service": { + "host": "compute-0", + "disabled_reason": null, + "id": 11 + }, + "vcpus_used": 0.0, + "hypervisor_type": "QEMU", + "id": 1, + "local_gb_used": 0, + "state": "down", + "hypervisor_hostname": "compute-0", + "host_ip": "192.168.204.162", + "memory_mb": 51562, + "current_workload": 0, + "vcpus": 42, + "free_ram_mb": 51562, + "running_vms": 0, + "free_disk_gb": 1740, + "hypervisor_version": 2010000, + "disk_available_least": 1740, + "local_gb": 1833, + "cpu_info": "{\"vendor\": \"Intel\", \"model\": \"IvyBridge\", \"arch\": \"x86_64\", \"features\": [\"pge\", \"avx\", \"xsaveopt\", \"clflush\", \"sep\", \"syscall\",\"tsc-deadline\",\"dtes64\",\"msr\",\"fsgsbase\",\"xsave\",\"vmx\",\"erms\",\"xtpr\",\"cmov\",\"smep\",\"pcid\",\"est\",\"pat\",\"monitor\",\"smx\",\"pbe\",\"lm\",\"tsc\",\"nx\",\"fxsr\",\"tm\",\"sse4.1\",\"pae\",\"sse4.2\",\"pclmuldq\",\"acpi\",\"vme\",\"popcnt\",\"mmx\",\"osxsave\",\"cx8\",\"mce\",\"de\",\"rdtscp\",\"ht\",\"dca\",\"lahf_lm\",\"pdcm\",\"mca\",\"pdpe1gb\",\"a pic\",\"sse\",\"f16c\",\"pse\",\"ds\",\"invtsc\",\"pni\",\"tm2\",\"aes\",\"sse2\",\"ss\",\"ds_cpl\",\"arat\",\"ssse3\",\"fpu\",\"cx16\",\"pse36\",\"mtrr\",\"rdrand\",\"x2apic\"],\"topology\": {\"cores\": 12,\"cells\": 2,\"threads\": 2,\"sockets\": 1}}", + "memory_mb_used ": 0 + }] +}' + content_type: application/json + status_code: 200 diff --git a/scripts/multicloud-pike/generic_sim/requirements.txt b/scripts/multicloud-pike/generic_sim/requirements.txt new file mode 100644 index 00000000..ac1d7dd7 --- /dev/null +++ b/scripts/multicloud-pike/generic_sim/requirements.txt @@ -0,0 +1,2 @@ +PyYAML +web.py diff --git a/scripts/music/cql/admin.cql b/scripts/music/cql/admin.cql new file mode 100644 index 00000000..df13f32a --- /dev/null +++ b/scripts/music/cql/admin.cql @@ -0,0 +1,34 @@ +CREATE KEYSPACE IF NOT EXISTS admin + WITH REPLICATION = { + 'class' : 'SimpleStrategy', + 'replication_factor': 1 + } + AND DURABLE_WRITES = true; + +CREATE TABLE IF NOT EXISTS admin.keyspace_master ( + uuid uuid, + keyspace_name text, + application_name text, + is_api boolean, + password text, + username text, + is_aaf boolean, + PRIMARY KEY (uuid) +); + +CREATE TABLE IF NOT EXISTS admin.notification_master ( + id uuid, + current_notifier text, + endpoint_password blob, + endpoint_userid text, + notify_delete_on text, + notify_insert_on text, + notify_to_endpoint text, + notify_update_on text, + notifyon text PRIMARY KEY, + request text +); + + + +describe keyspace admin; diff --git a/scripts/music/cql/admin_pw.cql b/scripts/music/cql/admin_pw.cql new file mode 100644 index 00000000..02de61e2 --- /dev/null +++ b/scripts/music/cql/admin_pw.cql @@ -0,0 +1,2 @@ +CREATE ROLE IF NOT EXISTS nelson24 WITH PASSWORD = 'winman123' AND SUPERUSER = True AND LOGIN = True; +ALTER ROLE cassandra WITH PASSWORD = 'SomeLongRandomStringNoonewillthinkof'; diff --git a/scripts/music/cql/extra/test.cql b/scripts/music/cql/extra/test.cql new file mode 100644 index 00000000..6a587201 --- /dev/null +++ b/scripts/music/cql/extra/test.cql @@ -0,0 +1 @@ +DESCRIBE keyspace admin;
\ No newline at end of file diff --git a/scripts/music/music-properties/log4j.properties b/scripts/music/music-properties/log4j.properties new file mode 100644 index 00000000..1312e9bb --- /dev/null +++ b/scripts/music/music-properties/log4j.properties @@ -0,0 +1,3 @@ +# No longer needed, please see the logback properties + + diff --git a/scripts/music/music-properties/music.properties b/scripts/music/music-properties/music.properties new file mode 100644 index 00000000..02fb52df --- /dev/null +++ b/scripts/music/music-properties/music.properties @@ -0,0 +1,17 @@ +my.public.ip=localhost +all.public.ips=localhost +my.id=0 +all.ids=0 +####################################### +# Optional current values are defaults +####################################### +zookeeper.host=music-zk +cassandra.host=music-db +#music.ip=localhost +#debug=true +#music.rest.ip=localhost +#lock.lease.period=6000 +cassandra.user=nelson24 +cassandra.password=winman123 + + diff --git a/scripts/music/music-scripts/music_script.sh b/scripts/music/music-scripts/music_script.sh new file mode 100755 index 00000000..f16062ad --- /dev/null +++ b/scripts/music/music-scripts/music_script.sh @@ -0,0 +1,25 @@ +#!/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. +# +echo "######################################################################" +echo "### " +echo "### This is ${WORKSPACE}/test/csit/scripts/music/music-scripts/music_script.sh" +echo "### " +echo "######################################################################" +# +# add here whatever commands is needed to prepare the music CSIT testing +# + diff --git a/scripts/music/music-scripts/wait_for_port.sh b/scripts/music/music-scripts/wait_for_port.sh new file mode 100755 index 00000000..10f08ded --- /dev/null +++ b/scripts/music/music-scripts/wait_for_port.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "Usage: wait-for-port hostname port" >&2 + exit 1 +fi + +host=$1 +port=$2 + +echo "Waiting for $host port $port open" +until telnet $host $port </dev/null 2>/dev/null | grep -q '^Connected'; do + sleep 1 +done + +echo "$host port $port is open" + +exit 0 diff --git a/scripts/nfvo-wfengine/demo.bpmn20.xml b/scripts/nfvo-wfengine/demo.bpmn20.xml new file mode 100644 index 00000000..4f0c83a6 --- /dev/null +++ b/scripts/nfvo-wfengine/demo.bpmn20.xml @@ -0,0 +1,11 @@ +<?xml version='1.0' encoding='UTF-8'?> +<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/processdef"> + <process id="demo" name="demofirst" isExecutable="true"> + <startEvent id="sid-6B31A927-8A0F-4A2F-BC58-A2E3D90327D2"/> + <userTask id="sid-FDC595C2-41CE-4DE8-86D4-562414F0A0F3"/> + <sequenceFlow id="sid-B7ABA5B4-FB87-486C-B7D7-CC0FE5A4CE31" sourceRef="sid-6B31A927-8A0F-4A2F-BC58-A2E3D90327D2" targetRef="sid-FDC595C2-41CE-4DE8-86D4-562414F0A0F3"/> + <endEvent id="sid-EEACC228-A53D-41E8-96A1-8F2E4BF38596"/> + <sequenceFlow id="sid-07534141-12BB-49F0-9288-137A4E0BC8D8" sourceRef="sid-FDC595C2-41CE-4DE8-86D4-562414F0A0F3" targetRef="sid-EEACC228-A53D-41E8-96A1-8F2E4BF38596"/> + </process> + +</definitions>
\ No newline at end of file diff --git a/scripts/optf-has/has/has-properties/cert.cer b/scripts/optf-has/has/has-properties/cert.cer new file mode 100644 index 00000000..67bb1303 --- /dev/null +++ b/scripts/optf-has/has/has-properties/cert.cer @@ -0,0 +1,36 @@ +-----BEGIN CERTIFICATE----- +MIIGFjCCBP6gAwIBAgIQaTKJblnN1egdvyJmqxK6TDANBgkqhkiG9w0BAQsFADB+ +MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAd +BgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxLzAtBgNVBAMTJlN5bWFudGVj +IENsYXNzIDMgU2VjdXJlIFNlcnZlciBDQSAtIEc0MB4XDTE3MDgzMTAwMDAwMFoX +DTE4MDgzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMREwDwYDVQQIDAhNaWNoaWdh +bjETMBEGA1UEBwwKU291dGhmaWVsZDEcMBoGA1UECgwTQVQmVCBTZXJ2aWNlcywg +SW5jLjESMBAGA1UECwwJQ29uZHVjdG9yMSYwJAYDVQQDDB1lY29tcC1wZXctOTct +MDE3LnBlZGMuc2JjLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB +ANiCKEitPcCKcmTTmvuwItG34wVOhhWuha1GQ9KeW/JmKgDWYM/7BwKmT6FhrSWe +998UKHKC+MriZKI6WsBoENu070zTyyphQ0SwTw7QZbeCpgrvSBv6+q9qWpkGZEQN +OgZ4IOVQX1asqh+qmUuVKWIAN1AF60iMb+Krqr04FX/N+3N9wLFfOJIS80Ycrxwa +2Kjqza9awVXOtuTHPa4hFqz7ggRoi7Ybdr8GyxNoXTP0QNCBsYYmjuTFnbfCnC/j +d/1zMn3D6G4eihnTnUB9jhM+Jj85IXcgAG5um/jEjN7qxmi+kURFl6AbadmgTCca +aIW1rOHZtR4vlA/sRWqSh28CAwEAAaOCAnwwggJ4MCgGA1UdEQQhMB+CHWVjb21w +LXBldy05Ny0wMTcucGVkYy5zYmMuY29tMAkGA1UdEwQCMAAwDgYDVR0PAQH/BAQD +AgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBhBgNVHSAEWjBYMFYG +BmeBDAECAjBMMCMGCCsGAQUFBwIBFhdodHRwczovL2Quc3ltY2IuY29tL2NwczAl +BggrBgEFBQcCAjAZDBdodHRwczovL2Quc3ltY2IuY29tL3JwYTAfBgNVHSMEGDAW +gBRfYM9hkFXfhEMUimAqsvV69EMY7zArBgNVHR8EJDAiMCCgHqAchhpodHRwOi8v +c3Muc3ltY2IuY29tL3NzLmNybDBXBggrBgEFBQcBAQRLMEkwHwYIKwYBBQUHMAGG +E2h0dHA6Ly9zcy5zeW1jZC5jb20wJgYIKwYBBQUHMAKGGmh0dHA6Ly9zcy5zeW1j +Yi5jb20vc3MuY3J0MIIBBgYKKwYBBAHWeQIEAgSB9wSB9ADyAHcA3esdK3oNT6Yg +i4GtgWhwfi6OnQHVXIiNPRHEzbbsvswAAAFeOADGyAAABAMASDBGAiEAzYxTfoKt +RnxlePKnJ0sCqLOvdd223T7CjqNsqbgmxfECIQC6FOBOe9J+a1poasZ7QfCVl9g2 +McAdcKofxp21Qw1DhwB3AKS5CZC0GFgUh7sTosxncAo8NZgE+RvfuON3zQ7IDdwQ +AAABXjgAxuAAAAQDAEgwRgIhAIUbjCQBxcxAXBT3MS77jIR3Lw90Y622+JGAuhH7 +PASuAiEAzblNSNu2GDHu/KINsiX4apBzXgSw5J8BM9LCAYPmUogwDQYJKoZIhvcN +AQELBQADggEBAIwOqd+U0iRFSt68vWh1ErMeY0I7Re/81cm17cAn1cQuhTNKFUwq +lYnVXZHFBkGhVAU0vXAI59XN29TQ3sjBlmfDdtxAJ3PzITBxeHswJjnqCaslEGik +sbdK4/cwCjWmAN0azKtUmKhH3ajnjyduWdlvCx5hsUdFmYGZ1yl+1QbTrwkkU9JB +bYjHNbtca0Orq8JlfZlc6L9vO6LNU6+qa9NTkLs2qd3rsCOXUiAWhGBdARB+a0AT +1ukrZDS2BZ6fUDmG2XxUsRPqUwuVNAb8NgOc0zLNaAe8CpU6fVzek1fZnL0KkJmK +jJnnuCr6AOteod19VIChd54mo0QtFm+i/Ww= +-----END CERTIFICATE----- + diff --git a/scripts/optf-has/has/has-properties/cert.key b/scripts/optf-has/has/has-properties/cert.key new file mode 100644 index 00000000..b8a957ff --- /dev/null +++ b/scripts/optf-has/has/has-properties/cert.key @@ -0,0 +1,28 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEA2IIoSK09wIpyZNOa+7Ai0bfjBU6GFa6FrUZD0p5b8mYqANZg +z/sHAqZPoWGtJZ733xQocoL4yuJkojpawGgQ27TvTNPLKmFDRLBPDtBlt4KmCu9I +G/r6r2pamQZkRA06Bngg5VBfVqyqH6qZS5UpYgA3UAXrSIxv4quqvTgVf837c33A +sV84khLzRhyvHBrYqOrNr1rBVc625Mc9riEWrPuCBGiLtht2vwbLE2hdM/RA0IGx +hiaO5MWdt8KcL+N3/XMyfcPobh6KGdOdQH2OEz4mPzkhdyAAbm6b+MSM3urGaL6R +REWXoBtp2aBMJxpohbWs4dm1Hi+UD+xFapKHbwIDAQABAoIBAQCQVn1arjwL34CR +3UxmXK9p1si/YfEcBURTFxPiFva/bAK2mjTikrzCtHND6GVRPmCLVNn+NXh9cV6b +lIGp4fbTMhWSx2ObdkotQckC3EXjiHL/uTP+i1ySkzmg6NTxVUwIwg9UMTfOBcBI +6ifWbrOvBOvbKocHz7BLkhx6lygmEccyiy3wD/a/NBTRFTBLFyGrNBh2/a9ZXRqs +Gz1IxVSdxrNJZUoi1nKbBTOX5lKyjL0AyAkIEzC4MvgEBcGz5xZHFRF1cj4x0ajc +xEDsRUv0hi3Vczw5/FfKVWUVQPmY7sqpLtvu9qnb9MeZFwtrVZBxG5Ik4LP0Sjxt +0B1+EHYpAoGBAPeOpR1co9pJa8tgkObZWehrVd+VEMD9UM5SKfYYn/2FyVMl1/TH +Z6SqB7e1aNYsT5oUDt5y3g+tG3i/r4zmE4OzwT/9neb/rVBsKdd5cPICVnhHajYu +bdOKoCNEMBrQRBSBAeSK0IjbUYIMyre1bwhxU7HT5NzGJnLYBn4vx0BNAoGBAN/k +bxLQpsYcMwAX4K0H42qI1yL4jlezv4zj+kDRAI9Szh94c2yxGBC4rAub3Igz1OlQ +CfqPimvlnkWrhgz50+0CdJFPEQyC0+d2rzS7i816k8WYUYCDkrTJhr64eFnV1jjs +AuLpnhF0WpqvrixBzf5ZENPV3C8k4HG4KrYjDuSrAoGBALeDELdRY01/u97JuODI +IrP+TWwujnrhzbMEiYKbAo7nTDTNCuezogsY2BvA6PRLaL7pO5R/RkoMox7ByhsC +u1iYOht7oEALLKk/ZU0MA0QDo6IKHpwHkvaL/uXluFtIJA+nCoYmuSuamTN01BmW +77YsfESItVFLuljL9xQ3ytbJAoGAVqkd0SOQGgiaOQQFBBSUkwzqcO/ScOHzV756 +hBIh7Ff5zraZvs2Bah+BAHFQ2Ctv0usXIbPjuUXEkGUG2wjsXcXghsoa6EPPb71B +reCWCW/TuNzvVxYWeAG1NSdD9knNxHSd3WTduRXXaB5uBVVnPXcOC2Cw/FKCyaGm +bp99SUcCgYEAxzGq0cxFedF7TAQLjIMagsGIAatokzDvvQOvOK0lWZ+f17G+LV9Y +tLpnvS6IdGnki6Kvg9Xa0F4eP7YoY4laHxl2DEceP/TeMLNHetM9cXCPKwP7w/24 +5mZlQ0t/HdVnjc1uDvkeHR6HVxnXTyWtKBJ0FtC6SfdRgK20YYFrKAQ= +-----END RSA PRIVATE KEY----- + diff --git a/scripts/optf-has/has/has-properties/cert.pem b/scripts/optf-has/has/has-properties/cert.pem new file mode 100644 index 00000000..5ecf3823 --- /dev/null +++ b/scripts/optf-has/has/has-properties/cert.pem @@ -0,0 +1,36 @@ +Bag Attributes + friendlyName: mso-client + localKeyID: 54 69 6D 65 20 31 35 31 39 32 39 37 30 37 31 32 33 33 +subject=/C=US/ST=Michigan/L=Southfield/O=AT&T Services, Inc./OU=mso-bpel-client-mtanj/CN=msobpel-client.mtanj.aic.cip.att.com +issuer=/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA +-----BEGIN CERTIFICATE----- +MIIFZDCCBEygAwIBAgIQCDZ0gBbsclD2Ino3w+NqPDANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E +aWdpQ2VydCBTSEEyIFNlY3VyZSBTZXJ2ZXIgQ0EwHhcNMTgwMTE5MDAwMDAwWhcN +MTkwMTE5MTIwMDAwWjCBojELMAkGA1UEBhMCVVMxETAPBgNVBAgTCE1pY2hpZ2Fu +MRMwEQYDVQQHEwpTb3V0aGZpZWxkMRwwGgYDVQQKDBNBVCZUIFNlcnZpY2VzLCBJ +bmMuMR4wHAYDVQQLExVtc28tYnBlbC1jbGllbnQtbXRhbmoxLTArBgNVBAMTJG1z +b2JwZWwtY2xpZW50Lm10YW5qLmFpYy5jaXAuYXR0LmNvbTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAOJtbcWtMUYCIgIvdqm2CPN/cVTD8j3fDAsd42vn +7I3PYJ4aBu8tiJVRheJhj9mejfwjBd5f5E2z9kWfNMPZU/9q0RB+cYbKWv0lP+q5 +q/RkbXN7iRtGUkXUyNpekvxNT3IKYfXK3P29qVDVhvUSey2ngIALRvBrRIKRTmb8 +gzrvcavJSwm8oQw2JXE1+Da+8PYR3TjJ19nfmoTmKbO+QDD58I5+2TgNqd/b7zhN +GLaS3oiVONDmJ1b5iWwKg31otPDP8AJb7cNtl8vgfnGK2zvFIWnF2TRzMb6FePbn +JBLaEyi7+c1iKJafj61t5nn27I2psbJloT9/2fmb6l4NU8MCAwEAAaOCAegwggHk +MB8GA1UdIwQYMBaAFA+AYRyCMWHVLyjnjUY4tCzhxtniMB0GA1UdDgQWBBSQcljn +BCxIKpisBfyoNgGCdtPzBzAvBgNVHREEKDAmgiRtc29icGVsLWNsaWVudC5tdGFu +ai5haWMuY2lwLmF0dC5jb20wDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsG +AQUFBwMBBggrBgEFBQcDAjBrBgNVHR8EZDBiMC+gLaArhilodHRwOi8vY3JsMy5k +aWdpY2VydC5jb20vc3NjYS1zaGEyLWc2LmNybDAvoC2gK4YpaHR0cDovL2NybDQu +ZGlnaWNlcnQuY29tL3NzY2Etc2hhMi1nNi5jcmwwTAYDVR0gBEUwQzA3BglghkgB +hv1sAQEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQ +UzAIBgZngQwBAgIwfAYIKwYBBQUHAQEEcDBuMCQGCCsGAQUFBzABhhhodHRwOi8v +b2NzcC5kaWdpY2VydC5jb20wRgYIKwYBBQUHMAKGOmh0dHA6Ly9jYWNlcnRzLmRp +Z2ljZXJ0LmNvbS9EaWdpQ2VydFNIQTJTZWN1cmVTZXJ2ZXJDQS5jcnQwCQYDVR0T +BAIwADANBgkqhkiG9w0BAQsFAAOCAQEAxkadmzFcpA3f3qc9PbzMWfV2lJCXWxfr +/6z4RXotl255GBZFR2zLn56k8J3hAJGWRc0WeSgSsLH1fxrxF60fWk+cmYCrMC9t +C5ha5zWav/kz+dkZvJVbUxIFdx0Cd5uqBsLFnAaGrnSR6WzJkZHQ2rQUvwvQXwdP +XL01FleDSNbV8jtHXvzmcdnVQWeLjcVOeOeBF3dW6lSvDRV0G6fe6+R9U+Gz0MwK +x93XbsIAMTCJKUBkV7QdHwHzis3fhKJHwJUrb1p2Byhn/RwYUmFbjkamFiEfAyzw ++KdkwripOgYHnmGyLBJ16FdO/8kGhn4URW/qL1FO/sN2loGGlyA82w== +-----END CERTIFICATE----- diff --git a/scripts/optf-has/has/has-properties/conductor.conf.onap b/scripts/optf-has/has/has-properties/conductor.conf.onap new file mode 100644 index 00000000..2c5b8d6c --- /dev/null +++ b/scripts/optf-has/has/has-properties/conductor.conf.onap @@ -0,0 +1,378 @@ + +[DEFAULT] + +# +# From conductor +# + +# Configuration file for WSGI definition of API. (string value) +#api_paste_config = api_paste.ini + +# Music keyspace for content (string value) +keyspace = conductor + +# +# From oslo.log +# + +# If set to true, the logging level will be set to DEBUG instead of the default +# INFO level. (boolean value) +# Note: This option can be changed without restarting. +debug = true + +# DEPRECATED: If set to false, the logging level will be set to WARNING instead +# of the default INFO level. (boolean value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +#verbose = true + +# The name of a logging configuration file. This file is appended to any +# existing logging configuration files. For details about logging configuration +# files, see the Python logging module documentation. Note that when logging +# configuration files are used then all logging configuration is set in the +# configuration file and other logging configuration options are ignored (for +# example, logging_context_format_string). (string value) +# Note: This option can be changed without restarting. +# Deprecated group/name - [DEFAULT]/log_config +log_config_append = /usr/local/bin/log.conf + +# Defines the format string for %%(asctime)s in log records. Default: +# %(default)s . This option is ignored if log_config_append is set. (string +# value) +log_date_format = %d-%m-%Y %H:%M:%S + +# (Optional) Name of log file to send logging output to. If no default is set, +# logging will go to stderr as defined by use_stderr. This option is ignored if +# log_config_append is set. (string value) +# Deprecated group/name - [DEFAULT]/logfile +#log_file = application.log + + +# (Optional) The base directory used for relative log_file paths. This option +# is ignored if log_config_append is set. (string value) +# Deprecated group/name - [DEFAULT]/logdir +log_dir = /var/log + + + + +# Uses logging handler designed to watch file system. When log file is moved or +# removed this handler will open a new log file with specified path +# instantaneously. It makes sense only if log_file option is specified and +# Linux platform is used. This option is ignored if log_config_append is set. +# (boolean value) +#watch_log_file = false + +# Use syslog for logging. Existing syslog format is DEPRECATED and will be +# changed later to honor RFC5424. This option is ignored if log_config_append +# is set. (boolean value) +#use_syslog = false + +# Syslog facility to receive log lines. This option is ignored if +# log_config_append is set. (string value) +#syslog_log_facility = LOG_USER + +# Log output to standard error. This option is ignored if log_config_append is +# set. (boolean value) +#use_stderr = false + +# Format string to use for log messages with context. (string value) +#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s + +# Format string to use for log messages when context is undefined. (string +# value) +#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s + +# Additional data to append to log message when logging level for the message +# is DEBUG. (string value) +#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d + +# Prefix each line of exception output with this format. (string value) +#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s + +# Defines the format string for %(user_identity)s that is used in +# logging_context_format_string. (string value) +#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s + +# List of package logging levels in logger=LEVEL pairs. This option is ignored +# if log_config_append is set. (list value) +#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO + +# Enables or disables publication of error events. (boolean value) +#publish_errors = false + +# The format for an instance that is passed with the log message. (string +# value) +#instance_format = "[instance: %(uuid)s] " + +# The format for an instance UUID that is passed with the log message. (string +# value) +#instance_uuid_format = "[instance: %(uuid)s] " + +# Interval, number of seconds, of log rate limiting. (integer value) +#rate_limit_interval = 0 + +# Maximum number of logged messages per rate_limit_interval. (integer value) +#rate_limit_burst = 0 + +# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG +# or empty string. Logs with level greater or equal to rate_limit_except_level +# are not filtered. An empty string means that all levels are filtered. (string +# value) +#rate_limit_except_level = CRITICAL + +# Enables or disables fatal status of deprecations. (boolean value) +#fatal_deprecations = false + + +[aai] + +# +# From conductor +# + +# Interval with which to refresh the local cache, in minutes. (integer value) +cache_refresh_interval = 1 +complex_cache_refresh_interval = 60 + +# Data Store table prefix. (string value) +#table_prefix = aai + +# Base URL for A&AI, up to and including the version. (string value) +server_url = http://localhost:8081/aai/ + + +# The version of A&AI (string value) +server_url_version = v13 + +# SSL/TLS certificate file in pem format. This certificate must be registered +# with the A&AI endpoint. (string value) +certificate_file = /usr/local/bin/cert.cer + +# Private Certificate Key file in pem format. (string value) +certificate_key_file = /usr/local/bin/cert.key + +# Certificate Authority Bundle file in pem format. Must contain the appropriate +# trust chain for theCertificate file. (string value) +certificate_authority_bundle_file = /usr/local/bin/cert.pem + +[api] + +# +# From conductor +# + +# Toggle Pecan Debug Middleware. (boolean value) +#pecan_debug = false + +# Default maximum number of items returned by API request. (integer value) +# Minimum value: 1 +#default_api_return_limit = 100 + +[conductor_api] + +# Basic Authentication Username (string value) +username = admin1 + +# Basic Authentication Password (string value) +password = plan.15 + +# To disable basic_auth_secure = false and to enable basic_auth_secure = true +basic_auth_secure = false + + + +[controller] + +# +# From conductor +# + +# Timeout for planning requests. Default value is 10. (integer value) +# Minimum value: 1 +#timeout = 10 + +# Maximum number of result sets to return. Default value is 1. (integer value) +# Minimum value: 1 +#limit = 1 + +# Number of workers for controller service. Default value is 1. (integer value) +# Minimum value: 1 +#workers = 1 + + +[inventory_provider] + +# +# From conductor +# + +# Extensions list to use (list value) +# extensions = aai + + +[messaging_server] + +# +# From conductor +# + +# Music keyspace for messages (string value) +keyspace = conductor_rpc + +# Wait interval while checking for a message response. Default value is 1 +# second. (integer value) +# Minimum value: 1 +#check_interval = 1 + +# Overall message response timeout. Default value is 10 seconds. (integer +# value) +# Minimum value: 1 +timeout = 3600 + +# Number of workers for messaging service. Default value is 1. (integer value) +# Minimum value: 1 +#workers = 1 + +# Time between checking for new messages. Default value is 1. (integer value) +# Minimum value: 1 +#polling_interval = 1 + +# Log debug messages. Default value is False. (boolean value) +#debug = false + + +[music_api] + +# +# From conductor +# +music_new_version = True + +# Base URL for Music REST API without a trailing slash. (string value) +server_url = http://localhost:8080/MUSIC/rest/v2 +version = v2 +music_version = "2.5.3" +aafuser = conductor +aafpass = c0nduct0r +aafns = conductor + +# DEPRECATED: List of hostnames (round-robin access) (list value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Use server_url instead + +# DEPRECATED: Port (integer value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Use server_url instead +#port = <None> + +# DEPRECATED: Path (string value) +# This option is deprecated for removal. +# Its value may be silently ignored in the future. +# Reason: Use server_url instead +#path = <None> + +# Lock timeout (integer value) +#lock_timeout = 10 + +# Replication factor (integer value) +#replication_factor = 1 + +# debug = false + +[reservation] + +# +# From conductor +# + +# Number of workers for reservation service. Default value is 1. (integer +# value) +# Minimum value: 1 +#workers = 1 + +# Number of times reservation/release should be attempted. (integer value) +#reserve_retries = 3 + +# Set to True when reservation will run in active-active mode. When set to +# False, reservation will restart any orphaned reserving requests at startup. +# (boolean value) +#concurrent = false + +[sdnc] + +# +# From conductor +# + +# Interval with which to refresh the local cache, in minutes. (integer value) +#cache_refresh_interval = 1440 + +# Data Store table prefix. (string value) +#table_prefix = sdnc + +# Base URL for SDN-C. (string value) +server_url = http://localhost:8083/restconf/ + +# Basic Authentication Username (string value) +username = admin + +# Basic Authentication Password (string value) +password = admin + + +[service_controller] + +# +# From conductor +# + +# Extensions list to use (list value) +extensions = sdnc + +[solver] + +# +# From conductor +# + +# Number of workers for solver service. Default value is 1. (integer value) +# Minimum value: 1 +#workers = 1 + +# Set to True when solver will run in active-active mode. When set to False, +# solver will restart any orphaned solving requests at startup. (boolean value) +#concurrent = false + + +[multicloud] + +# +# From conductor +# + +# Base URL for Multicloud without a trailing slash. (string value) +server_url = http://msb.onap.org:8082/api/multicloud + +# Timeout for Multicloud Rest Call (string value) +multicloud_rest_timeout = 30 + +# Number of retry for Multicloud Rest Call (string value) +multicloud_retries = 3 + +# The version of Multicloud API. (string value) +server_url_version = v0 + + + +[vim_controller] + +# +# From conductor +# + +# Extensions list to use (list value) +extensions = multicloud + diff --git a/scripts/optf-has/has/has-properties/log.conf.onap b/scripts/optf-has/has/has-properties/log.conf.onap new file mode 100644 index 00000000..41d66444 --- /dev/null +++ b/scripts/optf-has/has/has-properties/log.conf.onap @@ -0,0 +1,65 @@ +[loggers] +keys=root + +[handlers] +keys=trfhand,consoleHandler,audithand,metrichand,errhand,debughand + +[logger_root] +level=NOTSET +handlers=trfhand,consoleHandler,audithand,metrichand,errhand,debughand + +[handler_consoleHandler] +class=StreamHandler +level=NOTSET +formatter=generic +args=(sys.stdout,) + +[handler_trfhand] +class=handlers.TimedRotatingFileHandler +level=NOTSET +formatter=generic +args=('application.log','midnight', 1, 10) + +[handler_audithand] +class=handlers.TimedRotatingFileHandler +level=INFO +formatter=audit +args=('audit.log', 'midnight', 1, 10) + +[handler_metrichand] +class=handlers.TimedRotatingFileHandler +level=INFO +formatter=metric +args=('metric.log','midnight', 1, 10) + +[handler_errhand] +class=handlers.TimedRotatingFileHandler +level=ERROR +formatter=error +args=('error.log','midnight', 1, 10) + +[handler_debughand] +class=handlers.TimedRotatingFileHandler +level=DEBUG +formatter=generic +args=('debug.log','midnight', 1, 10) + +[formatters] +keys=generic,audit,metric,error + +[formatter_audit] +format=%(asctime)s|%(asctime)s|00000000-0000-0000-0000-000000000000||%(thread)d||Conductor|N/A|COMPLETE|200|sucessful||%(levelname)s|||0|%(module)s|||||||||%(name)s : [-] %(message)s +datefmt= + +[formatter_metric] +format=%(asctime)s|%(asctime)s|00000000-0000-0000-0000-000000000000||%(thread)d||Conductor|N/A|N/A|N/A|COMPLETE|200|sucessful||%(levelname)s|||0|%(module)s||||||||||%(name)s : [-] %(message)s +datefmt= + +[formatter_error] +format=%(asctime)s|00000000-0000-0000-0000-000000000000|%(thread)d|Conductor|N/A|N/A|N/A|ERROR|500|N/A|%(name)s : [-] %(message)s +datefmt= + +[formatter_generic] +format=%(asctime)s||%(thread)d|%(levelname)s|%(module)s|%(name)s: [-] %(message)s +datefmt= + diff --git a/scripts/optf-has/has/has_proxy_settings.sh b/scripts/optf-has/has/has_proxy_settings.sh new file mode 100755 index 00000000..92f8d93c --- /dev/null +++ b/scripts/optf-has/has/has_proxy_settings.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. +# +# put into this file local proxy settings in case they are needed on your local environment +echo "### This is ${WORKSPACE}/test/csit/scripts/optf-has/has/has_proxy_settings.sh" + +echo "optf/has proxy settings" +if [ "$#" -eq "1" ]; then + echo "$1" + cd $1 + pwd +else + exit 1 +fi + +# don't remove following lines: commands can be attached here + + diff --git a/scripts/optf-has/has/has_script.sh b/scripts/optf-has/has/has_script.sh new file mode 100755 index 00000000..2d2eff3b --- /dev/null +++ b/scripts/optf-has/has/has_script.sh @@ -0,0 +1,97 @@ +#!/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. +# +echo "### This is ${WORKSPACE}/test/csit/scripts/optf-has/has/has_script.sh" +# +# add here whatever commands is needed to prepare the optf/has CSIT testing +# + +# assume the base is /tmp dir +DIR=/tmp + +# the directory of the script +echo ${DIR} +cd ${DIR} + +# create directory for volume and copy configuration file +# run docker containers +COND_CONF=/tmp/conductor/properties/conductor.conf +LOG_CONF=/tmp/conductor/properties/log.conf +IMAGE_NAME=nexus3.onap.org:10001/onap/optf-has +IMAGE_VER=1.2.1-SNAPSHOT-latest +CERT=/tmp/conductor/properties/cert.cer +KEY=/tmp/conductor/properties/cert.key +BUNDLE=/tmp/conductor/properties/cert.pem + +mkdir -p /tmp/conductor/properties +mkdir -p /tmp/conductor/logs +cp ${WORKSPACE}/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap /tmp/conductor/properties/conductor.conf +cp ${WORKSPACE}/test/csit/scripts/optf-has/has/has-properties/log.conf.onap /tmp/conductor/properties/log.conf +cp ${WORKSPACE}/test/csit/scripts/optf-has/has/has-properties/cert.cer /tmp/conductor/properties/cert.cer +cp ${WORKSPACE}/test/csit/scripts/optf-has/has/has-properties/cert.key /tmp/conductor/properties/cert.key +cp ${WORKSPACE}/test/csit/scripts/optf-has/has/has-properties/cert.pem /tmp/conductor/properties/cert.pem +#chmod -R 777 /tmp/conductor/properties + +MUSIC_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat` +echo "MUSIC_IP=${MUSIC_IP}" + +# change MUSIC reference to the local instance +sed -i -e "s%localhost:8080/MUSIC%${MUSIC_IP}:8080/MUSIC%g" /tmp/conductor/properties/conductor.conf + +AAISIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aaisim` +echo "AAISIM_IP=${AAISIM_IP}" + +# change AAI reference to the local instance +sed -i -e "s%localhost:8081/%${AAISIM_IP}:8081/%g" /tmp/conductor/properties/conductor.conf + +MULTICLOUDSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' multicloudsim` +echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}" + +# change MULTICLOUD reference to the local instance +sed -i -e "s%msb.onap.org:8082/%${MULTICLOUDSIM_IP}:8082/%g" /tmp/conductor/properties/conductor.conf + +#onboard conductor into music +echo "Query MUSIC to check for reachability. Query Version" +curl -vvvvv --noproxy "*" --request GET http://${MUSIC_IP}:8080/MUSIC/rest/v2/version -H "Content-Type: application/json" + +echo "Onboard conductor into music" +curl -vvvvv --noproxy "*" --request POST http://${MUSIC_IP}:8080/MUSIC/rest/v2/admin/onboardAppWithMusic -H "Content-Type: application/json" --data @${WORKSPACE}/test/csit/tests/optf-has/has/data/onboard.json + +docker run -d --name cond-cont -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-controller --config-file=/usr/local/bin/conductor.conf +sleep 20 +docker run -d --name cond-api -p "8091:8091" -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-api --port=8091 -- --config-file=/usr/local/bin/conductor.conf +sleep 20 +docker run -d --name cond-solv -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-solver --config-file=/usr/local/bin/conductor.conf +sleep 20 +docker run -d --name cond-resv -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-reservation --config-file=/usr/local/bin/conductor.conf +sleep 20 +docker run -d --name cond-data -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf -v ${CERT}:/usr/local/bin/cert.cer -v ${KEY}:/usr/local/bin/cert.key -v ${BUNDLE}:/usr/local/bin/cert.pem ${IMAGE_NAME}:${IMAGE_VER} python /usr/local/bin/conductor-data --config-file=/usr/local/bin/conductor.conf +sleep 20 + +COND_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' cond-api` +${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${COND_IP} 8091 + +echo "inspect docker things for tracing purpose" +docker inspect cond-data +docker inspect cond-cont +docker inspect cond-api +docker inspect cond-solv +docker inspect cond-resv + +echo "dump music content just after conductor is started" +docker exec music-db /usr/bin/nodetool status +docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' +docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' diff --git a/scripts/optf-has/has/has_teardown_script.sh b/scripts/optf-has/has/has_teardown_script.sh new file mode 100755 index 00000000..bef28b43 --- /dev/null +++ b/scripts/optf-has/has/has_teardown_script.sh @@ -0,0 +1,34 @@ +#!/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. +# +echo "print meaningful data before scratching everything" +docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' +docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' +docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM conductor.plans' + +echo "optf/has scripts docker containers killing"; +docker stop cond-api +docker stop cond-solv +docker stop cond-cont +docker stop cond-data +docker stop cond-resv + +docker rm cond-api +docker rm cond-solv +docker rm cond-cont +docker rm cond-data +docker rm cond-resv + diff --git a/scripts/optf-has/has/music-properties/log4j.properties b/scripts/optf-has/has/music-properties/log4j.properties new file mode 100644 index 00000000..1312e9bb --- /dev/null +++ b/scripts/optf-has/has/music-properties/log4j.properties @@ -0,0 +1,3 @@ +# No longer needed, please see the logback properties + + diff --git a/scripts/optf-has/has/music-properties/music.properties b/scripts/optf-has/has/music-properties/music.properties new file mode 100644 index 00000000..02fb52df --- /dev/null +++ b/scripts/optf-has/has/music-properties/music.properties @@ -0,0 +1,17 @@ +my.public.ip=localhost +all.public.ips=localhost +my.id=0 +all.ids=0 +####################################### +# Optional current values are defaults +####################################### +zookeeper.host=music-zk +cassandra.host=music-db +#music.ip=localhost +#debug=true +#music.rest.ip=localhost +#lock.lease.period=6000 +cassandra.user=nelson24 +cassandra.password=winman123 + + diff --git a/scripts/optf-has/has/music_script.sh b/scripts/optf-has/has/music_script.sh new file mode 100755 index 00000000..7693d7b3 --- /dev/null +++ b/scripts/optf-has/has/music_script.sh @@ -0,0 +1,100 @@ +#!/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. +# +echo "### This is ${WORKSPACE}/test/csit/scripts/optf-has/has/music_script.sh" +# +# add here whatever commands is needed to prepare the music setup for optf-has CSIT testing +# + +# +# add here all the configuration steps eventually needed to be carried out for music CSIT testing +# +echo "# music configuration step"; + +CASS_IMG=nexus3.onap.org:10001/onap/music/cassandra_music:latest +TOMCAT_IMG=nexus3.onap.org:10001/library/tomcat:8.0 +ZK_IMG=nexus3.onap.org:10001/library/zookeeper:3.4 +MUSIC_IMG=nexus3.onap.org:10001/onap/music/music:2.5.3 +WORK_DIR=/tmp/music +CASS_USERNAME=nelson24 +CASS_PASSWORD=winman123 +MUSIC_SOURCE_PROPERTIES=${WORKSPACE}/test/csit/scripts/optf-has/has/music-properties +MUSIC_PROPERTIES=/tmp/music/properties +MUSIC_LOGS=/tmp/music/logs +mkdir -p ${MUSIC_PROPERTIES} +mkdir -p ${MUSIC_LOGS} + +cp ${MUSIC_SOURCE_PROPERTIES}/* ${WORK_DIR}/properties + +# Create Volume for mapping war file and tomcat +docker volume create --name music-vol; + +# Create a network for all the containers to run in. +docker network create music-net; + +# Start Cassandra +docker run -d --name music-db --network music-net -p "7000:7000" -p "7001:7001" -p "7199:7199" -p "9042:9042" -p "9160:9160" -e CASSUSER=${CASS_USERNAME} -e CASSPASS=${CASS_PASSWORD} ${CASS_IMG}; +#CASSA_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-db` +CASSA_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-db` +echo "CASSANDRA_IP=${CASSA_IP}" +${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${CASSA_IP} 9042 +sleep 150 +# Start Music war +docker run -d --name music-war -v music-vol:/app ${MUSIC_IMG}; +sleep 30 +# Start Zookeeper +docker run -d --name music-zk --network music-net -p "2181:2181" -p "2888:2888" -p "3888:3888" ${ZK_IMG}; +#ZOO_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-zk` +ZOO_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-zk` +echo "ZOOKEEPER_IP=${ZOO_IP}" + +# Delay between Cassandra/Zookeeper and Tomcat +sleep 120 + +# Start Up tomcat - Needs to have properties,logs dir and war file volume mapped. +docker run -d --name music-tomcat --network music-net -p "8080:8080" -v music-vol:/usr/local/tomcat/webapps -v ${WORK_DIR}/properties:/opt/app/music/etc:ro -v ${WORK_DIR}/logs:/opt/app/music/logs ${TOMCAT_IMG}; + +# Connect tomcat to host bridge network so that its port can be seen. +docker network connect bridge music-tomcat; + +# +# add here below the start of all docker containers needed for music CSIT testing +# + +TOMCAT_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat` +echo "TOMCAT_IP=${TOMCAT_IP}" + +${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${TOMCAT_IP} 8080 + +# wait a while to make sure music is totally up and configured +sleep 90 + +echo "inspect docker things for tracing purpose" +docker inspect music-db +docker inspect music-zk +docker inspect music-tomcat +docker inspect music-war +docker volume inspect music-vol +docker network inspect music-net + +echo "dump music content just after music is started" +docker exec music-db /usr/bin/nodetool status +docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces' +docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master' + + + + diff --git a/scripts/optf-has/has/music_teardown_script.sh b/scripts/optf-has/has/music_teardown_script.sh new file mode 100755 index 00000000..605ebd4e --- /dev/null +++ b/scripts/optf-has/has/music_teardown_script.sh @@ -0,0 +1,39 @@ +#!/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. +# +echo "music scripts docker containers killing"; +docker stop music-tomcat +docker stop music-war +docker stop music-zk +docker stop music-db + +docker rm music-zk +docker rm music-tomcat +docker rm music-war +docker rm music-db + +docker network rm music-net; +sleep 5; + +docker volume rm music-vol + +echo "dump music.log files" +ls -alF /tmp/music +ls -alF /tmp/music/properties +cat /tmp/music/properties/music.properties +#cat /tmp/music/logs/MUSIC/music.log +cat /tmp/music/logs/MUSIC/error.log + diff --git a/scripts/optf-has/has/simulator_script.sh b/scripts/optf-has/has/simulator_script.sh new file mode 100755 index 00000000..2e8a0e6f --- /dev/null +++ b/scripts/optf-has/has/simulator_script.sh @@ -0,0 +1,85 @@ +#!/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. +# +echo "### This is ${WORKSPACE}/test/csit/scripts/optf-has/has/simulator_script.sh" +# +# add here whatever commands is needed to prepare the optf/has CSIT testing +# + +# assume the base is /tmp dir +DIR=/tmp + +# the directory of the script +echo ${DIR} +cd ${DIR} + +# the temp directory used, within $DIR +# omit the -p parameter to create a temporal directory in the default location +WORK_DIR=`mktemp -d -p "$DIR"` +echo ${WORK_DIR} +cd ${WORK_DIR} + +# clone optf-has project +git clone https://gerrit.onap.org/r/optf/has + +#echo "i am ${USER} : only non jenkins users may need proxy settings" +if [ ${USER} != 'jenkins' ]; then + + # add proxy settings into this script when you work behind a proxy + ${WORKSPACE}/test/csit/scripts/optf-has/has/has_proxy_settings.sh ${WORK_DIR} + +fi + +# prepare aaisim +cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/aaisim/ + +# check Dockerfile content +cat ./Dockerfile + +# build aaisim +docker build -t aaisim . + +# run aaisim +docker run -d --name aaisim -p 8081:8081 aaisim + +AAISIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' aaisim` +echo "AAISIM_IP=${AAISIM_IP}" + +${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${AAISIM_IP} 8081 + +# prepare multicloudsim +cd ${WORK_DIR}/has/conductor/conductor/tests/functional/simulators/multicloudsim/ + +# check Dockerfile content +cat ./Dockerfile + +# build multicloudsim +docker build -t multicloudsim . + +# run multicloudsim +docker run -d --name multicloudsim -p 8082:8082 multicloudsim + +MULTICLOUDSIM_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' multicloudsim` +echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}" + +${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${MULTICLOUDSIM_IP} 8082 + +# wait a while before continuing +sleep 2 + +echo "inspect docker things for tracing purpose" +docker inspect aaisim +docker inspect multicloudsim diff --git a/scripts/optf-has/has/simulator_teardown_script.sh b/scripts/optf-has/has/simulator_teardown_script.sh new file mode 100755 index 00000000..a2edd332 --- /dev/null +++ b/scripts/optf-has/has/simulator_teardown_script.sh @@ -0,0 +1,22 @@ +#!/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. +# +echo "optf/has scripts docker containers killing"; +docker stop aaisim +docker stop multicloudsim + +docker rm aaisim +docker rm multicloudsim diff --git a/scripts/optf-has/has/wait_for_port.sh b/scripts/optf-has/has/wait_for_port.sh new file mode 100755 index 00000000..10f08ded --- /dev/null +++ b/scripts/optf-has/has/wait_for_port.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "Usage: wait-for-port hostname port" >&2 + exit 1 +fi + +host=$1 +port=$2 + +echo "Waiting for $host port $port open" +until telnet $host $port </dev/null 2>/dev/null | grep -q '^Connected'; do + sleep 1 +done + +echo "$host port $port is open" + +exit 0 diff --git a/scripts/optf-has/osdf/testsample.txt b/scripts/optf-has/osdf/testsample.txt new file mode 100644 index 00000000..9f4e8d7d --- /dev/null +++ b/scripts/optf-has/osdf/testsample.txt @@ -0,0 +1 @@ +#test diff --git a/scripts/policy/mock-hello.sh b/scripts/policy/mock-hello.sh new file mode 100755 index 00000000..6092dcba --- /dev/null +++ b/scripts/policy/mock-hello.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# +# Copyright 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. +# +# $1 ip address of the mock server + +curl -v -X PUT -d @- http://$1:1080/expectation <<EOF +{ + "httpRequest": { + "method": "GET", + "path": "/hello" + }, + "httpResponse": { + "body": "Hello world!", + "statusCode": 200 + } +} +EOF + diff --git a/scripts/policy/script1.sh b/scripts/policy/script1.sh new file mode 100755 index 00000000..12509eda --- /dev/null +++ b/scripts/policy/script1.sh @@ -0,0 +1,174 @@ +#!/bin/bash +# +# Copyright 2017-2018 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. +# +echo "This is ${WORKSPACE}/test/csit/scripts/policy/script1.sh" + + +# the directory of the script +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +echo ${DIR} + +# the temp directory used, within $DIR +# omit the -p parameter to create a temporal directory in the default location +WORK_DIR=`mktemp -d -p "$DIR"` +echo ${WORK_DIR} + +cd ${WORK_DIR} + +# check if tmp dir was created +if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then + echo "Could not create temp dir" + exit 1 +fi + +# bring down maven +mkdir maven +cd maven +curl -O http://apache.claz.org/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz +tar -xzvf apache-maven-3.3.9-bin.tar.gz +ls -l +export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin +${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v +cd .. + +ifconfig + +if ! ifconfig eth0; then + if ! ifconfig ens3; then + echo "Could not determine IP address" + exit 1 + fi + export IP=`ifconfig ens3 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` +else + export IP=`ifconfig eth0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` +fi +echo $IP + +if ! ifconfig docker0; then + if ! ifconfig ens3; then + echo "Could not determine IP address" + exit 1 + fi + export DOCKER_IP_IP=`ifconfig ens3 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` +else + export DOCKER_IP=`ifconfig docker0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` +fi +echo $DOCKER_IP + +git clone http://gerrit.onap.org/r/oparent + +git clone http://gerrit.onap.org/r/policy/engine +cd engine/packages/docker +${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn prepare-package --settings ${WORK_DIR}/oparent/settings.xml +docker build -t onap/policy-pe target/policy-pe + +cd ${WORK_DIR} +git clone http://gerrit.onap.org/r/policy/drools-pdp +cd drools-pdp/packages/docker +${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn prepare-package --settings ${WORK_DIR}/oparent/settings.xml +docker build -t onap/policy-drools target/policy-drools + +cd ${WORK_DIR} +git clone http://gerrit.onap.org/r/policy/docker +cd docker + +chmod +x config/drools/drools-tweaks.sh + +echo $IP > config/pe/ip_addr.txt +ls -l config/pe/ip_addr.txt +cat config/pe/ip_addr.txt + +export MTU=9126 + +export PRELOAD_POLICIES=false +docker-compose -f docker-compose-integration.yml up -d + +if [ ! $? -eq 0 ]; then + echo "Docker compose failed" + exit 1 +fi + +docker ps + +POLICY_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' drools` +echo ${POLICY_IP} + +PDP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pdp` +echo ${PDP_IP} + +PAP_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' pap` +echo ${PAP_IP} + +BRMS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' brmsgw` +echo ${BRMS_IP} + +NEXUS_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' nexus` +echo ${NEXUS_IP} + +MARIADB_IP=`docker inspect --format '{{ .NetworkSettings.Networks.docker_default.IPAddress}}' mariadb` +echo ${MARIADB_IP} + +sleep 5m + +netstat -tnl + +docker logs mariadb +${DIR}/wait_for_port.sh ${MARIADB_IP} 3306 + +docker logs pap +${DIR}/wait_for_port.sh ${PAP_IP} 9091 + +docker logs pdp +${DIR}/wait_for_port.sh ${PDP_IP} 8081 + +docker logs brmsgw +${DIR}/wait_for_port.sh ${BRMS_IP} 9989 + +docker logs nexus +${DIR}/wait_for_port.sh ${NEXUS_IP} 8081 + +docker logs drools +${DIR}/wait_for_port.sh ${POLICY_IP} 6969 + +TIME_OUT=600 +INTERVAL=20 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + curl -k -i --user healthcheck:zb!XztG34 -H "ContentType: application/json" -H "Accept: application/json" https://${POLICY_IP}:6969/healthcheck && break + + echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds + sleep $INTERVAL + TIME=$(($TIME+$INTERVAL)) + +done + +TIME_OUT=600 +INTERVAL=20 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + + curl -k -i -v -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X POST -d '{"policyName": ".*"}' https://${PDP_IP}:8081/pdp/api/getConfig && break + +echo Sleep: $INTERVAL seconds before testing if Policy is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds + sleep $INTERVAL + TIME=$(($TIME+$INTERVAL)) + +done + +# +# Add more sleep for everything to settle +# +sleep 3m diff --git a/scripts/policy/wait_for_port.sh b/scripts/policy/wait_for_port.sh new file mode 100755 index 00000000..10f08ded --- /dev/null +++ b/scripts/policy/wait_for_port.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +if [[ $# -ne 2 ]]; then + echo "Usage: wait-for-port hostname port" >&2 + exit 1 +fi + +host=$1 +port=$2 + +echo "Waiting for $host port $port open" +until telnet $host $port </dev/null 2>/dev/null | grep -q '^Connected'; do + sleep 1 +done + +echo "$host port $port is open" + +exit 0 diff --git a/scripts/run-instance.sh b/scripts/run-instance.sh new file mode 100755 index 00000000..84ab3439 --- /dev/null +++ b/scripts/run-instance.sh @@ -0,0 +1,23 @@ +#!/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. +# +# $1 docker image path under ${WORKSPACE}/test/csit/docker/ +# $2 nickname for the instance +# $3 docker run options, e.g. variables + +echo "docker run --name $2 $3 -d $1" + +docker run --name $2 $3 -d $1 diff --git a/scripts/sdc/docker_health.sh b/scripts/sdc/docker_health.sh new file mode 100644 index 00000000..4264b1a5 --- /dev/null +++ b/scripts/sdc/docker_health.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +curl localhost:9200/_cluster/health?pretty=true + +echo "BE health-Check:" +curl http://localhost:8080/sdc2/rest/healthCheck + +echo "" +echo "" +echo "FE health-Check:" +curl http://localhost:8181/sdc1/rest/healthCheck + + +echo "" +echo "" +http_code=$(curl -o out.html -w '%{http_code}' -H "Accept: application/json" -H "Content-Type: application/json" -H "USER_ID: jh0003" http://localhost:8080/sdc2/rest/v1/user/demo;) +if [[ ${http_code} != 200 ]] +then + echo "Error [${http_code}] while user existance check" + return ${http_code} +fi +echo "check user existance: OK" + diff --git a/scripts/sdc/kill_containers_and_remove_dataFolders.sh b/scripts/sdc/kill_containers_and_remove_dataFolders.sh new file mode 100644 index 00000000..a4e933ff --- /dev/null +++ b/scripts/sdc/kill_containers_and_remove_dataFolders.sh @@ -0,0 +1,39 @@ +#!/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/sdc/kill_and_remove_dataFolder.sh" + +# copy logs to archive + +cp -rf ${WORKSPACE}/data/logs/ ${WORKSPACE}/archives/ +cp -rf ${WORKSPACE}/data/logs/*tests*/ExtentReport/* ${WORKSPACE}/archives/ +cp -rf ${WORKSPACE}/data/logs/*tests*/target/*.xml ${WORKSPACE}/archives/ + +ls -Rt ${WORKSPACE}/archives/ + +#kill and remove all sdc dockers +docker stop $(docker ps -a -q --filter="name=sdc") +docker rm $(docker ps -a -q --filter="name=sdc") + + +#delete data folder + +#rm -rf ${WORKSPACE}/data/* + + diff --git a/scripts/sdc/setup_sdc_for_apis_sanity.sh b/scripts/sdc/setup_sdc_for_apis_sanity.sh new file mode 100644 index 00000000..41d3d2aa --- /dev/null +++ b/scripts/sdc/setup_sdc_for_apis_sanity.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +set -x + +echo "This is ${WORKSPACE}/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh" + +# Clone sdc enviroment template +mkdir -p ${WORKSPACE}/data/environments/ +mkdir -p ${WORKSPACE}/data/clone/ +#mkdir -p ${WORKSPACE}/data/logs/BE/SDC/SDC-BE +#mkdir -p ${WORKSPACE}/data/logs/FE/SDC/SDC-FE +#chmod -R 777 ${WORKSPACE}/data/logs +#ls -lR ${WORKSPACE}/data/logs/ + + +cd ${WORKSPACE}/data/clone +git clone --depth 1 http://gerrit.onap.org/r/sdc -b ${GERRIT_BRANCH} + +chmod -R 777 ${WORKSPACE}/data/clone + +# set enviroment variables + +export ENV_NAME='CSIT' +export MR_IP_ADDR='10.0.0.1' + +ifconfig +IP_ADDRESS=`ip route get 8.8.8.8 | awk '/src/{ print $7 }'` +export HOST_IP=$IP_ADDRESS + +# setup enviroment json + +cat ${WORKSPACE}/data/clone/sdc/sdc-os-chef/environments/Template.json | sed "s/yyy/"$IP_ADDRESS"/g" > ${WORKSPACE}/data/environments/$ENV_NAME.json +sed -i "s/xxx/"$ENV_NAME"/g" ${WORKSPACE}/data/environments/$ENV_NAME.json +sed -i "s/\"ueb_url_list\":.*/\"ueb_url_list\": \""$MR_IP_ADDR","$MR_IP_ADDR"\",/g" ${WORKSPACE}/data/environments/$ENV_NAME.json +sed -i "s/\"fqdn\":.*/\"fqdn\": [\""$MR_IP_ADDR"\", \""$MR_IP_ADDR"\"]/g" ${WORKSPACE}/data/environments/$ENV_NAME.json + + +source ${WORKSPACE}/data/clone/sdc/version.properties +export RELEASE=$major.$minor-STAGING-latest +export DEP_ENV=$ENV_NAME + +cp ${WORKSPACE}/data/clone/sdc/sdc-os-chef/scripts/docker_run.sh ${WORKSPACE}/test/csit/scripts/sdc/ +#sed -i "s~/data~${WORKSPACE}\/data~g" ${WORKSPACE}/test/csit/scripts/sdc/docker_run.sh +#sed -i "s/HOST_IP=\${IP}/HOST_IP=\${HOST_IP}/g" ${WORKSPACE}/test/csit/scripts/sdc/docker_run.sh +#sed -i "s/ENVNAME=\"\${DEP_ENV}\"/ENVNAME=\"\${ENV_NAME}\"/g" ${WORKSPACE}/test/csit/scripts/sdc/docker_run.sh + +source ${WORKSPACE}/data/clone/sdc/version.properties +export RELEASE=$major.$minor-STAGING-latest + +${WORKSPACE}/test/csit/scripts/sdc/docker_run.sh -r ${RELEASE} -e ${ENV_NAME} -p 10001 -tad + +sleep 120 + +#monitor test processes + +TIME_OUT=1200 +INTERVAL=20 +TIME=0 +CID=`docker ps | grep tests | awk '{print $1}'` + +while [ "$TIME" -lt "$TIME_OUT" ]; do + +PID=`docker exec -i $CID ps -ef | grep java | awk '{print $1}'` + +echo sanity PID is -- $PID + +if [ -z "$PID" ] + then + echo SDC sanity finished in $TIME seconds + break + fi + + echo Sleep: $INTERVAL seconds before testing if SDC sanity completed. 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: Sany was NOT completed in $TIME_OUT seconds... Could cause problems for tests... +fi + + + + diff --git a/scripts/sdc/setup_sdc_for_ui_sanity.sh b/scripts/sdc/setup_sdc_for_ui_sanity.sh new file mode 100644 index 00000000..81b43d21 --- /dev/null +++ b/scripts/sdc/setup_sdc_for_ui_sanity.sh @@ -0,0 +1,85 @@ +#!/bin/bash + +set -x + +echo "This is ${WORKSPACE}/test/csit/scripts/sdc/clone_and_setup_sdc_data.sh" + +# Clone sdc enviroment template +mkdir -p ${WORKSPACE}/data/environments/ +mkdir -p ${WORKSPACE}/data/clone/ +#mkdir -p ${WORKSPACE}/data/logs/BE/SDC/SDC-BE +#mkdir -p ${WORKSPACE}/data/logs/FE/SDC/SDC-FE +#chmod -R 777 ${WORKSPACE}/data/logs +#ls -lR ${WORKSPACE}/data/logs/ + + +cd ${WORKSPACE}/data/clone +git clone --depth 1 http://gerrit.onap.org/r/sdc -b ${GERRIT_BRANCH} + +chmod -R 777 ${WORKSPACE}/data/clone + +# set enviroment variables + +export ENV_NAME='CSIT' +export MR_IP_ADDR='10.0.0.1' + +ifconfig +IP_ADDRESS=`ip route get 8.8.8.8 | awk '/src/{ print $7 }'` +export HOST_IP=$IP_ADDRESS + +# setup enviroment json + +cat ${WORKSPACE}/data/clone/sdc/sdc-os-chef/environments/Template.json | sed "s/yyy/"$IP_ADDRESS"/g" > ${WORKSPACE}/data/environments/$ENV_NAME.json +sed -i "s/xxx/"$ENV_NAME"/g" ${WORKSPACE}/data/environments/$ENV_NAME.json +sed -i "s/\"ueb_url_list\":.*/\"ueb_url_list\": \""$MR_IP_ADDR","$MR_IP_ADDR"\",/g" ${WORKSPACE}/data/environments/$ENV_NAME.json +sed -i "s/\"fqdn\":.*/\"fqdn\": [\""$MR_IP_ADDR"\", \""$MR_IP_ADDR"\"]/g" ${WORKSPACE}/data/environments/$ENV_NAME.json + + +source ${WORKSPACE}/data/clone/sdc/version.properties +export RELEASE=$major.$minor-STAGING-latest +export DEP_ENV=$ENV_NAME + +cp ${WORKSPACE}/data/clone/sdc/sdc-os-chef/scripts/docker_run.sh ${WORKSPACE}/test/csit/scripts/sdc/ +#sed -i "s~/data~${WORKSPACE}\/data~g" ${WORKSPACE}/test/csit/scripts/sdc/docker_run.sh +#sed -i "s/HOST_IP=\${IP}/HOST_IP=\${HOST_IP}/g" ${WORKSPACE}/test/csit/scripts/sdc/docker_run.sh +#sed -i "s/ENVNAME=\"\${DEP_ENV}\"/ENVNAME=\"\${ENV_NAME}\"/g" ${WORKSPACE}/test/csit/scripts/sdc/docker_run.sh + +source ${WORKSPACE}/data/clone/sdc/version.properties +export RELEASE=$major.$minor-STAGING-latest + +${WORKSPACE}/test/csit/scripts/sdc/docker_run.sh -r ${RELEASE} -e ${ENV_NAME} -p 10001 -tud + +sleep 120 + +#monitor test processes + +TIME_OUT=1200 +INTERVAL=20 +TIME=0 +CID=`docker ps | grep tests | awk '{print $1}'` + +while [ "$TIME" -lt "$TIME_OUT" ]; do + +PID=`docker exec -i $CID ps -ef | grep java | awk '{print $1}'` + +echo sanity PID is -- $PID + +if [ -z "$PID" ] + then + echo SDC sanity finished in $TIME seconds + break + fi + + echo Sleep: $INTERVAL seconds before testing if SDC sanity completed. 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: Sany was NOT completed in $TIME_OUT seconds... Could cause problems for tests... +fi + + + + diff --git a/scripts/sdc/start_sdc_containers.sh b/scripts/sdc/start_sdc_containers.sh new file mode 100644 index 00000000..5bc8770b --- /dev/null +++ b/scripts/sdc/start_sdc_containers.sh @@ -0,0 +1,116 @@ +#!/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/sdc/start_sdc_containers.sh" + +source ${WORKSPACE}/data/clone/sdc/version.properties +export RELEASE=$major.$minor-STAGING-latest +export DEP_ENV=$ENV_NAME +#[ -f /opt/config/nexus_username.txt ] && NEXUS_USERNAME=$(cat /opt/config/nexus_username.txt) || NEXUS_USERNAME=release +#[ -f /opt/config/nexus_password.txt ] && NEXUS_PASSWD=$(cat /opt/config/nexus_password.txt) || NEXUS_PASSWD=sfWU3DFVdBr7GVxB85mTYgAW +#[ -f /opt/config/nexus_docker_repo.txt ] && NEXUS_DOCKER_REPO=$(cat /opt/config/nexus_docker_repo.txt) || NEXUS_DOCKER_REPO=ecomp-nexus:${PORT} +#[ -f /opt/config/nexus_username.txt ] && docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO +export IP=$HOST_IP +#export PREFIX=${NEXUS_DOCKER_REPO}'/openecomp' +export PREFIX='nexus3.onap.org:10001/openecomp' + + +function monitor_docker { + +echo monitor $1 Docker +sleep 5 +TIME_OUT=800 +INTERVAL=20 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + +MATCH=`docker logs --tail 30 $1 | grep "DOCKER STARTED"` +echo MATCH is -- $MATCH + +if [ -n "$MATCH" ] + then + echo DOCKER start finished in $TIME seconds + break + fi + + echo Sleep: $INTERVAL seconds before testing if $1 DOCKER 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 -e "\e[1;31mTIME OUT: DOCKER was NOT fully started in $TIME_OUT seconds... Could cause problems ...\e[0m" +fi + + +} + +#start Elastic-Search +docker run --detach --name sdc-es --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --memory 1g --memory-swap=1g --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro -e ES_HEAP_SIZE=1024M --volume ${WORKSPACE}/data/ES:/usr/share/elasticsearch/data --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9200:9200 --publish 9300:9300 ${PREFIX}/sdc-elasticsearch:${RELEASE} + +#start cassandra +docker run --detach --name sdc-cs --env RELEASE="${RELEASE}" --env ENVNAME="${DEP_ENV}" --env HOST_IP=${IP} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9042:9042 --publish 9160:9160 ${PREFIX}/sdc-cassandra:${RELEASE} + +echo "please wait while CS is starting..." +monitor_docker sdc-cs + + +#start kibana +#docker run --detach --name sdc-kbn --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 2g --memory-swap=2g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 5601:5601 ${PREFIX}/sdc-kibana:${RELEASE} + +#start sdc-backend +docker run --detach --name sdc-BE --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --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 ${WORKSPACE}/data/logs/BE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 8443:8443 --publish 8080:8080 ${PREFIX}/sdc-backend:${RELEASE} + +echo "please wait while BE is starting..." +monitor_docker sdc-BE + +#start Front-End +docker run --detach --name sdc-FE --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 2g --memory-swap=2g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/logs/FE/:/var/lib/jetty/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9443:9443 --publish 8181:8181 ${PREFIX}/sdc-frontend:${RELEASE} + +echo "docker run sdc-frontend..." +monitor_docker sdc-FE + +echo " WAIT 1 minutes maximum and test every 5 seconds if SDC up using HealthCheck API...." + +TIME_OUT=60 +INTERVAL=5 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8080/sdc2/rest/healthCheck); echo $response + + if [ "$response" == "200" ]; then + echo SDC well started in $TIME seconds + break; + fi + + echo Sleep: $INTERVAL seconds before testing if SDC 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... +fi + diff --git a/scripts/sdc/start_sdc_sanity.sh b/scripts/sdc/start_sdc_sanity.sh new file mode 100644 index 00000000..2b553136 --- /dev/null +++ b/scripts/sdc/start_sdc_sanity.sh @@ -0,0 +1,71 @@ +#!/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. +# + + + +#start Sanity docker + +docker run --detach --name sdc-sanity --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env http_proxy=${http_proxy} --env https_proxy=${https_proxy} --env no_proxy=${no_proxy} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --memory 2g --memory-swap=2g --ulimit nofile=4096:100000 --volume /etc/localtime:/etc/localtime:ro --volume ${WORKSPACE}/data/logs/sdc-sanity/target:/var/lib/tests/target --volume ${WORKSPACE}/data/logs/sdc-sanity/ExtentReport:/var/lib/tests/ExtentReport --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 9560:9560 ${PREFIX}/sdc-sanity:${RELEASE} + +#echo "please wait while Sanity Docker is starting..." +echo "" +c=60 # seconds to wait +REWRITE="\e[45D\e[1A\e[K" +while [ $c -gt 0 ]; do + c=$((c-1)) + sleep 1 + echo -e "${REWRITE}$c" +done +echo -e "" + + +#monitor sanity process + +TIME_OUT=1200 +INTERVAL=20 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + +PID=`docker exec -i sdc-sanity ps -ef | grep java | awk '{print $2}'` +echo sanity PID is -- $PID + +if [ -z "$PID" ] + then + echo SDC sanity finished in $TIME seconds + break + fi + + echo Sleep: $INTERVAL seconds before testing if SDC sanity completed. 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: Sany was NOT completed in $TIME_OUT seconds... Could cause problems for tests... +fi +cp -rf ${WORKSPACE}/data/logs/sdc-sanity/ExtentReport/* ${WORKSPACE}/archives/ +cp -rf ${WORKSPACE}/data/logs/ ${WORKSPACE}/archives/ +cp -rf ${WORKSPACE}/data/logs/sdc-sanity/target/*.xml ${WORKSPACE}/archives/ + diff --git a/scripts/sdnc/script1.sh b/scripts/sdnc/script1.sh new file mode 100644 index 00000000..b87e3c19 --- /dev/null +++ b/scripts/sdnc/script1.sh @@ -0,0 +1,20 @@ +#!/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/sdnc/script1.sh" diff --git a/scripts/so/chef-config/aai.crt b/scripts/so/chef-config/aai.crt new file mode 100644 index 00000000..4ffa426c --- /dev/null +++ b/scripts/so/chef-config/aai.crt @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEiTCCA3GgAwIBAgIJAIPKfDLcn3MpMA0GCSqGSIb3DQEBCwUAMIGtMQswCQYD +VQQGEwJVUzELMAkGA1UECAwCTkoxEzARBgNVBAcMCkJlZG1pbnN0ZXIxEjAQBgNV +BAoMCU9wZW5FQ09NUDETMBEGA1UECwwKc2ltcGxlZGVtbzEqMCgGA1UEAwwhT3Bl +bkVDT01QIHNpbXBsZWRlbW8gU2VydmVyIENBIFgxMScwJQYJKoZIhvcNAQkBFhhz +aW1wbGVkZW1vQG9wZW5lY29tcC5vcmcwHhcNMTYxMTMwMTUzODM5WhcNMTcxMTMw +MTUzODM5WjCBuTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAk5KMRMwEQYDVQQHDApC +ZWRtaW5zdGVyMRIwEAYDVQQKDAlPcGVuRUNPTVAxEzARBgNVBAsMClNpbXBsZURl +bW8xKTAnBgNVBAMMIGFhaS5hcGkuc2ltcGxlZGVtby5vcGVuZWNvbXAub3JnMTQw +MgYJKoZIhvcNAQkBFiVhYWktaG9zdEBhcGkuc2ltcGxlZGVtby5vcGVuZWNvbXAu +b3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwQrQl8A0rT0Jjlos +Mr/7LEhT5UOif4GGPOk+3NCIxT3lOqAbUf+d9ZXyT2jWFRiKWua03vQ+Dxc8c2h2 +RRuH8LwEiOiWqPjWRxNqsARzZMI3ryHFCFBZh0FcpjH9kEeKVlLDYuV68k+ZucKd +NiqUNn61lD7kbmEGwvzKwf91FrJ09+CBMx1OnWKm3gCNKDqAEFMZCOdn2MgesJYB +/03lzPBS1jDfBXImXRcTBzpgA+wdCLn0cIQ1eLWUwS5tUqUJNh36nHdVyJ0P2Yjd +JLuxhFcmBKOz1ShyyO+BBtKBO8EGbU6qKflOiwOw0Fsn8LjKcrHQ58NPui5y04BU +Rypf3QIDAQABo4GdMIGaMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgO4MB0G +A1UdDgQWBBQyMUOsE2J+CKzK0qd8KFBD2gaWyjBbBgNVHSAEVDBSMFAGBFUdIAAw +SDBGBggrBgEFBQcCAjA6GjhLZWVwIGF3YXkgZnJvbSBjaGlsZHJlbi4gIFRoaXMg +Y2VydGlmaWNhdGUgaXMgbm90IGEgdG95LjANBgkqhkiG9w0BAQsFAAOCAQEAnkoy +2tWJOyyyIQwtVojUxv1GWQPnw3WCUcKpuX4CJhHXLxNErW1fBg7bmo08BNmBPPpq +WrJsy5lbBgUo9kgpViux5Stfy1rRIRsRLfl/icgCvJmUAxkmRCZL7yUvwG4K7s+8 +DwT+nW/XuWNP6Hd/qHccexB6COJ8KwvTdVoxAkCdX8qw4MCb/f7Kb1yle/vwBM5Q +UUONCJ4bEns1vnb9DGlNDUJNwCfwORAaVJpVS38Mv4UnSTmb2KMePtCWcx/dNsYR +2XrSGqLDnTvHwOpyhbfFTmackysGoSuDytORXy8YbwEiF13BwEK8i3rgNN0Z2ojf +cpmE2xxmaa+A2uuN6g== +-----END CERTIFICATE-----
\ No newline at end of file diff --git a/scripts/so/chef-config/mso-docker.json b/scripts/so/chef-config/mso-docker.json new file mode 100644 index 00000000..120db117 --- /dev/null +++ b/scripts/so/chef-config/mso-docker.json @@ -0,0 +1,230 @@ +{ + "name": "mso-docker", + "description": "MSO Docker Images", + "chef_type": "environment", + "json_class": "Chef::Environment", + + "default_attributes": + { + "mso_config_path": "/etc/mso/config.d/", + + "mso-topology-config": + { + "msb-server-ip": "172.30.3.34", + "msb-server-port": "80" + }, + + "mso-api-handler-infra-config": + { + "bpelURL": "http://mso:8080", + "bpelAuth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1", + "camundaURL": "http://mso:8080", + "camundaAuth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1" + }, + + "asdc-connections": + { + "asdc-controller1": + { + "user": "mso", + "consumerGroup": "sdc-OpenSource-Env1", + "consumerId": "sdc-COpenSource-Env11", + "environmentName": "SDC-OpenSource-Env1", + "asdcAddress": "c2.vm1.sdc.simpledemo.openecomp.org:8443", + "password": "613AF3483E695524F9857643B697FA51C7A9A0951094F53791485BF3458F9EADA37DBACCCEBD0CB242B85B4062745247", + "pollingInterval": 60, + "pollingTimeout": 60, + "relevantArtifactTypes": "HEAT,HEAT_ENV,HEAT_VOL", + "activateServerTLSAuth": "false", + "keyStorePassword": "", + "keyStorePath": "" + }, + + "asdc-controller2": + { + "user": "user", + "consumerGroup": "mso", + "consumerId": "mso", + "environmentName": "PROD", + "asdcAddress": "asdc_hostname2:8443", + "password": "f3895035812addbf115bfaf7d2dc850e", + "pollingInterval": 60, + "pollingTimeout": 60, + "relevantArtifactTypes": "HEAT,HEAT_ENV,HEAT_VOL", + "activateServerTLSAuth": "false", + "keyStorePassword": "", + "keyStorePath": "" + } + }, + + "mso-sdnc-adapter-config": + { + "sdncurls": + [ + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/L3SDN-API:", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/config/L3SDN-API:", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/Firewall-API:", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/config", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/VNF-API:", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/NBNC-API:", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/NORTHBOUND-API:service-topology-operation", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/GENERIC-RESOURCE-API:", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/restconf/operations/VNFTOPOLOGYAIC-API:", + "http://c1.vm1.sdnc.simpledemo.openecomp.org:8282/" + ], + + "bpelurl": "http://c1.vm1.mso.simpledemo.openecomp.org:8080/mso/SDNCAdapterCallbackService", + "restbpelurl": "http://c1.vm1.mso.simpledemo.openecomp.org:8080/mso/WorkflowMessage", + "myurl": "http://c1.vm1.mso.simpledemo.openecomp.org:8080/adapters/rest/SDNCNotify", + "sdncauth": "263f7d5f944d4d0c76db74b4148bec67d0bc796a874bc0d2a2a12aae89a866aa69133f700f391f784719a37f6a68d29bf5a2fbae1dab0402db7788c800c5ba73", + "bpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1", + "sdncconnecttime": "5000" + }, + + "mso-po-adapter-config": + { + "identity_services": + [ + { + "dcp_clli": "RAX_KEYSTONE", + "identity_url": "https://identity.api.rackspacecloud.com/v2.0", + "mso_id": "RACKSPACE_ACCOUNT_ID", + "mso_pass": "RACKSPACE_ACCOUNT_APIKEY", + "admin_tenant": "service", + "member_role": "admin", + "tenant_metadata": "true", + "identity_server_type": "KEYSTONE", + "identity_authentication_type": "RACKSPACE_APIKEY" + } + ], + + "cloud_sites": + [ + { + "id": "Dallas", + "aic_version": "2.5", + "lcp_clli": "DFW", + "region_id": "DFW", + "identity_service_id": "RAX_KEYSTONE" + }, + + { + "id": "Northern Virginia", + "aic_version": "2.5", + "lcp_clli": "IAD", + "region_id": "IAD", + "identity_service_id": "RAX_KEYSTONE" + }, + + { + "id": "Chicago", + "aic_version": "2.5", + "lcp_clli": "ORD", + "region_id": "ORD", + "identity_service_id": "RAX_KEYSTONE" + } + ], + + "vnfbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1", + "checkrequiredparameters": "true", + "nwbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1" + }, + + "mso-workflow-message-adapter-config": + { + "wmbpelurl": "http://mso:8080/mso/WorkflowMessage", + "wmbpelauth": "5119D1AF37F671FC01FFAD2151D93EFB2BBB503E879FD07104D024EDDF118FD1" + }, + + "mso-appc-adapter-config": + { + "appc_url": "http://localhost:18080", + "appc_stub": "/AppC-Simulator/action/execute", + "appc_auth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1", + "appc_timeout": "30", + "ueb_cluster_address": "http://localhost:18080", + "ueb_consumer_group": "testgroup", + "ueb_consumer_id": "testuser", + "ueb_topic": "queuetopic", + "ueb_polling_interval": "30", + "ueb_user": "user", + "ueb_password": "1ec0d74615d4e4639f991c0590c83b88", + "bpel_url": "http://localhost:18080", + "bpel_stub": "/AppC-Simulator/bpmn/appCResponse", + "bpel_auth": "786864AA53D0DCD881AED1154230C0C3058D58B9339D2EFB6193A0F0D82530E1", + "bpel_timeout": "30" + }, + + "mso-bpmn-config": + { + "urnFileSystemLoadingEnabled": "true" + }, + + "mso-bpmn-urn-config": + { + "debug":"false", + "invariantIdL3ToHigherLayerDeleteBonding": "50359538-066f-4a8d-807f-f2bc8eaa79dc", + "versionIdL3ToHigherLayerDeleteBonding": "52dbec20-47aa-42e4-936c-331d8e350d44", + "infraCustomerId": "21014aa2-526b-11e6-beb8-9e71128cae77", + "sniroAuth": "test:testpwd", + "sniroEndpoint": "http://sniro.api.simpledemo.openecomp.org:8080/sniro/api/v2/placement", + "sniroTimeout": "PT30M", + "serviceAgnosticSniroHost": "http://sniro.api.simpledemo.openecomp.org:8080", + "serviceAgnosticSniroEndpoint": "/sniro/api/v2/placement", + "aaiEndpoint": "https://aai.api.simpledemo.onap.org:8443", + "aaiAuth": "2630606608347B7124C244AB0FE34F6F", + "adaptersNamespace": "http://org.openecomp.mso", + "adaptersCompletemsoprocessEndpoint": "http://mso:8080/CompleteMsoProcess", + "adaptersDbEndpoint": "http://mso:8080/dbadapters/MsoRequestsDbAdapter", + "adaptersOpenecompDbEndpoint": "http://mso:8080/dbadapters/RequestsDbAdapter", + "catalogDbEndpoint": "http://mso:8080/ecomp/mso/catalog", + "adaptersSdncEndpoint": "http://mso:8080/adapters/SDNCAdapter", + "adaptersSdncRestEndpoint": "http://mso:8080/adapters/rest/v1/sdnc", + "adaptersTenantEndpoint": "http://mso:8080/tenants/TenantAdapter", + "adaptersDbAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74", + "adaptersWorkflowMessageEndpoint": "http://mso:8080/workflows/messages", + "workflowMessageEndpoint": "http://mso:8080/mso/WorkflowMessage", + "workflowSdncAdapterCallback": "http://mso:8080/mso/SDNCAdapterCallbackService", + "workflowSdncReplicationDelay": "PT5S", + "workflowAaiDistributionDelay": "PT30S", + "msoKey": "07a7159d3bf51a0e53be7a8f89699be7", + "adaptersPoAuth": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74", + "sdncTimeout": "PT5M", + "rollback": "true", + "adaptersNetworkEndpoint": "http://mso:8080/networks/NetworkAdapter", + "adaptersNetworkRestEndpoint": "http://mso:8080/networks/rest/v1/networks", + "adaptersVnfAsyncEndpoint": "http://mso:8080/vnfs/VnfAdapterAsync", + "workflowVnfAdapterDeleteCallback": "http://mso:8080/mso/vnfAdapterNotify", + "workflowVnfAdapterCreateCallback": "http://mso:8080/mso/vnfAdapterNotify", + "adaptersVnfRestEndpoint": "http://mso:8080/vnfs/rest/v1/vnfs", + "workflowVnfAdapterRestCallback": "http://mso:8080/mso/vnfAdapterRestNotify", + "poTimeout": "PT5M", + "sdncFirewallYangModel": "http://com/att/svc/mis/firewall-lite-gui", + "sdncFirewallYangModelVersion": "2015-05-15", + "sdncTimeoutFirewall": "20", + "callbackRetryAttempts": "30", + "callbackRetrySleepTime": "1000", + "appcClientTopicRead": "APPC-LCM-READ", + "appcClientTopicWrite": "APPC-LCM-WRITE", + "appcClientTopicSdncRead": "SDNC-LCM-READ", + "appcClientTopicSdncWrite": "SDNC-LCM-WRITE", + "appcClientTopicReadTimeout": "360000", + "appcClientResponseTime": "360000", + "appcClientPoolMembers": "10.0.11.1:3904", + "appcClientKey": "VIlbtVl6YLhNUrtU", + "appcClientSecret": "64AG2hF4pYeG2pq7CT6XwUOT", + "appcClientService": "ueb", + "workflowL3ToHigherLayerAddBondingModelName": "WAN Bonding", + "workflowL3ToHigherLayerAddBondingModelVersion": "2.0" + } + }, + + "override_attributes": + { + }, + + "cookbook_versions": + { + "mso-config": "~> 1.0.0" + } +} diff --git a/scripts/so/mariadb/conf.d/mariadb1.cnf b/scripts/so/mariadb/conf.d/mariadb1.cnf new file mode 100644 index 00000000..39ed0224 --- /dev/null +++ b/scripts/so/mariadb/conf.d/mariadb1.cnf @@ -0,0 +1,193 @@ +# Example MySQL config file for medium systems. +# +# This is for a system with memory 8G where MySQL plays +# an important part, or systems up to 128M where MySQL is used together with +# other programs (such as a web server) +# +# In this file, you can use all long options that a program supports. +# If you want to know which options a program supports, run the program +# with the "--help" option. + +# The following options will be passed to all MySQL clients +##[client] +##user = root +##port = 3306 +##socket = //opt/app/mysql/mysql.sock + +# Here follows entries for some specific programs + +# The MySQL server +[mysqld] +##performance_schema + +slow_query_log =ON +long_query_time =2 +slow_query_log_file =//var/lib/mysql/slow_query.log + +skip-external-locking +explicit_defaults_for_timestamp = true +skip-symbolic-links +local-infile = 0 +key_buffer_size = 16M +max_allowed_packet = 4M +table_open_cache = 100 +sort_buffer_size = 512K +net_buffer_length = 8K +read_buffer_size = 256K +read_rnd_buffer_size = 512K +myisam_sort_buffer_size = 8M +max_connections = 500 +lower_case_table_names = 1 +thread_stack = 256K +thread_cache_size = 25 +query_cache_size = 8M +query_cache_type = 0 +query_prealloc_size = 512K +query_cache_limit = 1M + +# Password validation +##plugin-load-add=simple_password_check.so +##simple_password_check_other_characters=0 + +# Audit Log settings +plugin-load-add=server_audit.so +server_audit=FORCE_PLUS_PERMANENT +server_audit_file_path=//var/lib/mysql/audit.log +server_audit_file_rotate_size=50M +server_audit_events=CONNECT,QUERY,TABLE +server_audit_logging=on + +# Don't listen on a TCP/IP port at all. This can be a security enhancement, +# if all processes that need to connect to mysqld run on the same host. +# All interaction with mysqld must be made via Unix sockets or named pipes. +# Note that using this option without enabling named pipes on Windows +# (via the "enable-named-pipe" option) will render mysqld useless! +# +#skip-networking + +# Replication Master Server (default) +# binary logging is required for replication +##log-bin=//var/lib/mysql/mysql-bin + +# binary logging format - mixed recommended +binlog_format=row + +# required unique id between 1 and 2^32 - 1 +# defaults to 1 if master-host is not set +# but will not function as a master if omitted + +# Replication Slave (comment out master section to use this) +# +# To configure this host as a replication slave, you can choose between +# two methods : +# +# 1) Use the CHANGE MASTER TO command (fully described in our manual) - +# the syntax is: +# +# CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>, +# MASTER_USER=<user>, MASTER_PASSWORD=<password> ; +# +# where you replace <host>, <user>, <password> by quoted strings and +# <port> by the master's port number (3306 by default). +# +# Example: +# +# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, +# MASTER_USER='joe', MASTER_PASSWORD='secret'; +# +# OR +# +# 2) Set the variables below. However, in case you choose this method, then +# start replication for the first time (even unsuccessfully, for example +# if you mistyped the password in master-password and the slave fails to +# connect), the slave will create a master.info file, and any later +# change in this file to the variables' values below will be ignored and +# overridden by the content of the master.info file, unless you shutdown +# the slave server, delete master.info and restart the slaver server. +# For that reason, you may want to leave the lines below untouched +# (commented) and instead use CHANGE MASTER TO (see above) +# +# required unique id between 2 and 2^32 - 1 +# (and different from the master) +# defaults to 2 if master-host is set +# but will not function as a slave if omitted +#server-id = 2 +# +# The replication master for this slave - required +#master-host = <hostname> +# +# The username the slave will use for authentication when connecting +# to the master - required +#master-user = <username> +# +# The password the slave will authenticate with when connecting to +# the master - required +#master-password = <password> +# +# The port the master is listening on. +# optional - defaults to 3306 +#master-port = <port> +# +# binary logging - not required for slaves, but recommended +#log-bin=mysql-bin + +# Uncomment the following if you are using InnoDB tables +##innodb_data_home_dir = //opt/app/mysql/data +##innodb_data_file_path = ibdata1:20M:autoextend:max:32G +##innodb_log_group_home_dir = //opt/app/mysql/iblogs +# You can set .._buffer_pool_size up to 50 - 80 % +# of RAM but beware of setting memory usage too high +#innodb_buffer_pool_size = 6380M +#innodb_additional_mem_pool_size = 2M +# Set .._log_file_size to 25 % of buffer pool size +innodb_log_file_size = 150M +innodb_log_files_in_group = 3 +innodb_log_buffer_size = 8M +#innodb_flush_log_at_trx_commit = 1 +innodb_lock_wait_timeout = 50 +innodb_autoextend_increment = 100 +expire_logs_days = 8 +open_files_limit = 2000 +transaction-isolation=READ-COMMITTED +####### Galera parameters ####### +## Galera Provider configuration +wsrep_provider=/usr/lib/galera/libgalera_smm.so +wsrep_provider_options="gcache.size=2G; gcache.page_size=1G" +## Galera Cluster configuration +wsrep_cluster_name="MSO-automated-tests-cluster" +wsrep_cluster_address="gcomm://" +#wsrep_cluster_address="gcomm://mariadb1,mariadb2,mariadb3" +##wsrep_cluster_address="gcomm://192.169.3.184,192.169.3.185,192.169.3.186" +## Galera Synchronization configuration +wsrep_sst_method=rsync +#wsrep_sst_method=xtrabackup-v2 +#wsrep_sst_auth="sstuser:Mon#2o!6" +## Galera Node configuration +wsrep_node_name="mariadb1" +##wsrep_node_address="192.169.3.184" +wsrep_on=ON +## Status notification +#wsrep_notify_cmd=/opt/app/mysql/bin/wsrep_notify +####### + + +[mysqldump] +quick +max_allowed_packet = 16M + +[mysql] +no-auto-rehash +# Remove the next comment character if you are not familiar with SQL +#safe-updates + +[myisamchk] +key_buffer_size = 20971520 + +##[mysqlhotcopy] +##interactive-timeout +##[mysqld_safe] +##malloc-lib=//opt/app/mysql/local/lib/libjemalloc.so.1 +##log-error=//opt/app/mysql/log/mysqld.log + +general_log_file = /var/log/mysql/mysql.log +general_log = 1 diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/01-load-default-sql-files.sh b/scripts/so/mariadb/docker-entrypoint-initdb.d/01-load-default-sql-files.sh new file mode 100644 index 00000000..326f2735 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/01-load-default-sql-files.sh @@ -0,0 +1,25 @@ +#!/bin/sh +# +# ============LICENSE_START========================================== +# =================================================================== +# Copyright © 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 and OpenECOMP are trademarks +# and service marks of AT&T Intellectual Property. +# +# +cd /docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw +mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < create_mso_db-demo-vfw.sql
\ No newline at end of file diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh b/scripts/so/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh new file mode 100644 index 00000000..a1638010 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/02-load-additional-changes.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# +# ============LICENSE_START========================================== +# =================================================================== +# Copyright © 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 and OpenECOMP are trademarks +# and service marks of AT&T Intellectual Property. +# +# + +# TODO: update this script to work with the new DB schema + +# mysql -uroot -p$MYSQL_ROOT_PASSWORD -e "UPDATE heat_environment SET ENVIRONMENT='parameters:\n vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vfw_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n unprotected_private_net_id: zdfw1fwl01_unprotected\n protected_private_net_id: zdfw1fwl01_protected\n ecomp_private_net_id: oam_ecomp\n unprotected_private_net_cidr: 192.168.10.0/24\n protected_private_net_cidr: 192.168.20.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vfw_private_ip_0: 192.168.10.100\n vfw_private_ip_1: 192.168.20.100\n vfw_private_ip_2: 192.168.9.100\n vpg_private_ip_0: 192.168.10.200\n vpg_private_ip_1: 192.168.9.200\n vsn_private_ip_0: 192.168.20.250\n vsn_private_ip_1: 192.168.9.250\n vfw_name_0: zdfw1fwl01fwl01\n vpg_name_0: zdfw1fwl01pgn01\n vsn_name_0: zdfw1fwl01snk01\n vnf_id: vFirewall_demo_app\n vf_module_id: vFirewall\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vfw_key\n pub_key: INSERT YOUR PUBLIC KEY HERE' where id=5;" mso_catalog diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql new file mode 100644 index 00000000..146ad016 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/automated-tests/create_mso_db-tests.sql @@ -0,0 +1,49 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +LOCK TABLES `NETWORK_RESOURCE` WRITE; +/*!40000 ALTER TABLE `NETWORK_RESOURCE` DISABLE KEYS */; +/*!40000 ALTER TABLE `NETWORK_RESOURCE` ENABLE KEYS */; +insert into NETWORK_RESOURCE (id, NETWORK_TYPE, VERSION_STR, ORCHESTRATION_MODE ,DESCRIPTION, TEMPLATE_ID, NEUTRON_NETWORK_TYPE, AIC_VERSION_MIN) values +(1, "vlan",'1',"NEUTRON","Cool network",1,"BASIC","0"); +UNLOCK TABLES; + +LOCK TABLES `NETWORK_RECIPE` WRITE; +/*!40000 ALTER TABLE `NETWORK_RECIPE` DISABLE KEYS */; +INSERT INTO `NETWORK_RECIPE`(`NETWORK_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES +('vlan','CREATE','1',NULL,'/active-bpel/services/REST/CreateNetwork',NULL,180,NULL), +('vlan','DELETE','1',NULL,'/active-bpel/services/REST/DeleteNetwork',NULL,180,NULL); +/*!40000 ALTER TABLE `NETWORK_RECIPE` ENABLE KEYS */; +UNLOCK TABLES; + +LOCK TABLES `VNF_RECIPE` WRITE; +INSERT INTO `VNF_RECIPE`(`ID`, `VNF_TYPE`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`) VALUES +(100,'VPE','CREATE','1','','/active-bpel/services/REST/CreateGenericVNF','',180,'SDN-ETHERNET-INTERNET'), +(101,'VPE','DELETE','1','','/active-bpel/services/REST/DeleteGenericVNF','',180,'SDN-ETHERNET-INTERNET'); +UNLOCK TABLES; + +LOCK TABLES `VF_MODULE` WRITE; +INSERT INTO `VF_MODULE`(`ID`, `TYPE`, `ASDC_SERVICE_MODEL_VERSION`, `MODEL_NAME`, `MODEL_VERSION`, `IS_BASE`, `VNF_RESOURCE_ID`) VALUES +(100,'dns-servicetest/DNSResource-1::VF_DNS::module-1','1.0','VF_DNS::module-1','1.0','1','7'), +(101,'dns-servicetest/DNSResource-1::Mog111..mog_psm..module-1','1.0','Mog111..mog_psm..module-1','1.0','1','7'); +UNLOCK TABLES; + +LOCK TABLES `VNF_RESOURCE` WRITE; +INSERT INTO `VNF_RESOURCE`(`ID`, `VNF_TYPE`, `ASDC_SERVICE_MODEL_VERSION`, `ORCHESTRATION_MODE`, `MODEL_VERSION`) VALUES +(100,'dns-servicetest/DNSResource-1','1.0','VF_DNS::module-1','1.0'); +UNLOCK TABLES; + +DELETE FROM HEAT_TEMPLATE_PARAMS; +DELETE FROM HEAT_TEMPLATE; +DELETE FROM HEAT_ENVIRONMENT; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql new file mode 100644 index 00000000..1fea840d --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/default/create_mso_db-default.sql @@ -0,0 +1,128 @@ +SOURCE ../../camunda/mariadb_engine_7.7.3-ee.sql + +-- +-- Create an admin user automatically for the cockpit +-- +SOURCE ../../camunda/mysql_create_camunda_admin.sql + +-- +-- Current Database: `mso_requests` +-- + +DROP DATABASE IF EXISTS `mso_requests`; + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mso_requests` /*!40100 DEFAULT CHARACTER SET latin1 */; + +USE `mso_requests`; + +SOURCE ../../main-schemas/MySQL-Requests-schema.sql + +-- +-- Current Database: `mso_catalog` +-- + +DROP DATABASE IF EXISTS `mso_catalog`; + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mso_catalog` /*!40100 DEFAULT CHARACTER SET latin1 */; + +USE `mso_catalog`; + +SOURCE ../../main-schemas/MySQL-Catalog-schema.sql + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','Contrail30-l2nodhcp','1',NULL,'heat_template_version: 2015-04-30\n\ndescription:\n HOT template that creates a Contrail Virtual Network with L2NODHCP\n\nparameters:\n network_name:\n type: string\n description: Name of direct network (e.g. core, dmz)\n default: ECOMPNetwork\n shared:\n type: boolean\n description: Shared amongst tenants\n default: False\n external:\n type: boolean\n description: router_external for the VirtualNetwork\n default: False\n route_targets:\n type: comma_delimited_list\n description: Network route-targets (RT)\n default: \"\"\n subnet_list:\n type: json\n description: Network subnets\n default: []\n policy_refs:\n type: comma_delimited_list\n description: Policies referenced by Network\n default: \"\"\n policy_refsdata:\n type: json\n description: Policies referenced by Network\n default: []\n route_table_refs:\n type: comma_delimited_list\n description: Route Tables referenced by Network\n default: \"\"\n virtual_network_properties_allow_transit:\n type: boolean\n description: allow_transit for the VirtualNetwork\n default: True\n virtual_network_properties_forwarding_mode:\n type: string\n description: forwarding_mode for the VirtualNetwork\n default: l2\n virtual_network_properties_rpf:\n type: string\n description: rpf for the VirtualNetwork\n default: disable\n flood_unknown_unicast:\n type: boolean\n description: flood_unknown_unicast for the VirtualNetwork\n default: True\n\noutputs:\n network_id:\n description: Openstack network identifier\n value: { get_resource: network }\n network_fqdn:\n description: Openstack network identifier\n value: {list_join: [\':\', { get_attr: [network, fq_name] } ] }\n\nresources:\n networkIpam:\n type: OS::ContrailV2::NetworkIpam\n properties:\n name: { get_param: network_name }\n\n network:\n type: OS::ContrailV2::VirtualNetwork\n properties:\n name: { get_param: network_name }\n is_shared: {get_param: shared}\n router_external: { get_param: external }\n route_target_list:\n {\n route_target_list_route_target: { get_param: route_targets }\n }\n network_ipam_refs: [{ get_resource: networkIpam }]\n network_ipam_refs_data:\n [\n {\n network_ipam_refs_data_ipam_subnets: { get_param: subnet_list }\n }\n ]\n network_policy_refs: { get_param: policy_refs }\n network_policy_refs_data: { get_param: policy_refsdata }\n route_table_refs: { get_param: route_table_refs }\n flood_unknown_unicast: { get_param: flood_unknown_unicast } \n virtual_network_properties:\n {\n virtual_network_properties_allow_transit: { get_param: virtual_network_properties_allow_transit },\n virtual_network_properties_forwarding_mode: { get_param: virtual_network_properties_forwarding_mode },\n virtual_network_properties_rpf: { get_param: virtual_network_properties_rpf },\n }\n',10,'MANUAL RECORD','2017-10-05 18:52:03'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','Contrail30-gndirect','1',NULL,'heat_template_version: 2015-04-30\n\ndescription:\n HOT template that creates a Contrail Virtual Network for GNDIRECT\n\nparameters:\n network_name:\n type: string\n description: Name of direct network (e.g. core, dmz)\n default: ECOMPNetwork\n shared:\n type: boolean\n description: Shared amongst tenants\n default: False\n external:\n type: boolean\n description: router_external for the VirtualNetwork\n default: False\n route_targets:\n type: comma_delimited_list\n description: Network route-targets (RT)\n default: \"\"\n subnet_list:\n type: json\n description: Network subnets\n default: []\n policy_refs:\n type: comma_delimited_list\n description: Policies referenced by Network\n default: \"\"\n policy_refsdata:\n type: json\n description: Policies referenced by Network\n default: []\n route_table_refs:\n type: comma_delimited_list\n description: Route Tables referenced by Network\n default: \"\"\n virtual_network_properties_rpf:\n type: string\n description: rpf for the VirtualNetwork\n default: disable\n\noutputs:\n network_id:\n description: Openstack network identifier\n value: { get_resource: network }\n network_fqdn:\n description: Openstack network identifier\n value: {list_join: [\':\', { get_attr: [network, fq_name] } ] }\n\nresources:\n networkIpam:\n type: OS::ContrailV2::NetworkIpam\n properties:\n name: { get_param: network_name }\n\n network:\n type: OS::ContrailV2::VirtualNetwork\n properties:\n name: { get_param: network_name }\n is_shared: {get_param: shared}\n router_external: { get_param: external }\n route_target_list:\n {\n route_target_list_route_target: { get_param: route_targets }\n }\n network_ipam_refs: [{ get_resource: networkIpam }]\n network_ipam_refs_data:\n [\n {\n network_ipam_refs_data_ipam_subnets: { get_param: subnet_list }\n }\n ]\n network_policy_refs: { get_param: policy_refs }\n network_policy_refs_data: { get_param: policy_refsdata }\n route_table_refs: { get_param: route_table_refs }\n virtual_network_properties:\n {\n virtual_network_properties_rpf: { get_param: virtual_network_properties_rpf }\n }\n',10,'MANUAL RECORD','2017-10-05 18:52:03'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`,`NAME`,`VERSION`,`BODY`,`TIMEOUT_MINUTES`,`DESCRIPTION`,`CREATION_TIMESTAMP`,`ARTIFACT_CHECKSUM`) VALUES ('efee1d84-b8ec-11e7-abc4-cec278b6b50a','Generic NeutronNet','1','heat_template_version: 2013-05-23\n\ndescription:\n HOT template that creates a Generic Neutron Network\n\nparameters:\n network_name:\n type: string\n description: Name of direct network (e.g. core, dmz)\n default: ECOMPNetwork\n network_subnet_name:\n type: string\n description: Name of subnet network (e.g. core, dmz)\n default: ECOMPNetwork\n network_subnet_cidr:\n type: string\n description: CIDR of subnet network (e.g. core, dmz)\n default: 10.0.0.0/16\n\noutputs:\n network_id:\n description: Openstack network identifier\n value: { get_resource: network }\n network_fqdn:\n description: Openstack network identifier\n value: {list_join: [\':\', { get_attr: [network, fq_name] } ] }\n\nresources:\n network:\n type: OS::Neutron::Net\n properties:\n name: {get_param: network_name }\n\n subnet:\n type: OS::Neutron::Subnet\n properties:\n name: { get_param: network_subnet_name }\n network_id: { get_resource: network }\n cidr: { get_param: network_subnet_cidr }\n enable_dhcp: false\n',10,'Generic Neutron Template','2017-10-26 14:44:00', 'MANUAL RECORD'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','external','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','flood_unknown_unicast','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','network_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','policy_refs','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','policy_refsdata','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','route_table_refs','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','route_targets','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','shared','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','virtual_network_properties_allow_transit','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','virtual_network_properties_forwarding_mode','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c198-a9fe-11e7-8b4b-0242ac120002','virtual_network_properties_rpf','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','external','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','network_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','policy_refs','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','policy_refsdata','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','route_table_refs','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','route_targets','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','shared','\0','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('4885c7a1-a9fe-11e7-8b4b-0242ac120002','virtual_network_properties_rpf','\0','string',NULL); + +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (1,'CONTRAIL_BASIC','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (2,'CONTRAIL_BASIC','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (3,'CONTRAIL_BASIC','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (4,'CONTRAIL_SHARED','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (5,'CONTRAIL_SHARED','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (6,'CONTRAIL_SHARED','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (7,'CONTRAIL_EXTERNAL','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (8,'CONTRAIL_EXTERNAL','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (9,'CONTRAIL_EXTERNAL','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (10,'CONTRAIL30_BASIC','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (11,'CONTRAIL30_BASIC','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (12,'CONTRAIL30_BASIC','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (13,'CONTRAIL30_MPSCE','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (14,'CONTRAIL30_MPSCE','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (15,'CONTRAIL30_MPSCE','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (16,'VID_DEFAULT','createInstance','VID_DEFAULT recipe to create network if no custom BPMN flow is found','/mso/async/services/CreateNetworkInstance',NULL,180,NULL,'2017-10-05 18:52:03','1.0'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (17,'VID_DEFAULT','updateInstance','VID_DEFAULT recipe to update network if no custom BPMN flow is found','/mso/async/services/UpdateNetworkInstance',NULL,180,NULL,'2017-10-05 18:52:03','1.0'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (18,'VID_DEFAULT','deleteInstance','VID_DEFAULT recipe to delete network if no custom BPMN flow is found','/mso/async/services/DeleteNetworkInstance',NULL,180,NULL,'2017-10-05 18:52:03','1.0'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (19,'CONTRAIL30_L2NODHCP','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (20,'CONTRAIL30_L2NODHCP','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (21,'CONTRAIL30_L2NODHCP','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (22,'CONTRAIL30_GNDIRECT','CREATE',NULL,'/mso/async/services/CreateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (23,'CONTRAIL30_GNDIRECT','UPDATE',NULL,'/mso/async/services/UpdateNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); +INSERT INTO `network_recipe` (`id`, `MODEL_NAME`, `ACTION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `NETWORK_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TYPE`, `CREATION_TIMESTAMP`, `VERSION_STR`) VALUES (24,'CONTRAIL30_GNDIRECT','DELETE',NULL,'/mso/async/services/DeleteNetworkV2',NULL,180,NULL,'2017-10-05 18:52:03','1'); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('48cc36cc-a9fe-11e7-8b4b-0242ac120002','VID_DEFAULT','48cd56c8-a9fe-11e7-8b4b-0242ac120002','1.0','Default service for VID to use for infra APIH orchestration1707MIGRATED1707MIGRATED','2017-10-05 18:52:03',NULL); +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('48cc3acd-a9fe-11e7-8b4b-0242ac120002','*','48ce2256-a9fe-11e7-8b4b-0242ac120002','1.0','Default service to use for infra APIH orchestration1707MIGRATED1707MIGRATED','2017-10-05 18:52:03',NULL); + +INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (1,'createInstance','1','VID_DEFAULT recipe to create service-instance if no custom BPMN flow is found','/mso/async/services/CreateGenericALaCarteServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','48cc36cc-a9fe-11e7-8b4b-0242ac120002'); +INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (2,'deleteInstance','1','VID_DEFAULT recipe to delete service-instance if no custom BPMN flow is found','/mso/async/services/DeleteGenericALaCarteServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','48cc36cc-a9fe-11e7-8b4b-0242ac120002'); +INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (3,'createInstance','1','DEFAULT recipe to create service-instance if no custom BPMN flow is found','/mso/async/services/CreateGenericALaCarteServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','48cc3acd-a9fe-11e7-8b4b-0242ac120002'); +INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (4,'deleteInstance','1','DEFAULT recipe to delete service-instance if no custom BPMN flow is found','/mso/async/services/DeleteGenericALaCarteServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','48cc3acd-a9fe-11e7-8b4b-0242ac120002'); + +-- +-- Custom Reciepe for the VoLTE service added temporarily +-- + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('dfcd7471-16c7-444e-8268-d4c50d90593a','UUI_DEFAULT','dfcd7471-16c7-444e-8268-d4c50d90593a','1.0','Default service for UUI to use for infra APIH orchestration1707MIGRATED1707MIGRATED','2017-10-23 18:52:03',NULL); + +INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (11,'createInstance','1','Custom recipe to create E2E service-instance if no custom BPMN flow is found','/mso/async/services/CreateCustomE2EServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','dfcd7471-16c7-444e-8268-d4c50d90593a'); +INSERT INTO `service_recipe` (`id`, `ACTION`, `VERSION_STR`, `DESCRIPTION`, `ORCHESTRATION_URI`, `SERVICE_PARAM_XSD`, `RECIPE_TIMEOUT`, `SERVICE_TIMEOUT_INTERIM`, `CREATION_TIMESTAMP`, `SERVICE_MODEL_UUID`) VALUES (12,'deleteInstance','1','Custom recipe to delete E2E service-instance if no custom BPMN flow is found','/mso/async/services/DeleteCustomE2EServiceInstance',NULL,180,NULL,'2017-10-05 18:52:03','dfcd7471-16c7-444e-8268-d4c50d90593a'); + +INSERT INTO `temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`) VALUES ('CONTRAIL30_GNDIRECT','4885c7a1-a9fe-11e7-8b4b-0242ac120002','3.0',NULL); +INSERT INTO `temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`) VALUES ('CONTRAIL30_L2NODHCP','4885c198-a9fe-11e7-8b4b-0242ac120002','3.0',NULL); +INSERT INTO `temp_network_heat_template_lookup` (`NETWORK_RESOURCE_MODEL_NAME`, `HEAT_TEMPLATE_ARTIFACT_UUID`,`AIC_VERSION_MIN` , `AIC_VERSION_MAX` ) VALUES ('Generic NeutronNet','efee1d84-b8ec-11e7-abc4-cec278b6b50a','2.0','NULL'); + +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (1,'*','VOLUME_GROUP',NULL,'CREATE',NULL,'1','Recipe Match All for','/mso/async/services/createCinderVolumeV1',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (2,'*','VOLUME_GROUP',NULL,'DELETE',NULL,'1','Recipe Match All for','/mso/async/services/deleteCinderVolumeV1',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (3,'*','VOLUME_GROUP',NULL,'UPDATE',NULL,'1','Recipe Match All for','/mso/async/services/updateCinderVolumeV1',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (4,NULL,'VOLUME_GROUP',NULL,'CREATE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/CreateVfModuleVolume',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (5,NULL,'VOLUME_GROUP',NULL,'DELETE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/DeleteVfModuleVolume',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (6,NULL,'VOLUME_GROUP',NULL,'UPDATE_VF_MODULE_VOL',NULL,'1','Recipe Match All for','/mso/async/services/UpdateVfModuleVolume',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (7,NULL,'volumeGroup','VID_DEFAULT','createInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/CreateVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (8,NULL,'volumeGroup','VID_DEFAULT','deleteInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/DeleteVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (9,NULL,'volumeGroup','VID_DEFAULT','updateInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/UpdateVfModuleVolumeInfraV1',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (10,NULL,'vfModule','VID_DEFAULT','createInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/CreateVfModuleInfra',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (11,NULL,'vfModule','VID_DEFAULT','deleteInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/DeleteVfModuleInfra',null,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_components_recipe` (`id`, `VNF_TYPE`, `VNF_COMPONENT_TYPE`, `VF_MODULE_MODEL_UUID`, `ACTION`, `SERVICE_TYPE`, `VERSION`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_COMPONENT_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (12,NULL,'vfModule','VID_DEFAULT','updateInstance',NULL,'1','VID_DEFAULT recipe t','/mso/async/services/UpdateVfModuleInfra',null,180,'2017-10-05 18:52:03'); + +INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (1,NULL,'CREATE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/CreateGenericVNFV1',NULL,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (2,NULL,'DELETE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/async/services//deleteGenericVNFV1',NULL,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (3,NULL,'UPDATE',NULL,'1','*','Recipe Match All for VNFs if no custom flow exists','/mso/workflow/services/updateGenericVNFV1',NULL,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (4,'*','CREATE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/CreateVfModule',NULL,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (5,'*','DELETE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/DeleteVfModule',NULL,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (6,'*','UPDATE_VF_MODULE',NULL,'1',NULL,'Recipe Match All for VNFs if no custom flow exists','/mso/async/services/UpdateVfModule',NULL,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (7,NULL,'createInstance',NULL,'1','VID_DEFAULT','VID_DEFAULT recipe to create VNF if no custom BPMN flow is found','/mso/async/services/CreateVnfInfra',NULL,180,'2017-10-05 18:52:03'); +INSERT INTO `vnf_recipe` (`id`, `VF_MODULE_ID`, `ACTION`, `SERVICE_TYPE`, `VERSION_STR`, `VNF_TYPE`, `DESCRIPTION`, `ORCHESTRATION_URI`, `VNF_PARAM_XSD`, `RECIPE_TIMEOUT`, `CREATION_TIMESTAMP`) VALUES (8,NULL,'deleteInstance',NULL,'1','VID_DEFAULT','VID_DEFAULT recipe to delete VNF if no custom BPMN flow is found','/mso/async/services/DeleteVnfInfra',NULL,180,'2017-10-05 18:52:03'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql new file mode 100644 index 00000000..b5063def --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-dns/create_mso_db-demo-dns.sql @@ -0,0 +1,77 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID1','base_vlb.env','1.0','BASE VLB ENV file','parameters:\n vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vlb_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n vlb_private_net_id: zdfw1lb01_private\n ecomp_private_net_id: oam_ecomp\n vlb_private_net_cidr: 192.168.10.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vlb_private_ip_0: 192.168.10.111\n vlb_private_ip_1: 192.168.9.111\n vdns_private_ip_0: 192.168.10.211\n vdns_private_ip_1: 192.168.9.211\n vlb_name_0: zdfw1lb01lb01\n vdns_name_0: zdfw1lb01dns01\n vnf_id: vLoadBalancer_demo_app\n vf_module_id: vLoadBalancer\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vlb_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','MANUAL RECORD','2016-11-14 13:04:07'); + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID2','dnsscaling.env','1.0','DNS Scaling ENV file','parameters:\n vlb_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vlb_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n vlb_private_net_id: zdfw1lb01_private\n ecomp_private_net_id: oam_ecomp\n vlb_private_ip_0: 192.168.10.111\n vlb_private_ip_1: 192.168.9.111\n vdns_private_ip_0: 192.168.10.222\n vdns_private_ip_1: 192.168.9.222\n vdns_name_0: zdfw1lb01dns02\n vnf_id: vLoadBalancer_demo_app\n vf_module_id: vLoadBalancer\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vlb_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','MANUAL RECORD','2016-11-14 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID1','base_vlb.yaml','1.0','Base VLB Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vLoadBalancer/vDNS demo app for OpenECOMP\n\nparameters:\n vlb_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vlb_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n vlb_private_net_id:\n type: string\n label: vLoadBalancer private network name or ID\n description: Private network that connects vLoadBalancer with vDNSs\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n vlb_private_net_cidr:\n type: string\n label: vLoadBalancer private network CIDR\n description: The CIDR of the vLoadBalancer private network\n ecomp_private_net_cidr:\n type: string\n label: ECOMP private network CIDR\n description: The CIDR of the protected private network\n vlb_private_ip_0:\n type: string\n label: vLoadBalancer private IP address towards the private network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs\n vlb_private_ip_1:\n type: string\n label: vLoadBalancer private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components\n vdns_private_ip_0:\n type: string\n label: vDNS private IP address towards the private network\n description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer\n vdns_private_ip_1:\n type: string\n label: vDNS private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vDNS to communicate with ECOMP components\n vlb_name_0:\n type: string\n label: vLoadBalancer name\n description: Name of the vLoadBalancer\n vdns_name_0:\n type: string\n label: vDNS name\n description: Name of the vDNS\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vLoadBalancer Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name: { get_param: key_name }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n vlb_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: vlb_private_net_id }\n\n vlb_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n name: { get_param: vlb_private_net_id }\n network_id: { get_resource: vlb_private_network }\n cidr: { get_param: vlb_private_net_cidr }\n\n vlb_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vlb_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vlb_private_0_port }\n - port: { get_resource: vlb_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __dcae_collector_ip__: { get_param: dcae_collector_ip }\n __local_private_ipaddr__: { get_param: vlb_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n DCAE_COLLECTOR_IP=__dcae_collector_ip__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_lb_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vlb.sh\n chmod +x v_lb_init.sh\n chmod +x vlb.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo \"no\" > config/install.txt\n LOCAL_PUBLIC_IPADDR=$(ifconfig eth0 | grep \"inet addr\" | tr -s \' \' | cut -d\' \' -f3 | cut -d\':\' -f2)\n echo $LOCAL_PUBLIC_IPADDR > config/local_public_ipaddr.txt\n mv vlb.sh /etc/init.d\n update-rc.d vlb.sh defaults\n ./v_lb_init.sh\n\n vlb_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: vlb_private_network }\n fixed_ips: [{\"subnet\": { get_resource: vlb_private_subnet }, \"ip_address\": { get_param: vlb_private_ip_0 }}]\n\n vlb_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vlb_private_ip_1 }}]\n\n vdns_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vdns_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vdns_private_0_port }\n - port: { get_resource: vdns_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __lb_oam_int__ : { get_param: vlb_private_ip_1 }\n __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }\n __local_private_ipaddr__: { get_param: vdns_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n LB_OAM_INT=__lb_oam_int__\n LB_PRIVATE_IPADDR=__lb_private_ipaddr__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vdns.sh\n chmod +x v_dns_init.sh\n chmod +x vdns.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $LB_OAM_INT > config/lb_oam_int.txt\n echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo \"no\" > config/install.txt\n mv vdns.sh /etc/init.d\n update-rc.d vdns.sh defaults\n ./v_dns_init.sh\n\n vdns_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: vlb_private_network }\n fixed_ips: [{\"subnet\": { get_resource: vlb_private_subnet }, \"ip_address\": { get_param: vdns_private_ip_0 }}]\n\n vdns_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vdns_private_ip_1 }}]\n',300,'MANUAL RECORD','2016-11-14 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID2','dnsscaling.yaml','1.0','DNS Scaling Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy a vDNS for OpenECOMP (scaling-up scenario)\n\nparameters:\n vlb_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vlb_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n vlb_private_net_id:\n type: string\n label: vLoadBalancer private network name or ID\n description: Private network that connects vLoadBalancer with vDNSs\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n vlb_private_ip_0:\n type: string\n label: vLoadBalancer private IP address towards the private network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with the vDNSs\n vlb_private_ip_1:\n type: string\n label: vLoadBalancer private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vLoadBalancer to communicate with ECOMP components\n vdns_private_ip_0:\n type: string\n label: vDNS private IP address towards the private network\n description: Private IP address that is assigned to the vDNS to communicate with the vLoadBalancer\n vdns_private_ip_1:\n type: string\n label: vDNS private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vDNS to communicate with ECOMP components\n vdns_name_0:\n type: string\n label: vDNS name\n description: Name of the vDNS\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vLoadBalancer Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n vdns_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vlb_image_name }\n flavor: { get_param: vlb_flavor_name }\n name: { get_param: vdns_name_0 }\n key_name: { get_param: key_name }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vdns_private_0_port }\n - port: { get_resource: vdns_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __lb_oam_int__ : { get_param: vlb_private_ip_1 }\n __lb_private_ipaddr__: { get_param: vlb_private_ip_0 }\n __local_private_ipaddr__: { get_param: vdns_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n LB_OAM_INT=__lb_oam_int__\n LB_PRIVATE_IPADDR=__lb_private_ipaddr__\n LOCAL_PRIVATE_IPADDR=__local_private_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_dns_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vdns.sh\n chmod +x v_dns_init.sh\n chmod +x vdns.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $LB_OAM_INT > config/lb_oam_int.txt\n echo $LB_PRIVATE_IPADDR > config/lb_private_ipaddr.txt\n echo $LOCAL_PRIVATE_IPADDR > config/local_private_ipaddr.txt\n echo \"no\" > config/install.txt\n mv vdns.sh /etc/init.d\n update-rc.d vdns.sh defaults\n ./v_dns_init.sh\n\n vdns_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: vlb_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: vlb_private_net_id }, \"ip_address\": { get_param: vdns_private_ip_0 }}]\n\n vdns_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vdns_private_ip_1 }}]\n',300,'MANUAL RECORD','2016-11-14 13:04:07'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','ecomp_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','ecomp_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vdns_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vdns_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vdsn_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_image_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vlb_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID1','webserver_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','ecomp_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdns_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdns_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdsn_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vlb_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vlb_image_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vlb_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vlb_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','webserver_ip','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('1e34774e-715e-4fd6-bd09-7b654622f35i','dns-service','585822c8-4027-4f84-ba50-e9248606f111','1.0','dns service for unit test','2016-11-14 13:04:07',NULL); + +INSERT INTO `service_to_resource_customizations` (`SERVICE_MODEL_UUID`, `RESOURCE_MODEL_CUSTOMIZATION_UUID`, `MODEL_TYPE`, `CREATION_TIMESTAMP`) VALUES ('1e34774e-715e-4fd6-bd09-7b654622f35i','302aa6be-a9fe-11e7-8b4b-0242ac120002','vnf','2017-10-05 18:51:28'); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f132','1.0','VF_RI1_DNS::module-1',NULL,1,'Artifact-UUID1',NULL,'2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f131'); +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-2::module-1.group','585822c7-4027-4f84-ba50-e9248606f133','1.0','VF_RI1_DNS::module-2',NULL,0,'Artifact-UUID2',NULL,'2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f131'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('30316d81-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID1',NULL,'2017-10-05 18:51:25','1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-1::module-1.group'); +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('303170ae-a9fe-11e7-8b4b-0242ac120002',NULL,0,0,NULL,NULL,'EnvArtifact-UUID2',NULL,'2017-10-05 18:51:25','1e34774e-715e-4fd5-bd08-7b654622f33e.VF_RI1_DNS::module-2::module-1.group'); +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('302aa6be-a9fe-11e7-8b4b-0242ac120002','30316d81-a9fe-11e7-8b4b-0242ac120002','2017-10-05 18:51:26'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('302aa6be-a9fe-11e7-8b4b-0242ac120002','303170ae-a9fe-11e7-8b4b-0242ac120002','2017-10-05 18:51:26'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','dns service for unit test1707MIGRATED','2016-11-14 13:04:07','585822c7-4027-4f84-ba50-e9248606f131',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f112','1.0','DNSResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('302aa6be-a9fe-11e7-8b4b-0242ac120002','DNSResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2017-10-05 18:51:25','585822c7-4027-4f84-ba50-e9248606f131'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-infra.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-infra.sql new file mode 100644 index 00000000..c8610aa6 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-infra.sql @@ -0,0 +1,70 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID2','base_vcpe_infra.env','1.0','base_vcpe_infra ENV file','parameters:\n vcpe_image_name: PUT THE IMAGE NAME HERE (Ubuntu 1604 SUGGESTED)\n vcpe_flavor_name: PUT THE FLAVOR NAME HERE (MEDIUM FLAVOR SUGGESTED)\n public_net_id: PUT THE PUBLIC NETWORK ID HERE\n cpe_signal_net_id: zdfw1cpe01_private\n cpe_signal_subnet_id: zdfw1cpe01_sub_private\n cpe_public_net_id: zdfw1cpe01_public\n cpe_public_subnet_id: zdfw1cpe01_sub_public\n onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE\n onap_private_subnet_id: PUT THE ONAP PRIVATE SUBNETWORK NAME HERE\n onap_private_net_cidr: 10.0.0.0/16\n cpe_signal_net_cidr: 10.4.0.0/24\n cpe_public_net_cidr: 10.2.0.0/24\n vdhcp_private_ip_0: 10.4.0.1\n vdhcp_private_ip_1: 10.0.101.1\n vaaa_private_ip_0: 10.4.0.4\n vaaa_private_ip_1: 10.0.101.2\n vdns_private_ip_0: 10.2.0.1\n vdns_private_ip_1: 10.0.101.3\n vweb_private_ip_0: 10.2.0.10\n vweb_private_ip_1: 10.0.101.40\n mr_ip_addr: 10.0.11.1\n vaaa_name_0: zdcpe1cpe01aaa01\n vdns_name_0: zdcpe1cpe01dns01\n vdhcp_name_0: zdcpe1cpe01dhcp01\n vweb_name_0: zdcpe1cpe01web01\n vnf_id: vCPE_Infrastructure_demo_app\n vf_module_id: vCPE_Intrastructure\n dcae_collector_ip: 10.0.4.1\n dcae_collector_port: 8081\n repo_url_blob: https://nexus.onap.org/content/sites/raw\n repo_url_artifacts: https://nexus.onap.org/content/groups/staging\n demo_artifacts_version: 1.2.0\n install_script_version: 1.2.0-SNAPSHOT\n key_name: vaaa_key\n pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN\n cloud_env: PUT THE CLOUD PROVIDED HERE (openstack or rackspace)\n','MANUAL RECORD','2018-04-28 13:04:07a'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID2','base_vcpe_infra.yaml','1.0','Base VCPE INFRA Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vCPE Infrastructue emlements (vAAA, vDHCP, vDNS_DHCP, webServer)\n\nparameters:\n vcpe_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vcpe_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n onap_private_net_id:\n type: string\n label: ONAP management network name or ID\n description: Private network that connects ONAP components and the VNF\n onap_private_subnet_id:\n type: string\n label: ONAP management sub-network name or ID\n description: Private sub-network that connects ONAP components and the VNF\n onap_private_net_cidr:\n type: string\n label: ONAP private network CIDR\n description: The CIDR of the protected private network\n cpe_signal_net_id:\n type: string\n label: vAAA private network name or ID\n description: Private network that connects vAAA with vDNSs\n cpe_signal_subnet_id:\n type: string\n label: CPE Signal subnet\n description: CPE Signal subnet\n cpe_signal_net_cidr:\n type: string\n label: vAAA private network CIDR\n description: The CIDR of the vAAA private network\n cpe_public_net_id:\n type: string\n label: vCPE Public network (emulates internet) name or ID\n description: Private network that connects vGW to emulated internet\n cpe_public_subnet_id:\n type: string\n label: CPE Public subnet\n description: CPE Public subnet\n cpe_public_net_cidr:\n type: string\n label: vCPE public network CIDR\n description: The CIDR of the vCPE public\n vaaa_private_ip_0:\n type: string\n label: vAAA private IP address towards the CPE_SIGNAL private network\n description: Private IP address that is assigned to the vAAA to communicate with the vCPE components\n vaaa_private_ip_1:\n type: string\n label: vAAA private IP address towards the ONAP management network\n description: Private IP address that is assigned to the vAAA to communicate with ONAP components\n vdns_private_ip_0:\n type: string\n label: vDNS private IP address towards the CPE_PUBLIC private network\n description: Private IP address that is assigned to the vDNS to communicate with the vCPE components\n vdns_private_ip_1:\n type: string\n label: vDNS private IP address towards the ONAP management network\n description: Private IP address that is assigned to the vDNS to communicate with ONAP components\n vdhcp_private_ip_0:\n type: string\n label: vDHCP private IP address towards the CPE_SIGNAL private network\n description: Private IP address that is assigned to the vDHCP to communicate with the vCPE components\n vdhcp_private_ip_1:\n type: string\n label: vDNS private IP address towards the ONAP management network\n description: Private IP address that is assigned to the vDHCP to communicate with ONAP components\n vweb_private_ip_0:\n type: string\n label: vWEB private IP address towards the CPE_PUBLIC private network\n description: Private IP address that is assigned to the vWEB to communicate with the vGWs \n vweb_private_ip_1:\n type: string\n label: vWEB private IP address towards the ONAP management network\n description: Private IP address that is assigned to the vWEB to communicate with ONAP components\n vaaa_name_0:\n type: string\n label: vAAA name\n description: Name of the vAAA\n vdns_name_0:\n type: string\n label: vDNS name\n description: Name of the vDNS\n vdhcp_name_0:\n type: string\n label: vDHCP name\n description: Name of the vDHCP\n vweb_name_0:\n type: string\n label: vWEB name\n description: Name of the vWEB \n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ONAP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vAAA Module ID is provided by ONAP\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n dcae_collector_port:\n type: string\n label: DCAE collector port\n description: Port of the DCAE collector\n mr_ip_addr:\n type: string\n label: Message Router IP address\n description: IP address of the Message Router that for vDHCP configuration \n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n repo_url_blob:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n repo_url_artifacts:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n install_script_version:\n type: string\n label: Installation script version number\n description: Version number of the scripts that install the vFW demo app\n demo_artifacts_version:\n type: string\n label: Artifacts version used in demo vnfs\n description: Artifacts (jar, tar.gz) version used in demo vnfs\n cloud_env:\n type: string\n label: Cloud environment\n description: Cloud environment (e.g., openstack, rackspace)\n\nresources:\n\n random-str:\n type: OS::Heat::RandomString\n properties:\n length: 4\n\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name:\n str_replace:\n template: base_rand\n params:\n base: { get_param: key_name }\n rand: { get_resource: random-str }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n\n vaaa_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: cpe_signal_net_id }\n fixed_ips: [{"subnet": { get_param: cpe_signal_subnet_id }, "ip_address": { get_param: vaaa_private_ip_0 }}]\n\n vaaa_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: onap_private_net_id }\n fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vaaa_private_ip_1 }}]\n\n vaaa_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vaaa_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vaaa_private_0_port }\n - port: { get_resource: vaaa_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __dcae_collector_ip__: { get_param: dcae_collector_ip }\n __dcae_collector_port__: { get_param: dcae_collector_port }\n __cpe_signal_net_ipaddr__: { get_param: vaaa_private_ip_0 }\n __oam_ipaddr__: { get_param: vaaa_private_ip_1 }\n __oam_cidr__: { get_param: onap_private_net_cidr }\n __cpe_signal_net_cidr__: { get_param: cpe_signal_net_cidr }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n template: |\n #!/bin/bash\n\n mkdir /opt/config\n echo "__dcae_collector_ip__" > /opt/config/dcae_collector_ip.txt\n echo "__dcae_collector_port__" > /opt/config/dcae_collector_port.txt\n echo "__cpe_signal_net_ipaddr__" > /opt/config/cpe_signal_net_ipaddr.txt\n echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt\n echo "__oam_cidr__" > /opt/config/oam_cidr.txt\n echo "__cpe_signal_net_cidr__" > /opt/config/cpe_signal_net_cidr.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_aaa_install.sh -o /opt/v_aaa_install.sh\n cd /opt\n chmod +x v_aaa_install.sh\n ./v_aaa_install.sh\n\n\n vdns_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: cpe_public_net_id }\n fixed_ips: [{"subnet": { get_param: cpe_public_subnet_id }, "ip_address": { get_param: vdns_private_ip_0 }}]\n\n vdns_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: onap_private_net_id }\n fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vdns_private_ip_1 }}]\n\n vdns_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vdns_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vdns_private_0_port }\n - port: { get_resource: vdns_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __oam_ipaddr__ : { get_param: vdns_private_ip_1 }\n __cpe_public_net_ipaddr__: { get_param: vdns_private_ip_0 }\n __oam_cidr__: { get_param: onap_private_net_cidr }\n __cpe_public_net_cidr__: { get_param: cpe_public_net_cidr }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n template: |\n #!/bin/bash\n\n mkdir /opt/config\n echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt\n echo "__cpe_public_net_ipaddr__" > /opt/config/cpe_public_net_ipaddr.txt\n echo "__oam_cidr__" > /opt/config/oam_cidr.txt\n echo "__cpe_public_net_cidr__" > /opt/config/cpe_public_net_cidr.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_dns_install.sh -o /opt/v_dns_install.sh\n cd /opt\n chmod +x v_dns_install.sh\n ./v_dns_install.sh\n\n\n vdhcp_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: cpe_signal_net_id }\n fixed_ips: [{"subnet": { get_param: cpe_signal_subnet_id }, "ip_address": { get_param: vdhcp_private_ip_0 }}]\n\n vdhcp_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: onap_private_net_id }\n fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vdhcp_private_ip_1 }}]\n\n vdhcp_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vdhcp_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vdhcp_private_0_port }\n - port: { get_resource: vdhcp_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __oam_ipaddr__ : { get_param: vdhcp_private_ip_1 }\n __cpe_signal_ipaddr__ : { get_param: vdhcp_private_ip_0 }\n __oam_cidr__ : { get_param: onap_private_net_cidr }\n __cpe_signal_net_cidr__ : { get_param: cpe_signal_net_cidr }\n __mr_ip_addr__ : { get_param: mr_ip_addr }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n template: |\n #!/bin/bash\n\n mkdir /opt/config\n echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt\n echo "__cpe_signal_ipaddr__" > /opt/config/cpe_signal_ipaddr.txt\n echo "__oam_cidr__" > /opt/config/oam_cidr.txt\n echo "__cpe_signal_net_cidr__" > /opt/config/cpe_signal_net_cidr.txt\n echo "__mr_ip_addr__" > /opt/config/mr_ip_addr.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_dhcp_install.sh -o /opt/v_dhcp_install.sh\n cd /opt\n chmod +x v_dhcp_install.sh\n ./v_dhcp_install.sh\n\n vweb_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: cpe_public_net_id }\n fixed_ips: [{"subnet": { get_param: cpe_public_subnet_id }, "ip_address": { get_param: vweb_private_ip_0 }}]\n\n vweb_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: onap_private_net_id }\n fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vweb_private_ip_1 }}]\n\n\n vweb_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vweb_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vweb_private_0_port }\n - port: { get_resource: vweb_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __oam_ipaddr__ : { get_param: vweb_private_ip_1 }\n __cpe_public_ipaddr__: { get_param: vweb_private_ip_0 }\n __oam_cidr__: { get_param: onap_private_net_cidr }\n __cpe_public_net_cidr__: { get_param: cpe_public_net_cidr }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n template: |\n #!/bin/bash\n\n mkdir /opt/config\n echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt\n echo "__cpe_public_ipaddr__" > /opt/config/cpe_public_ipaddr.txt\n echo "__oam_cidr__" > /opt/config/oam_cidr.txt\n echo "__cpe_public_net_cidr__" > /opt/config/cpe_public_net_cidr.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_web_install.sh -o /opt/v_web_install.sh\n cd /opt\n chmod +x v_web_install.sh\n ./v_web_install.sh\n',300,'MANUAL RECORD','2018-04-28 13:04:07'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','cloud_env','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','install_script_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','demo_artifacts_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','repo_url_artifacts','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','repo_url_blob','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','dcae_collector_port','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vweb_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdhcp_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdns_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vaaa_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','mr_ip_addr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vweb_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vweb_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdns_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdns_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vaaa_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vaaa_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdhcp_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vdhcp_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','cpe_public_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','cpe_signal_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','onap_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','onap_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','onap_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','cpe_public_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','cpe_public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','cpe_signal_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','cpe_signal_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vcpe_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID2','vcpe_image_name','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('2e34774e-715e-4fd5-bd09-7b654622f35i','infra-service','585822c7-4027-4f84-ba50-e9248606f112','1.0','INFRA service','2018-04-28 13:04:07',NULL); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID2',NULL,'2018-04-28 13:04:07','685822c7-4027-4f84-ba50-e9248606f132'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID2',NULL,'2018-04-28 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2018-04-28 18:52:03'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','INFRA service1707MIGRATED','2018-04-28 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','INFRAResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VFWResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2018-04-28 18:52:03','685822c7-4027-4f84-ba50-e9248606f132'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vbng.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vbng.sql new file mode 100644 index 00000000..baf96327 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vbng.sql @@ -0,0 +1,69 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID5','base_vcpe_vbng.env','1.2.0','base_vbng ENV file','parameters:\n vcpe_image_name: PUT THE IMAGE NAME HERE (Ubuntu 1604 SUGGESTED)\n vcpe_flavor_name: PUT THE FLAVOR NAME HERE (MEDIUM FLAVOR SUGGESTED)\n public_net_id: PUT THE PUBLIC NETWORK ID HERE\n brgemu_bng_private_net_id: zdfw1bngin01_private\n brgemu_bng_private_subnet_id: zdfw1bngin01_sub_private\n bng_gmux_private_net_id: zdfw1bngmux01_private\n bng_gmux_private_subnet_id: zdfw1bngmux01_sub_private\n onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE\n onap_private_subnet_id: PUT THE ONAP PRIVATE SUBNETWORK NAME HERE\n onap_private_net_cidr: 10.0.0.0/16\n cpe_signal_net_id: zdfw1cpe01_private\n cpe_signal_subnet_id: zdfw1cpe01_sub_private\n brgemu_bng_private_net_cidr: 10.3.0.0/24\n bng_gmux_private_net_cidr: 10.1.0.0/24\n cpe_signal_private_net_cidr: 10.4.0.0/24\n vbng_private_ip_0: 10.3.0.1\n vbng_private_ip_1: 10.0.101.10\n vbng_private_ip_2: 10.4.0.3\n vbng_private_ip_3: 10.1.0.10\n vbng_name_0: zdcpe1cpe01bng01\n vnf_id: vCPE_Infrastructure_Metro_vBNG_demo_app\n vf_module_id: vCPE_Intrastructure_Metro_vBNG\n sdnc_ip_addr: 10.0.7.1\n dcae_collector_ip: 10.0.4.1\n dcae_collector_port: 8081\n repo_url_blob: https://nexus.onap.org/content/sites/raw\n repo_url_artifacts: https://nexus.onap.org/content/groups/staging\n demo_artifacts_version: 1.2.0\n install_script_version: 1.2.0-SNAPSHOT\n key_name: vbng_key\n pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN\n cloud_env: PUT THE CLOUD PROVIDED HERE (openstack or rackspace)\n vpp_source_repo_url: https://gerrit.fd.io/r/vpp\n vpp_source_repo_branch: stable/1704\n vpp_patch_url: https://git.onap.org/demo/plain/vnfs/vCPE/vpp-radius-client-for-vbng/src/patches/Vpp-Integrate-FreeRADIUS-Client-for-vBNG.patch','MANUAL RECORD','2018-04-28 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID5','base_vcpe_vbng.yaml','1.0','Base VBNG Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vCPE virtual Broadband Network Gateway (vBNG)\n\nparameters:\n vcpe_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vcpe_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n brgemu_bng_private_net_id:\n type: string\n label: vBNG IN private network name or ID\n description: Private network that connects vBRG to vBNG\n brgemu_bng_private_subnet_id:\n type: string\n label: vBNG IN private sub-network name or ID\n description: vBNG IN private sub-network name or ID\n brgemu_bng_private_net_cidr:\n type: string\n label: vBNG IN private network CIDR\n description: The CIDR of the input side of vBNG private network\n bng_gmux_private_net_id:\n type: string\n label: vBNG vGMUX private network name or ID\n description: Private network that connects vBNG to vGMUX\n bng_gmux_private_subnet_id:\n type: string\n label: vBNG vGMUX private sub-network name or ID\n description: vBNG vGMUX private sub-network name or ID\n bng_gmux_private_net_cidr:\n type: string\n label: vGMUX private network CIDR\n description: The CIDR of the input side of vGMUX private network\n onap_private_net_id:\n type: string\n label: ONAP management network name or ID\n description: Private network that connects ONAP components and the VNF\n onap_private_subnet_id:\n type: string\n label: ONAP management sub-network name or ID\n description: Private sub-network that connects ONAP components and the VNF\n onap_private_net_cidr:\n type: string\n label: ONAP private network CIDR\n description: The CIDR of the protected private network\n cpe_signal_net_id:\n type: string\n label: vCPE private network name or ID\n description: Private network that connects vCPE elements with vCPE infrastructure elements\n cpe_signal_subnet_id:\n type: string\n label: vCPE private sub-network name or ID\n description: vCPE private sub-network name or ID\n cpe_signal_private_net_cidr:\n type: string\n label: vAAA private network CIDR\n description: The CIDR of the vAAA private network\n vbng_private_ip_0:\n type: string\n label: vBNG IN private IP address\n description: Private IP address that is assigned to the vBNG IN\n vbng_private_ip_1:\n type: string\n label: vBNG private IP address towards the ONAP management network\n description: Private IP address that is assigned to the vBNG to communicate with ONAP components\n vbng_private_ip_2:\n type: string\n label: vBNG to CPE_SIGNAL private IP address\n description: Private IP address that is assigned to the vBNG in the CPE_SIGNAL network\n vbng_private_ip_3:\n type: string\n label: vBNG to vGMUX private IP address\n description: Private IP address that is assigned to the vBNG to vGMUX port\n vbng_name_0:\n type: string\n label: vBNG name\n description: Name of the vBNG\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ONAP\n vf_module_id:\n type: string\n label: vCPE module ID\n description: The vCPE Module ID is provided by ONAP\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n dcae_collector_port:\n type: string\n label: DCAE collector port\n description: Port of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n repo_url_blob:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n repo_url_artifacts:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n install_script_version:\n type: string\n label: Installation script version number\n description: Version number of the scripts that install the vFW demo app\n demo_artifacts_version:\n type: string\n label: Artifacts version used in demo vnfs\n description: Artifacts (jar, tar.gz) version used in demo vnfs\n cloud_env:\n type: string\n label: Cloud environment\n description: Cloud environment (e.g., openstack, rackspace)\n vpp_source_repo_url:\n type: string\n label: VPP Source Git Repo\n description: URL for VPP source codes\n vpp_source_repo_branch:\n type: string\n label: VPP Source Git Branch\n description: Git Branch for the VPP source codes\n vpp_patch_url:\n type: string\n label: VPP Patch URL\n description: URL for VPP patch for vBNG\n sdnc_ip_addr:\n type: string\n label: SDNC IP address\n description: IP address of the SDNC\n\nresources:\n\n random-str:\n type: OS::Heat::RandomString\n properties:\n length: 4\n\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name:\n str_replace:\n template: base_rand\n params:\n base: { get_param: key_name }\n rand: { get_resource: random-str }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n\n vbng_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: brgemu_bng_private_net_id }\n fixed_ips: [{"subnet": { get_param: brgemu_bng_private_subnet_id }, "ip_address": { get_param: vbng_private_ip_0 }}]\n\n vbng_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: onap_private_net_id }\n fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vbng_private_ip_1 }}]\n\n vbng_private_2_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: cpe_signal_net_id }\n fixed_ips: [{"subnet": { get_param: cpe_signal_subnet_id }, "ip_address": { get_param: vbng_private_ip_2 }}]\n\n vbng_private_3_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: bng_gmux_private_net_id }\n fixed_ips: [{"subnet": { get_param: bng_gmux_private_subnet_id }, "ip_address": { get_param: vbng_private_ip_3 }}]\n\n vbng_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vbng_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vbng_private_0_port }\n - port: { get_resource: vbng_private_1_port }\n - port: { get_resource: vbng_private_2_port }\n - port: { get_resource: vbng_private_3_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __oam_ipaddr__: { get_param: vbng_private_ip_1 }\n __brgemu_bng_net_ipaddr__: { get_param: vbng_private_ip_0 }\n __cpe_signal_net_ipaddr__: { get_param: vbng_private_ip_2 }\n __bng_gmux_net_ipaddr__: { get_param: vbng_private_ip_3 }\n __oam_cidr__: { get_param: onap_private_net_cidr }\n __brgemu_bng_cidr__: { get_param: brgemu_bng_private_net_cidr }\n __cpe_signal_cidr__: { get_param: cpe_signal_private_net_cidr }\n __bng_gmux_cidr__: { get_param: bng_gmux_private_net_cidr }\n __dcae_collector_ip__: { get_param: dcae_collector_ip }\n __dcae_collector_port__: { get_param: dcae_collector_port }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n __vpp_source_repo_url__ : { get_param: vpp_source_repo_url }\n __vpp_source_repo_branch__ : { get_param: vpp_source_repo_branch }\n __vpp_patch_url__ : { get_param: vpp_patch_url }\n __sdnc_ip_addr__: { get_param: sdnc_ip_addr }\n template: |\n #!/bin/bash\n\n mkdir /opt/config\n echo "__brgemu_bng_net_ipaddr__" > /opt/config/brgemu_bng_net_ipaddr.txt\n echo "__cpe_signal_net_ipaddr__" > /opt/config/cpe_signal_net_ipaddr.txt\n echo "__bng_gmux_net_ipaddr__" > /opt/config/bng_gmux_net_ipaddr.txt\n echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt\n echo "__oam_cidr__" > /opt/config/oam_cidr.txt\n echo "__bng_gmux_cidr__" > /opt/config/bng_gmux_net_cidr.txt\n echo "__cpe_signal_cidr__" > /opt/config/cpe_signal_net_cidr.txt\n echo "__brgemu_bng_cidr__" > /opt/config/brgemu_bng_net_cidr.txt\n echo "__dcae_collector_ip__" > /opt/config/dcae_collector_ip.txt\n echo "__dcae_collector_port__" > /opt/config/dcae_collector_port.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n echo "__vpp_source_repo_url__" > /opt/config/vpp_source_repo_url.txt\n echo "__vpp_source_repo_branch__" > /opt/config/vpp_source_repo_branch.txt\n echo "__vpp_patch_url__" > /opt/config/vpp_patch_url.txt\n echo "__sdnc_ip_addr__" > /opt/config/sdnc_ip_addr.txt\n\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_bng_install.sh -o /opt/v_bng_install.sh\n cd /opt\n chmod +x v_bng_install.sh\n ./v_bng_install.sh\n',300,'MANUAL RECORD','2018-04-27 13:04:07'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vpp_patch_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','cloud_env','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','install_script_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','demo_artifacts_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','repo_url_artifacts','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','repo_url_blob','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','dcae_collector_port','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','sdnc_ip_addr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vbng_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vbng_private_ip_3','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vbng_private_ip_2','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vbng_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vbng_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','cpe_signal_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','bng_gmux_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','brgemu_bng_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','cpe_signal_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','cpe_signal_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','onap_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','onap_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','onap_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','bng_gmux_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','bng_gmux_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','brgemu_bng_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','brgemu_bng_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vcpe_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID5','vcpe_image_name','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('a94f8ff8-442d-11e8-8a14-0320c6d83cc0','vbng-service','fba765a0-442d-11e8-b89d-57dec24c6cba','1.0','VBNG service','2018-04-28 13:04:07',NULL); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID5',NULL,'2018-04-28 13:04:07','685822c7-4027-4f84-ba50-e9248606f132'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID5',NULL,'2018-04-28 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2018-04-28 18:52:03'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','VBNG service1707MIGRATED','2018-04-28 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VBNGResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2018-04-28 18:52:03','685822c7-4027-4f84-ba50-e9248606f132'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vbrgemu.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vbrgemu.sql new file mode 100644 index 00000000..36aaa99e --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vbrgemu.sql @@ -0,0 +1,58 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID6','base_vcpe_vbrgemu.env','1.0','base_vcpe_vbrgemu ENV file','parameters:\n vcpe_image_name: PUT THE IMAGE NAME HERE (Ubuntu 1604 or vbrg-base-ubuntu-16-04 SUGGESTED)\n vcpe_flavor_name: PUT THE FLAVOR NAME HERE (MEDIUM FLAVOR SUGGESTED)\n compile_state: PUT THE COMPILE STATE (done, auto or build)\n public_net_id: PUT THE PUBLIC NETWORK ID HERE\n vbrgemu_bng_private_net_id: zdfw1bngin01_private\n vbrgemu_bng_private_subnet_id: zdfw1bngin01_sub_private\n vbrgemu_bng_private_net_cidr: 10.3.0.0/24\n vbrgemu_private_ip_0: 10.3.0.4\n sdnc_ip: 10.0.7.1\n vbrgemu_name_0: zdcpe1cpe01brgemu01\n vnf_id: vCPE_Infrastructure_BGREMU_demo_app\n vf_module_id: vCPE_Customer_BRGEMU\n repo_url_blob: https://nexus.onap.org/content/sites/raw\n repo_url_artifacts: https://nexus.onap.org/content/groups/staging\n demo_artifacts_version: 1.2.0\n install_script_version: 1.2.0-SNAPSHOT\n key_name: vbrgemu_key\n pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh\n cloud_env: PUT THE CLOUD PROVIDED HERE (openstack or rackspace)\n vpp_source_repo_url: https://gerrit.fd.io/r/vpp\n vpp_source_repo_branch: stable/1704\n hc2vpp_source_repo_url: https://gerrit.fd.io/r/hc2vpp\n hc2vpp_source_repo_branch: stable/1704\n vpp_patch_url: https://git.onap.org/demo/plain/vnfs/vCPE/vpp-option-82-for-vbrg/src/patches/VPP-Add-Option82-Nat-Filter-For-vBRG.patch\n ','MANUAL RECORD','2018-04-28 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID6','base_vcpe_vbrgemu.yaml','1.0','Base VBRGEMU Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vCPE vBRG Emulator (vBRGEMU)\n\nparameters:\n vcpe_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vcpe_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n vbrgemu_bng_private_net_id:\n type: string\n label: vBNG private network name or ID\n description: Private network that connects vBRGEMU to vBNG\n vbrgemu_bng_private_subnet_id:\n type: string\n label: vBNG private sub-network name or ID\n description: vBNG private sub-network name or ID\n vbrgemu_bng_private_net_cidr:\n type: string\n label: vBNG IN private network CIDR\n description: The CIDR of the input side of vBNG private network\n vbrgemu_private_ip_0:\n type: string\n label: vGW private IP address\n description: Private IP address towards the BRGEMU-BNG network\n vbrgemu_name_0:\n type: string\n label: vGW name\n description: Name of the vGW\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ONAP\n vf_module_id:\n type: string\n label: vCPE module ID\n description: The vCPE Module ID is provided by ONAP\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n repo_url_blob:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n repo_url_artifacts:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n install_script_version:\n type: string\n label: Installation script version number\n description: Version number of the scripts that install the vFW demo app\n demo_artifacts_version:\n type: string\n label: Artifacts version used in demo vnfs\n description: Artifacts (jar, tar.gz) version used in demo vnfs\n cloud_env:\n type: string\n label: Cloud environment\n description: Cloud environment (e.g., openstack, rackspace)\n vpp_source_repo_url:\n type: string\n label: VPP Source Git Repo\n description: URL for VPP source codes\n vpp_source_repo_branch:\n type: string\n label: VPP Source Git Branch\n description: Git Branch for the VPP source codes\n hc2vpp_source_repo_url:\n type: string\n label: Honeycomb Source Git Repo\n description: URL for Honeycomb source codes\n hc2vpp_source_repo_branch:\n type: string\n label: Honeycomb Source Git Branch\n description: Git Branch for the Honeycomb source codes\n vpp_patch_url:\n type: string\n label: VPP Patch URL\n description: URL for VPP patch for vBRG Emulator\n sdnc_ip:\n type: string\n label: SDNC ip address\n description: SDNC ip address used to set NAT\n compile_state:\n type: string\n label: Compile State\n description: State to compile code or not\n\nresources:\n\n random-str:\n type: OS::Heat::RandomString\n properties:\n length: 4\n\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name:\n str_replace:\n template: base_rand\n params:\n base: { get_param: key_name }\n rand: { get_resource: random-str }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n vbrgemu_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: vbrgemu_bng_private_net_id }\n fixed_ips: [{"subnet": { get_param: vbrgemu_bng_private_subnet_id }, "ip_address": { get_param: vbrgemu_private_ip_0 }}]\n\n vbrgemu_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vbrgemu_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vbrgemu_private_0_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __brgemu_bng_private_net_cidr__: { get_param: vbrgemu_bng_private_net_cidr }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n __vpp_source_repo_url__ : { get_param: vpp_source_repo_url }\n __vpp_source_repo_branch__ : { get_param: vpp_source_repo_branch }\n __hc2vpp_source_repo_url__ : { get_param: hc2vpp_source_repo_url }\n __hc2vpp_source_repo_branch__ : { get_param: hc2vpp_source_repo_branch }\n __vpp_patch_url__ : { get_param: vpp_patch_url }\n __sdnc_ip__ : { get_param: sdnc_ip }\n __compile_state__ : { get_param: compile_state }\n template: |\n #!/bin/bash\n\n mkdir /opt/config\n echo "__brgemu_bng_private_net_cidr__" > /opt/config/brgemu_bng_private_net_cidr.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n echo "__vpp_source_repo_url__" > /opt/config/vpp_source_repo_url.txt\n echo "__vpp_source_repo_branch__" > /opt/config/vpp_source_repo_branch.txt\n echo "__hc2vpp_source_repo_url__" > /opt/config/hc2vpp_source_repo_url.txt\n echo "__hc2vpp_source_repo_branch__" > /opt/config/hc2vpp_source_repo_branch.txt\n echo "__vpp_patch_url__" > /opt/config/vpp_patch_url.txt\n echo "__sdnc_ip__" > /opt/config/sdnc_ip.txt\n echo "__compile_state__" > /opt/config/compile_state.txt\n\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_brgemu_install.sh -o /opt/v_brgemu_install.sh\n cd /opt\n chmod +x v_brgemu_install.sh\n ./v_brgemu_install.sh\n ', 300, 'MANUAL RECORD', '2018-04-28 13:04:07'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vpp_patch_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','hc2vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','hc2vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','cloud_env','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','install_script_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','demo_artifacts_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','repo_url_artifacts','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','repo_url_blob','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vbrgemu_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','sdnc_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vbrgemu_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vbrgemu_bng_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vbrgemu_bng_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vbrgemu_bng_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','compile_state','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vcpe_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID6','vcpe_image_name','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('a94f8ff8-442d-11e8-8a14-0320c6d83cc0','vbrgemu-service','fba765a0-442d-11e8-b89d-57dec24c6cba','1.0','VBRGEMU service','2018-04-28 13:04:07',NULL); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID6',NULL,'2018-04-28 13:04:07','685822c7-4027-4f84-ba50-e9248606f132'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID6',NULL,'2018-04-28 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2018-04-28 18:52:03'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','VBRGEMU service1707MIGRATED','2018-04-28 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VBRGEMUResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2018-04-28 18:52:03','685822c7-4027-4f84-ba50-e9248606f132'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgmux.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgmux.sql new file mode 100644 index 00000000..169ff71d --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgmux.sql @@ -0,0 +1,71 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID7','base_vcpe_vgw.env','1.0','base_vcpe_vgmux ENV file','parameters:\n vcpe_image_name: PUT THE IMAGE NAME HERE (Ubuntu 1604 SUGGESTED)\n vcpe_flavor_name: PUT THE FLAVOR NAME HERE (MEDIUM FLAVOR SUGGESTED)\n public_net_id: PUT THE PUBLIC NETWORK ID HERE\n bng_gmux_private_net_id: zdfw1bngmux01_private\n bng_gmux_private_subnet_id: zdfw1bngmux01_sub_private\n mux_gw_private_net_id: zdfw1muxgw01_private\n mux_gw_private_subnet_id: zdfw1muxgw01_sub_private\n onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE\n onap_private_subnet_id: PUT THE ONAP PRIVATE SUBNETWORK NAME HERE\n onap_private_net_cidr: 10.0.0.0/16\n bng_gmux_private_net_cidr: 10.1.0.0/24\n mux_gw_private_net_cidr: 10.5.0.0/24\n brgemu_bng_private_net_cidr: 10.3.0.0/24\n vgmux_private_ip_0: 10.1.0.20\n vgmux_private_ip_1: 10.0.101.20\n vgmux_private_ip_2: 10.5.0.20\n vgmux_name_0: zdcpe1cpe01mux01\n vnf_id: vCPE_Infrastructure_vGMUX_demo_app\n vf_module_id: vCPE_Intrastructure_Metro_vGMUX\n bng_gmux_private_ip: 10.1.0.10\n dcae_collector_ip: 10.0.4.1\n dcae_collector_port: 8081\n repo_url_blob: https://nexus.onap.org/content/sites/raw\n repo_url_artifacts: https://nexus.onap.org/content/groups/staging\n demo_artifacts_version: 1.2.0\n install_script_version: 1.2.0-SNAPSHOT\n key_name: vgmux_key\n pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN\n cloud_env: PUT THE CLOUD PROVIDED HERE (openstack or rackspace)\n vpp_source_repo_url: https://gerrit.fd.io/r/vpp\n vpp_source_repo_branch: stable/1704\n hc2vpp_source_repo_url: https://gerrit.fd.io/r/hc2vpp\n hc2vpp_source_repo_branch: stable/1704\n vpp_patch_url: https://git.onap.org/demo/plain/vnfs/vCPE/vpp-ves-agent-for-vgmux/src/patches/Vpp-Add-VES-agent-for-vG-MUX.patch\n hc2vpp_patch_url: https://git.onap.org/demo/plain/vnfs/vCPE/vpp-ves-agent-for-vgmux/src/patches/Hc2vpp-Add-VES-agent-for-vG-MUX.patch\n libevel_patch_url: https://git.onap.org/demo/plain/vnfs/vCPE/vpp-ves-agent-for-vgmux/src/patches/vCPE-vG-MUX-libevel-fixup.patch\n ','MANUAL RECORD','2018-04-28 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID7','base_vcpe_vgmux.yaml','1.0','Base VGMUX Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vCPE Infrastructue Metro vGMUX\n\nparameters:\n vcpe_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vcpe_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n bng_gmux_private_net_id:\n type: string\n label: vBNG vGMUX private network name or ID\n description: Private network that connects vBNG to vGMUX\n bng_gmux_private_subnet_id:\n type: string\n label: vBNG vGMUX private sub-network name or ID\n description: vBNG vGMUX private sub-network name or ID\n bng_gmux_private_net_cidr:\n type: string\n label: vBNG vGMUX private network CIDR\n description: The CIDR of the vBNG-vGMUX private network\n mux_gw_private_net_id:\n type: string\n label: vGMUX vGWs network name or ID\n description: Private network that connects vGMUX to vGWs\n mux_gw_private_subnet_id:\n type: string\n label: vGMUX vGWs sub-network name or ID\n description: vGMUX vGWs sub-network name or ID\n mux_gw_private_net_cidr:\n type: string\n label: vGMUX private network CIDR\n description: The CIDR of the vGMUX private network\n brgemu_bng_private_net_cidr:\n type: string\n label: vBRG vBNG private network CIDR\n description: The CIDR of the vBRG-vBNG private network\n onap_private_net_id:\n type: string\n label: ONAP management network name or ID\n description: Private network that connects ONAP components and the VNF\n onap_private_subnet_id:\n type: string\n label: ONAP management sub-network name or ID\n description: Private sub-network that connects ONAP components and the VNF\n onap_private_net_cidr:\n type: string\n label: ONAP private network CIDR\n description: The CIDR of the protected private network\n vgmux_private_ip_0:\n type: string\n label: vGMUX private IP address towards the vBNG-vGMUX private network\n description: Private IP address that is assigned to the vGMUX to communicate with the vBNG\n vgmux_private_ip_1:\n type: string\n label: vGMUX private IP address towards the ONAP management network\n description: Private IP address that is assigned to the vGMUX to communicate with ONAP components\n vgmux_private_ip_2:\n type: string\n label: vGMUX private IP address towards the vGMUX-vGW private network\n description: Private IP address that is assigned to the vGMUX to communicate with vGWs\n vgmux_name_0:\n type: string\n label: vGMUX name\n description: Name of the vGMUX\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ONAP\n vf_module_id:\n type: string\n label: vCPE module ID\n description: The vCPE Module ID is provided by ONAP\n bng_gmux_private_ip:\n type: string\n label: vBNG private IP address towards the vBNG-vGMUX private network\n description: Private IP address that is assigned to the vBNG to communicate with the vGMUX\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n dcae_collector_port:\n type: string\n label: DCAE collector port\n description: Port of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n repo_url_blob:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n repo_url_artifacts:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n install_script_version:\n type: string\n label: Installation script version number\n description: Version number of the scripts that install the vFW demo app\n demo_artifacts_version:\n type: string\n label: Artifacts version used in demo vnfs\n description: Artifacts (jar, tar.gz) version used in demo vnfs\n cloud_env:\n type: string\n label: Cloud environment\n description: Cloud environment (e.g., openstack, rackspace)\n vpp_source_repo_url:\n type: string\n label: VPP Source Git Repo\n description: URL for VPP source codes\n vpp_source_repo_branch:\n type: string\n label: VPP Source Git Branch\n description: Git Branch for the VPP source codes\n hc2vpp_source_repo_url:\n type: string\n label: Honeycomb Source Git Repo\n description: URL for Honeycomb source codes\n hc2vpp_source_repo_branch:\n type: string\n label: Honeycomb Source Git Branch\n description: Git Branch for the Honeycomb source codes\n vpp_patch_url:\n type: string\n label: VPP Patch URL\n description: URL for VPP patch for vG-MUX\n hc2vpp_patch_url:\n type: string\n label: Honeycomb Patch URL\n description: URL for Honeycomb patch for vG-MUX\n libevel_patch_url:\n type: string\n label: libevel Patch URL\n description: URL for libevel patch for vG-MUX\n\n\nresources:\n\n random-str:\n type: OS::Heat::RandomString\n properties:\n length: 4\n\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name:\n str_replace:\n template: base_rand\n params:\n base: { get_param: key_name }\n rand: { get_resource: random-str }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n\n vgmux_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: bng_gmux_private_net_id }\n fixed_ips: [{"subnet": { get_param: bng_gmux_private_subnet_id }, "ip_address": { get_param: vgmux_private_ip_0 }}]\n\n vgmux_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: onap_private_net_id }\n fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vgmux_private_ip_1 }}]\n\n vgmux_private_2_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: mux_gw_private_net_id }\n fixed_ips: [{"subnet": { get_param: mux_gw_private_subnet_id }, "ip_address": { get_param: vgmux_private_ip_2 }}]\n\n vgmux_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vgmux_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vgmux_private_0_port }\n - port: { get_resource: vgmux_private_1_port }\n - port: { get_resource: vgmux_private_2_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __mux_to_bng_net_ipaddr__ : { get_param: vgmux_private_ip_0 }\n __oam_ipaddr__ : { get_param: vgmux_private_ip_1 }\n __mux_gw_net_ipaddr__ : { get_param: vgmux_private_ip_2 }\n __bng_to_mux_ipaddr__ : { get_param: bng_gmux_private_ip }\n __bng_mux_net_cidr__ : { get_param: bng_gmux_private_net_cidr }\n __oam_cidr__ : { get_param: onap_private_net_cidr }\n __mux_gw_net_cidr__ : { get_param: mux_gw_private_net_cidr }\n __brg_bng_net_cidr__ : { get_param: brgemu_bng_private_net_cidr }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n __vpp_source_repo_url__ : { get_param: vpp_source_repo_url }\n __vpp_source_repo_branch__ : { get_param: vpp_source_repo_branch }\n __hc2vpp_source_repo_url__ : { get_param: hc2vpp_source_repo_url }\n __hc2vpp_source_repo_branch__ : { get_param: hc2vpp_source_repo_branch }\n __vpp_patch_url__ : { get_param: vpp_patch_url }\n __hc2vpp_patch_url__ : { get_param: hc2vpp_patch_url }\n __libevel_patch_url__ : { get_param: libevel_patch_url }\n template: |\n #!/bin/bash\n\n mkdir /opt/config\n echo "__mux_to_bng_net_ipaddr__" > /opt/config/mux_to_bng_net_ipaddr.txt\n echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt\n echo "__mux_gw_net_ipaddr__" > /opt/config/mux_gw_net_ipaddr.txt\n echo "__bng_to_mux_ipaddr__ " > /opt/config/bng_to_mux_net_ipaddr.txt\n echo "__bng_mux_net_cidr__" > /opt/config/bng_mux_net_cidr.txt\n echo "__oam_cidr__" > /opt/config/oam_cidr.txt\n echo "__mux_gw_net_cidr__" > /opt/config/mux_gw_net_cidr.txt\n echo "__brg_bng_net_cidr__" > /opt/config/brg_bng_net_cidr.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n echo "__vpp_source_repo_url__" > /opt/config/vpp_source_repo_url.txt\n echo "__vpp_source_repo_branch__" > /opt/config/vpp_source_repo_branch.txt\n echo "__vpp_patch_url__" > /opt/config/vpp_patch_url.txt\n echo "__hc2vpp_source_repo_url__" > /opt/config/hc2vpp_source_repo_url.txt\n echo "__hc2vpp_source_repo_branch__" > /opt/config/hc2vpp_source_repo_branch.txt\n echo "__hc2vpp_patch_url__" > /opt/config/hc2vpp_patch_url.txt\n echo "__libevel_patch_url__" > /opt/config/libevel_patch_url.txt\n\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_gmux_install.sh -o /opt/v_gmux_install.sh\n cd /opt\n chmod +x v_gmux_install.sh\n ./v_gmux_install.sh\n',300, 'MANUAL RECORD', '2018-04-28 13:04:07'); + + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','libevel_patch_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','hc2vpp_patch_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vpp_patch_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','hc2vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','hc2vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','cloud_env','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','install_script_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','demo_artifacts_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','repo_url_artifacts','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','repo_url_blob','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','dcae_collector_port','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','bng_gmux_private_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vgmux_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vgmux_private_ip_2','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vgmux_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vgmux_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','brgemu_bng_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','mux_gw_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','bng_gmux_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','onap_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','onap_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','onap_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','mux_gw_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','mux_gw_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','bng_gmux_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','bng_gmux_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vcpe_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID7','vcpe_image_name','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('a94f8ff8-442d-11e8-8a14-0320c6d83cc0','vgmux-service','fba765a0-442d-11e8-b89d-57dec24c6cba','1.0','VGMUX service','2018-04-28 13:04:07',NULL); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID7',NULL,'2018-04-28 13:04:07','685822c7-4027-4f84-ba50-e9248606f132'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID7',NULL,'2018-04-28 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2018-04-28 18:52:03'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','VGMUX service1707MIGRATED','2018-04-28 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VGMUXResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2018-04-28 18:52:03','685822c7-4027-4f84-ba50-e9248606f132'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgw.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgw.sql new file mode 100644 index 00000000..85173b44 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vCPE/create_mso_db-demo-vCPE-vgw.sql @@ -0,0 +1,67 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID4','base_vcpe_vgw.env','1.0','base_vgw ENV file','parameters:\nvcpe_image_name: PUT THE IMAGE NAME HERE (Ubuntu 1604 SUGGESTED)\n vcpe_flavor_name: PUT THE FLAVOR NAME HERE (MEDIUM FLAVOR SUGGESTED)\n public_net_id: PUT THE PUBLIC NETWORK ID HERE\n mux_gw_private_net_id: zdfw1muxgw01_private\n mux_gw_private_subnet_id: zdfw1muxgw01_sub_private\n mux_gw_private_net_cidr: 10.5.0.0/24\n cpe_public_net_id: zdfw1cpe01_public\n cpe_public_subnet_id: zdfw1cpe01_sub_public\n cpe_public_net_cidr: 10.2.0.0/24\n onap_private_net_id: PUT THE ONAP PRIVATE NETWORK NAME HERE\n onap_private_subnet_id: PUT THE ONAP PRIVATE SUBNETWORK NAME HERE\n onap_private_net_cidr: 10.0.0.0/16\n vgw_private_ip_0: 10.5.0.21\n vgw_private_ip_1: 10.0.101.30\n vgw_private_ip_2: 10.2.0.3\n vgw_name_0: zdcpe1cpe01gw01\n vnf_id: vCPE_Infrastructure_GW_demo_app\n vf_module_id: vCPE_Customer_GW\n mux_ip_addr: 10.5.0.20\n vg_vgmux_tunnel_vni: 100\n dcae_collector_ip: 10.0.4.102\n dcae_collector_port: 8080\n repo_url_blob: https://nexus.onap.org/content/sites/raw\n repo_url_artifacts: https://nexus.onap.org/content/groups/staging\n demo_artifacts_version: 1.2.0\n install_script_version: 1.2.0-SNAPSHOT\n key_name: vgw_key\n pub_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQXYJYYi3/OUZXUiCYWdtc7K0m5C0dJKVxPG0eI8EWZrEHYdfYe6WoTSDJCww+1qlBSpA5ac/Ba4Wn9vh+lR1vtUKkyIC/nrYb90ReUd385Glkgzrfh5HdR5y5S2cL/Frh86lAn9r6b3iWTJD8wBwXFyoe1S2nMTOIuG4RPNvfmyCTYVh8XTCCE8HPvh3xv2r4egawG1P4Q4UDwk+hDBXThY2KS8M5/8EMyxHV0ImpLbpYCTBA6KYDIRtqmgS6iKyy8v2D1aSY5mc9J0T5t9S2Gv+VZQNWQDDKNFnxqYaAo1uEoq/i1q63XC5AD3ckXb2VT6dp23BQMdDfbHyUWfJN\n cloud_env: PUT THE CLOUD PROVIDED HERE (openstack or rackspace)\n vpp_source_repo_url: https://gerrit.fd.io/r/vpp\n vpp_source_repo_branch: stable/1704\n hc2vpp_source_repo_url: https://gerrit.fd.io/r/hc2vpp\n hc2vpp_source_repo_branch: stable/1704 ','MANUAL RECORD','2018-04-19 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID4','base_vcpe_vgw.yaml','1.0','Base VGW Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vCPE vGateway(vG) \n\n parameters:\n vcpe_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vcpe_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n mux_gw_private_net_id:\n type: string\n label: vGMUX private network name or ID\n description: Private network that connects vGMUX to vGWs\n mux_gw_private_subnet_id:\n type: string\n label: vGMUX private sub-network name or ID\n description: vGMUX private sub-network name or ID\n mux_gw_private_net_cidr:\n type: string\n label: vGMUX private network CIDR\n description: The CIDR of the vGMUX private network\n onap_private_net_id:\n type: string\n label: ONAP management network name or ID\n description: Private network that connects ONAP components and the VNF\n onap_private_subnet_id:\n type: string\n label: ONAP management sub-network name or ID\n description: Private sub-network that connects ONAP components and the VNF\n onap_private_net_cidr:\n type: string\n label: ONAP private network CIDR\n description: The CIDR of the protected private network\n cpe_public_net_id:\n type: string\n label: vCPE network that emulates internetmanagement name or ID\n description: Private network that connects vGW to emulated internet\n cpe_public_subnet_id:\n type: string\n label: vCPE Public subnet\n description: vCPE Public subnet\n cpe_public_net_cidr:\n type: string\n label: vCPE public network CIDR\n description: The CIDR of the vCPE public\n vgw_private_ip_0:\n type: string\n label: vGW private IP address towards the vGMUX\n description: Private IP address that is assigned to the vGW to communicate with vGMUX\n vgw_private_ip_1:\n type: string\n label: vGW private IP address towards the ONAP management network\n description: Private IP address that is assigned to the vGW to communicate with ONAP components\n vgw_private_ip_2:\n type: string\n label: vGW private IP address towards the vCPE public network\n description: Private IP address that is assigned to the vGW to communicate with vCPE public network\n vgw_name_0:\n type: string\n label: vGW name\n description: Name of the vGW\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ONAP\n vf_module_id:\n type: string\n label: vCPE module ID\n description: The vCPE Module ID is provided by ONAP\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n dcae_collector_port:\n type: string\n label: DCAE collector port\n description: Port of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n repo_url_blob:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n repo_url_artifacts:\n type: string\n label: Repository URL\n description: URL of the repository that hosts the demo packages\n install_script_version:\n type: string\n label: Installation script version number\n description: Version number of the scripts that install the vFW demo app\n demo_artifacts_version:\n type: string\n label: Artifacts version used in demo vnfs\n description: Artifacts (jar, tar.gz) version used in demo vnfs\n cloud_env:\n type: string\n label: Cloud environment\n description: Cloud environment (e.g., openstack, rackspace)\n vpp_source_repo_url:\n type: string\n label: VPP Source Git Repo\n description: URL for VPP source codes\n vpp_source_repo_branch:\n type: string\n label: VPP Source Git Branch\n description: Git Branch for the VPP source codes\n hc2vpp_source_repo_url:\n type: string\n label: Honeycomb Source Git Repo\n description: URL for Honeycomb source codes\n hc2vpp_source_repo_branch:\n type: string\n label: Honeycomb Source Git Branch\n description: Git Branch for the Honeycomb source codes\n mux_ip_addr:\n type: string\n label: vGMUX IP address\n description: IP address of vGMUX\n vg_vgmux_tunnel_vni:\n type: number\n label: vG-vGMUX tunnel vni\n description: vni value of vG-vGMUX vxlan tunnel\n\n#############\n# #\n# RESOURCES #\n# #\n#############\n\nresources:\n\n random-str:\n type: OS::Heat::RandomString\n properties:\n length: 4\n\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name:\n str_replace:\n template: base_rand\n params:\n base: { get_param: key_name }\n rand: { get_resource: random-str }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n # Virtual GW Instantiation\n vgw_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: mux_gw_private_net_id }\n fixed_ips: [{"subnet": { get_param: mux_gw_private_subnet_id }, "ip_address": { get_param: vgw_private_ip_0 }}]\n\n vgw_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: onap_private_net_id }\n fixed_ips: [{"subnet": { get_param: onap_private_subnet_id }, "ip_address": { get_param: vgw_private_ip_1 }}]\n\n vgw_private_2_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: cpe_public_net_id}\n fixed_ips: [{"subnet": { get_param: cpe_public_subnet_id }, "ip_address": { get_param: vgw_private_ip_2 }}]\n\n vgw_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vcpe_image_name }\n flavor: { get_param: vcpe_flavor_name }\n name: { get_param: vgw_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vgw_private_0_port }\n - port: { get_resource: vgw_private_1_port }\n - port: { get_resource: vgw_private_2_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __mux_gw_private_net_ipaddr__ : { get_param: vgw_private_ip_0 }\n __oam_ipaddr__ : { get_param: vgw_private_ip_1 }\n __oam_cidr__ : { get_param: onap_private_net_cidr }\n __cpe_public_net_cidr__ : { get_param: cpe_public_net_cidr }\n __mux_gw_private_net_cidr__ : { get_param: mux_gw_private_net_cidr }\n __repo_url_blob__ : { get_param: repo_url_blob }\n __repo_url_artifacts__ : { get_param: repo_url_artifacts }\n __demo_artifacts_version__ : { get_param: demo_artifacts_version }\n __install_script_version__ : { get_param: install_script_version }\n __cloud_env__ : { get_param: cloud_env }\n __vpp_source_repo_url__ : { get_param: vpp_source_repo_url }\n __vpp_source_repo_branch__ : { get_param: vpp_source_repo_branch }\n __hc2vpp_source_repo_url__ : { get_param: hc2vpp_source_repo_url }\n __hc2vpp_source_repo_branch__ : { get_param: hc2vpp_source_repo_branch }\n __mux_ip_addr__: { get_param: mux_ip_addr }\n __vg_vgmux_tunnel_vni__: { get_param: vg_vgmux_tunnel_vni }\n template: |\n #!/bin/bash\n\n # Create configuration files\n mkdir /opt/config\n echo "__oam_ipaddr__" > /opt/config/oam_ipaddr.txt\n echo "__oam_cidr__" > /opt/config/oam_cidr.txt\n echo "__cpe_public_net_cidr__" > /opt/config/cpe_public_net_cidr.txt\n echo "__mux_gw_private_net_ipaddr__" > /opt/config/mux_gw_private_net_ipaddr.txt\n echo "__mux_gw_private_net_cidr__" > /opt/config/mux_gw_private_net_cidr.txt\n echo "__repo_url_blob__" > /opt/config/repo_url_blob.txt\n echo "__repo_url_artifacts__" > /opt/config/repo_url_artifacts.txt\n echo "__demo_artifacts_version__" > /opt/config/demo_artifacts_version.txt\n echo "__install_script_version__" > /opt/config/install_script_version.txt\n echo "__cloud_env__" > /opt/config/cloud_env.txt\n echo "__vpp_source_repo_url__" > /opt/config/vpp_source_repo_url.txt\n echo "__vpp_source_repo_branch__" > /opt/config/vpp_source_repo_branch.txt\n echo "__hc2vpp_source_repo_url__" > /opt/config/hc2vpp_source_repo_url.txt\n echo "__hc2vpp_source_repo_branch__" > /opt/config/hc2vpp_source_repo_branch.txt\n echo "__mux_ip_addr__" > /opt/config/mux_ip_addr.txt\n echo "__vg_vgmux_tunnel_vni__" > /opt/config/vg_vgmux_tunnel_vni.txt\n\n # Download and run install script\n curl -k __repo_url_blob__/org.onap.demo/vnfs/vcpe/__install_script_version__/v_gw_install.sh -o /opt/v_gw_install.sh\n cd /opt\n chmod +x v_gw_install.sh\n ./v_gw_install.sh\n\n', 300, 'MANUAL RECORD', '2018-04-19 13:04:07'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','hc2vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','hc2vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vpp_source_repo_branch','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vpp_source_repo_url','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','cloud_env','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','install_script_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','demo_artifacts_version','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','repo_url_artifacts','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','repo_url_blob','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','dcae_collector_port','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vg_vgmux_tunnel_vni','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','mux_ip_addr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vgw_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vgw_private_ip_2','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vgw_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vgw_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','onap_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','onap_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','onap_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','cpe_public_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','cpe_public_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','cpe_public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','mux_gw_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','mux_gw_private_subnet_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','mux_gw_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vcpe_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID4','vcpe_image_name','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('a94f8ff8-442d-11e8-8a14-0320c6d83cc0','vgw-service','fba765a0-442d-11e8-b89d-57dec24c6cba','1.0','VGW service','2018-04-19 13:04:07',NULL); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID4',NULL,'2018-04-19 13:04:07','685822c7-4027-4f84-ba50-e9248606f132'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID4',NULL,'2018-04-19 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2018-04-19 18:52:03'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','VGW service1707MIGRATED','2016-04-19 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VGWResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2018-04-19 18:52:03','685822c7-4027-4f84-ba50-e9248606f132'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql new file mode 100644 index 00000000..15001050 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/bulkload-files/demo-vfw/create_mso_db-demo-vfw.sql @@ -0,0 +1,59 @@ +SOURCE ../default/create_mso_db-default.sql + +USE `mso_requests`; +DROP USER 'mso'; +CREATE USER 'mso'; +GRANT ALL on mso_requests.* to 'mso' identified by 'mso123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `mso_catalog`; +DROP USER 'catalog'; +CREATE USER 'catalog'; +GRANT ALL on mso_catalog.* to 'catalog' identified by 'catalog123' with GRANT OPTION; +FLUSH PRIVILEGES; + +SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; + +INSERT INTO `heat_environment` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('EnvArtifact-UUID3','base_vfw.env','1.0','base_vfw ENV file','parameters:\n vfw_image_name: Ubuntu 14.04 LTS (Trusty Tahr) (PVHVM)\n vfw_flavor_name: 4 GB General Purpose v1\n public_net_id: 00000000-0000-0000-0000-000000000000\n unprotected_private_net_id: zdfw1fwl01_unprotected\n protected_private_net_id: zdfw1fwl01_protected\n ecomp_private_net_id: oam_ecomp\n unprotected_private_net_cidr: 192.168.10.0/24\n protected_private_net_cidr: 192.168.20.0/24\n ecomp_private_net_cidr: 192.168.9.0/24\n vfw_private_ip_0: 192.168.10.100\n vfw_private_ip_1: 192.168.20.100\n vfw_private_ip_2: 192.168.9.100\n vpg_private_ip_0: 192.168.10.200\n vpg_private_ip_1: 192.168.9.200\n vsn_private_ip_0: 192.168.20.250\n vsn_private_ip_1: 192.168.9.250\n vfw_name_0: zdfw1fwl01fwl01\n vpg_name_0: zdfw1fwl01pgn01\n vsn_name_0: zdfw1fwl01snk01\n vnf_id: vFirewall_demo_app\n vf_module_id: vFirewall\n webserver_ip: 162.242.237.182\n dcae_collector_ip: 192.168.9.1\n key_name: vfw_key\n pub_key: INSERT YOUR PUBLIC KEY HERE','MANUAL RECORD','2016-11-14 13:04:07'); + +INSERT INTO `heat_template` (`ARTIFACT_UUID`, `NAME`, `VERSION`, `DESCRIPTION`, `BODY`, `TIMEOUT_MINUTES`, `ARTIFACT_CHECKSUM`, `CREATION_TIMESTAMP`) VALUES ('Artifact-UUID3','base_vfw.yaml','1.0','Base VFW Heat','heat_template_version: 2013-05-23\n\ndescription: Heat template to deploy vFirewall demo app for OpenECOMP\n\nparameters:\n vfw_image_name:\n type: string\n label: Image name or ID\n description: Image to be used for compute instance\n vfw_flavor_name:\n type: string\n label: Flavor\n description: Type of instance (flavor) to be used\n public_net_id:\n type: string\n label: Public network name or ID\n description: Public network that enables remote connection to VNF\n unprotected_private_net_id:\n type: string\n label: Unprotected private network name or ID\n description: Private network that connects vPacketGenerator with vFirewall\n protected_private_net_id:\n type: string\n label: Protected private network name or ID\n description: Private network that connects vFirewall with vSink\n ecomp_private_net_id:\n type: string\n label: ECOMP management network name or ID\n description: Private network that connects ECOMP component and the VNF\n unprotected_private_net_cidr:\n type: string\n label: Unprotected private network CIDR\n description: The CIDR of the unprotected private network\n protected_private_net_cidr:\n type: string\n label: Protected private network CIDR\n description: The CIDR of the protected private network\n ecomp_private_net_cidr:\n type: string\n label: ECOMP private network CIDR\n description: The CIDR of the protected private network\n vfw_private_ip_0:\n type: string\n label: vFirewall private IP address towards the unprotected network\n description: Private IP address that is assigned to the vFirewall to communicate with the vPacketGenerator\n vfw_private_ip_1:\n type: string\n label: vFirewall private IP address towards the protected network\n description: Private IP address that is assigned to the vFirewall to communicate with the vSink\n vfw_private_ip_2:\n type: string\n label: vFirewall private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vFirewall to communicate with ECOMP components\n vpg_private_ip_0:\n type: string\n label: vPacketGenerator private IP address towards the unprotected network\n description: Private IP address that is assigned to the vPacketGenerator to communicate with the vFirewall\n vpg_private_ip_1:\n type: string\n label: vPacketGenerator private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vPacketGenerator to communicate with ECOMP components\n vsn_private_ip_0:\n type: string\n label: vSink private IP address towards the protected network\n description: Private IP address that is assigned to the vSink to communicate with the vFirewall\n vsn_private_ip_1:\n type: string\n label: vSink private IP address towards the ECOMP management network\n description: Private IP address that is assigned to the vSink to communicate with ECOMP components\n vfw_name_0:\n type: string\n label: vFirewall name\n description: Name of the vFirewall\n vpg_name_0:\n type: string\n label: vPacketGenerator name\n description: Name of the vPacketGenerator\n vsn_name_0:\n type: string\n label: vSink name\n description: Name of the vSink\n vnf_id:\n type: string\n label: VNF ID\n description: The VNF ID is provided by ECOMP\n vf_module_id:\n type: string\n label: vFirewall module ID\n description: The vFirewall Module ID is provided by ECOMP\n webserver_ip:\n type: string\n label: Webserver IP address\n description: IP address of the webserver that hosts the source code and binaries\n dcae_collector_ip:\n type: string\n label: DCAE collector IP address\n description: IP address of the DCAE collector\n key_name:\n type: string\n label: Key pair name\n description: Public/Private key pair name\n pub_key:\n type: string\n label: Public key\n description: Public key to be installed on the compute instance\n\nresources:\n my_keypair:\n type: OS::Nova::KeyPair\n properties:\n name: { get_param: key_name }\n public_key: { get_param: pub_key }\n save_private_key: false\n\n unprotected_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: unprotected_private_net_id }\n\n protected_private_network:\n type: OS::Neutron::Net\n properties:\n name: { get_param: protected_private_net_id }\n\n unprotected_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n network_id: { get_resource: unprotected_private_network }\n cidr: { get_param: unprotected_private_net_cidr }\n\n protected_private_subnet:\n type: OS::Neutron::Subnet\n properties:\n network_id: { get_resource: protected_private_network }\n cidr: { get_param: protected_private_net_cidr }\n\n vfw_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vfw_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vfw_private_0_port }\n - port: { get_resource: vfw_private_1_port }\n - port: { get_resource: vfw_private_2_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __dcae_collector_ip__ : { get_param: dcae_collector_ip }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n DCAE_COLLECTOR_IP=__dcae_collector_ip__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_firewall_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vfirewall.sh\n chmod +x v_firewall_init.sh\n chmod +x vfirewall.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $DCAE_COLLECTOR_IP > config/dcae_collector_ip.txt\n echo \"no\" > config/install.txt\n mv vfirewall.sh /etc/init.d\n sudo update-rc.d vfirewall.sh defaults\n ./v_firewall_init.sh\n\n vfw_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: unprotected_private_network }\n fixed_ips: [{\"subnet\": { get_resource: unprotected_private_subnet }, \"ip_address\": { get_param: vfw_private_ip_0 }}]\n\n vfw_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: protected_private_network }\n fixed_ips: [{\"subnet\": { get_resource: protected_private_subnet }, \"ip_address\": { get_param: vfw_private_ip_1 }}]\n\n vfw_private_2_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vfw_private_ip_2 }}]\n\n vpg_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vpg_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vpg_private_0_port }\n - port: { get_resource: vpg_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __fw_ipaddr__: { get_param: vfw_private_ip_0 }\n __protected_net_cidr__: { get_param: protected_private_net_cidr }\n __sink_ipaddr__: { get_param: vsn_private_ip_0 }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n FW_IPADDR=__fw_ipaddr__\n PROTECTED_NET_CIDR=__protected_net_cidr__\n SINK_IPADDR=__sink_ipaddr__\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_packetgen_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vpacketgen.sh\n chmod +x v_packetgen_init.sh\n chmod +x vpacketgen.sh\n echo $WEBSERVER_IP > config/webserver_ip.txt\n echo $FW_IPADDR > config/fw_ipaddr.txt\n echo $PROTECTED_NET_CIDR > config/protected_net_cidr.txt\n echo $SINK_IPADDR > config/sink_ipaddr.txt\n echo \"no\" > config/install.txt\n mv vpacketgen.sh /etc/init.d\n sudo update-rc.d vpacketgen.sh defaults\n ./v_packetgen_init.sh\n\n vpg_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: unprotected_private_network }\n fixed_ips: [{\"subnet\": { get_resource: unprotected_private_subnet }, \"ip_address\": { get_param: vpg_private_ip_0 }}]\n\n vpg_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vpg_private_ip_1 }}]\n\n vsn_0:\n type: OS::Nova::Server\n properties:\n image: { get_param: vfw_image_name }\n flavor: { get_param: vfw_flavor_name }\n name: { get_param: vsn_name_0 }\n key_name: { get_resource: my_keypair }\n networks:\n - network: { get_param: public_net_id }\n - port: { get_resource: vsn_private_0_port }\n - port: { get_resource: vsn_private_1_port }\n metadata: {vnf_id: { get_param: vnf_id }, vf_module_id: { get_param: vf_module_id }}\n user_data_format: RAW\n user_data:\n str_replace:\n params:\n __webserver__: { get_param: webserver_ip }\n __protected_net_gw__: { get_param: vfw_private_ip_1 }\n __unprotected_net__: { get_param: unprotected_private_net_cidr }\n template: |\n #!/bin/bash\n\n WEBSERVER_IP=__webserver__\n PROTECTED_NET_GW=__protected_net_gw__\n UNPROTECTED_NET=__unprotected_net__\n UNPROTECTED_NET=$(echo $UNPROTECTED_NET | cut -d\'/\' -f1)\n\n mkdir /opt/config\n cd /opt\n wget http://$WEBSERVER_IP/demo_repo/v_sink_init.sh\n wget http://$WEBSERVER_IP/demo_repo/vsink.sh\n chmod +x v_sink_init.sh\n chmod +x vsink.sh\n echo $PROTECTED_NET_GW > config/protected_net_gw.txt\n echo $UNPROTECTED_NET > config/unprotected_net.txt\n echo \"no\" > config/install.txt\n mv vsink.sh /etc/init.d\n sudo update-rc.d vsink.sh defaults\n ./v_sink_init.sh\n\n vsn_private_0_port:\n type: OS::Neutron::Port\n properties:\n network: { get_resource: protected_private_network }\n fixed_ips: [{\"subnet\": { get_resource: protected_private_subnet }, \"ip_address\": { get_param: vsn_private_ip_0 }}]\n\n vsn_private_1_port:\n type: OS::Neutron::Port\n properties:\n network: { get_param: ecomp_private_net_id }\n fixed_ips: [{\"subnet\": { get_param: ecomp_private_net_id }, \"ip_address\": { get_param: vsn_private_ip_1 }}]\n \n',300,'MANUAL RECORD','2016-11-14 13:04:07'); + +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','dcae_collector_ip','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','ecomp_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','ecomp_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','key_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','protected_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','protected_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','public_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','pub_key','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','unprotected_private_net_cidr','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','unprotected_private_net_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_flavor_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_image_name','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vfw_private_ip_2','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vf_module_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vnf_id','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vpg_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_name_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_private_ip_0','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','vsn_private_ip_1','','string',NULL); +INSERT INTO `heat_template_params` (`HEAT_TEMPLATE_ARTIFACT_UUID`, `PARAM_NAME`, `IS_REQUIRED`, `PARAM_TYPE`, `PARAM_ALIAS`) VALUES ('Artifact-UUID3','webserver_ip','','string',NULL); + +INSERT INTO `service` (`MODEL_UUID`, `MODEL_NAME`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `TOSCA_CSAR_ARTIFACT_UUID`) VALUES ('2e34774e-715e-4fd5-bd09-7b654622f35i','vfw-service','585822c7-4027-4f84-ba50-e9248606f112','1.0','VFW service','2016-11-14 13:04:07',NULL); + +INSERT INTO `vf_module` (`MODEL_UUID`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `DESCRIPTION`, `IS_BASE`, `HEAT_TEMPLATE_ARTIFACT_UUID`, `VOL_HEAT_TEMPLATE_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group','585822c7-4027-4f84-ba50-e9248606f134','1.0','VF_RI1_VFW::module-1',NULL,1,'Artifact-UUID3',NULL,'2016-11-14 13:04:07','685822c7-4027-4f84-ba50-e9248606f132'); + +INSERT INTO `vf_module_customization` (`MODEL_CUSTOMIZATION_UUID`, `LABEL`, `INITIAL_COUNT`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_COUNT`, `HEAT_ENVIRONMENT_ARTIFACT_UUID`, `VOL_ENVIRONMENT_ARTIFACT_UUID`, `CREATION_TIMESTAMP`, `VF_MODULE_MODEL_UUID`) VALUES ('5aa23938-a9fe-11e7-8b4b-0242ac120002',NULL,1,0,NULL,NULL,'EnvArtifact-UUID3',NULL,'2017-10-05 18:52:03','1e34774e-715e-4fd5-bd08-7b654622f33f.VF_RI1_VFW::module-1::module-1.group'); + +INSERT INTO `vnf_res_custom_to_vf_module_custom` (`VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID`, `VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID`, `CREATION_TIMESTAMP`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','5aa23938-a9fe-11e7-8b4b-0242ac120002','2017-10-05 18:52:03'); + +INSERT INTO `vnf_resource` (`ORCHESTRATION_MODE`, `DESCRIPTION`, `CREATION_TIMESTAMP`, `MODEL_UUID`, `AIC_VERSION_MIN`, `AIC_VERSION_MAX`, `MODEL_INVARIANT_UUID`, `MODEL_VERSION`, `MODEL_NAME`, `TOSCA_NODE_TYPE`, `HEAT_TEMPLATE_ARTIFACT_UUID`) VALUES ('HEAT','VFW service1707MIGRATED','2016-11-14 13:04:07','685822c7-4027-4f84-ba50-e9248606f132',NULL,NULL,'585822c7-4027-4f84-ba50-e9248606f113','1.0','VFWResource',NULL,NULL); + +INSERT INTO `vnf_resource_customization` (`MODEL_CUSTOMIZATION_UUID`, `MODEL_INSTANCE_NAME`, `MIN_INSTANCES`, `MAX_INSTANCES`, `AVAILABILITY_ZONE_MAX_COUNT`, `NF_TYPE`, `NF_ROLE`, `NF_FUNCTION`, `NF_NAMING_CODE`, `CREATION_TIMESTAMP`, `VNF_RESOURCE_MODEL_UUID`) VALUES ('5a9bd247-a9fe-11e7-8b4b-0242ac120002','VFWResource-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2017-10-05 18:52:03','685822c7-4027-4f84-ba50-e9248606f132'); + +SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mariadb_engine_7.7.3-ee.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mariadb_engine_7.7.3-ee.sql new file mode 100644 index 00000000..b9b8dd62 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mariadb_engine_7.7.3-ee.sql @@ -0,0 +1,1195 @@ +DROP DATABASE IF EXISTS `camundabpmn`; + +CREATE DATABASE `camundabpmn`; + +USE `camundabpmn`; + +# DROP USER IF EXISTS 'camunda'; +delete from mysql.user where User='camunda'; +CREATE USER 'camunda'; +GRANT ALL on camundabpmn.* to 'camunda' identified by 'camunda123' with GRANT OPTION; +FLUSH PRIVILEGES; + +USE `camundabpmn`; + +create table ACT_GE_PROPERTY ( + NAME_ varchar(64), + VALUE_ varchar(300), + REV_ integer, + primary key (NAME_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +insert into ACT_GE_PROPERTY +values ('schema.version', 'fox', 1); + +insert into ACT_GE_PROPERTY +values ('schema.history', 'create(fox)', 1); + +insert into ACT_GE_PROPERTY +values ('next.dbid', '1', 1); + +insert into ACT_GE_PROPERTY +values ('deployment.lock', '0', 1); + +insert into ACT_GE_PROPERTY +values ('history.cleanup.job.lock', '0', 1); + +create table ACT_GE_BYTEARRAY ( + ID_ varchar(64), + REV_ integer, + NAME_ varchar(255), + DEPLOYMENT_ID_ varchar(64), + BYTES_ LONGBLOB, + GENERATED_ TINYINT, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RE_DEPLOYMENT ( + ID_ varchar(64), + NAME_ varchar(255), + DEPLOY_TIME_ timestamp(3), + SOURCE_ varchar(255), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_EXECUTION ( + ID_ varchar(64), + REV_ integer, + PROC_INST_ID_ varchar(64), + BUSINESS_KEY_ varchar(255), + PARENT_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + SUPER_EXEC_ varchar(64), + SUPER_CASE_EXEC_ varchar(64), + CASE_INST_ID_ varchar(64), + ACT_ID_ varchar(255), + ACT_INST_ID_ varchar(64), + IS_ACTIVE_ TINYINT, + IS_CONCURRENT_ TINYINT, + IS_SCOPE_ TINYINT, + IS_EVENT_SCOPE_ TINYINT, + SUSPENSION_STATE_ integer, + CACHED_ENT_STATE_ integer, + SEQUENCE_COUNTER_ bigint, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_JOB ( + ID_ varchar(64) NOT NULL, + REV_ integer, + TYPE_ varchar(255) NOT NULL, + LOCK_EXP_TIME_ timestamp(3) NULL, + LOCK_OWNER_ varchar(255), + EXCLUSIVE_ boolean, + EXECUTION_ID_ varchar(64), + PROCESS_INSTANCE_ID_ varchar(64), + PROCESS_DEF_ID_ varchar(64), + PROCESS_DEF_KEY_ varchar(255), + RETRIES_ integer, + EXCEPTION_STACK_ID_ varchar(64), + EXCEPTION_MSG_ varchar(4000), + DUEDATE_ timestamp(3) NULL, + REPEAT_ varchar(255), + HANDLER_TYPE_ varchar(255), + HANDLER_CFG_ varchar(4000), + DEPLOYMENT_ID_ varchar(64), + SUSPENSION_STATE_ integer NOT NULL DEFAULT 1, + JOB_DEF_ID_ varchar(64), + PRIORITY_ bigint NOT NULL DEFAULT 0, + SEQUENCE_COUNTER_ bigint, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_JOBDEF ( + ID_ varchar(64) NOT NULL, + REV_ integer, + PROC_DEF_ID_ varchar(64), + PROC_DEF_KEY_ varchar(255), + ACT_ID_ varchar(255), + JOB_TYPE_ varchar(255) NOT NULL, + JOB_CONFIGURATION_ varchar(255), + SUSPENSION_STATE_ integer, + JOB_PRIORITY_ bigint, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RE_PROCDEF ( + ID_ varchar(64) not null, + REV_ integer, + CATEGORY_ varchar(255), + NAME_ varchar(255), + KEY_ varchar(255) not null, + VERSION_ integer not null, + DEPLOYMENT_ID_ varchar(64), + RESOURCE_NAME_ varchar(4000), + DGRM_RESOURCE_NAME_ varchar(4000), + HAS_START_FORM_KEY_ TINYINT, + SUSPENSION_STATE_ integer, + TENANT_ID_ varchar(64), + VERSION_TAG_ varchar(64), + HISTORY_TTL_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_TASK ( + ID_ varchar(64), + REV_ integer, + EXECUTION_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_DEF_ID_ varchar(64), + NAME_ varchar(255), + PARENT_TASK_ID_ varchar(64), + DESCRIPTION_ varchar(4000), + TASK_DEF_KEY_ varchar(255), + OWNER_ varchar(255), + ASSIGNEE_ varchar(255), + DELEGATION_ varchar(64), + PRIORITY_ integer, + CREATE_TIME_ timestamp(3), + DUE_DATE_ datetime(3), + FOLLOW_UP_DATE_ datetime(3), + SUSPENSION_STATE_ integer, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_IDENTITYLINK ( + ID_ varchar(64), + REV_ integer, + GROUP_ID_ varchar(255), + TYPE_ varchar(255), + USER_ID_ varchar(255), + TASK_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_VARIABLE ( + ID_ varchar(64) not null, + REV_ integer, + TYPE_ varchar(255) not null, + NAME_ varchar(255) not null, + EXECUTION_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + TASK_ID_ varchar(64), + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ LONGBLOB NULL, + TEXT2_ LONGBLOB NULL, + VAR_SCOPE_ varchar(64) not null, + SEQUENCE_COUNTER_ bigint, + IS_CONCURRENT_LOCAL_ TINYINT, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_EVENT_SUBSCR ( + ID_ varchar(64) not null, + REV_ integer, + EVENT_TYPE_ varchar(255) not null, + EVENT_NAME_ varchar(255), + EXECUTION_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + ACTIVITY_ID_ varchar(255), + CONFIGURATION_ varchar(255), + CREATED_ timestamp(3) not null, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_INCIDENT ( + ID_ varchar(64) not null, + REV_ integer not null, + INCIDENT_TIMESTAMP_ timestamp(3) not null, + INCIDENT_MSG_ varchar(4000), + INCIDENT_TYPE_ varchar(255) not null, + EXECUTION_ID_ varchar(64), + ACTIVITY_ID_ varchar(255), + PROC_INST_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + CAUSE_INCIDENT_ID_ varchar(64), + ROOT_CAUSE_INCIDENT_ID_ varchar(64), + CONFIGURATION_ varchar(255), + TENANT_ID_ varchar(64), + JOB_DEF_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_AUTHORIZATION ( + ID_ varchar(64) not null, + REV_ integer not null, + TYPE_ integer not null, + GROUP_ID_ varchar(255), + USER_ID_ varchar(255), + RESOURCE_TYPE_ integer not null, + RESOURCE_ID_ varchar(64), + PERMS_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_FILTER ( + ID_ varchar(64) not null, + REV_ integer not null, + RESOURCE_TYPE_ varchar(255) not null, + NAME_ varchar(255) not null, + OWNER_ varchar(255), + QUERY_ LONGTEXT not null, + PROPERTIES_ LONGTEXT, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_METER_LOG ( + ID_ varchar(64) not null, + NAME_ varchar(64) not null, + REPORTER_ varchar(255), + VALUE_ bigint, + TIMESTAMP_ timestamp(3), + MILLISECONDS_ bigint DEFAULT 0, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_EXT_TASK ( + ID_ varchar(64) not null, + REV_ integer not null, + WORKER_ID_ varchar(255), + TOPIC_NAME_ varchar(255), + RETRIES_ integer, + ERROR_MSG_ varchar(4000), + ERROR_DETAILS_ID_ varchar(64), + LOCK_EXP_TIME_ timestamp(3) NULL, + SUSPENSION_STATE_ integer, + EXECUTION_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + PROC_DEF_KEY_ varchar(255), + ACT_ID_ varchar(255), + ACT_INST_ID_ varchar(64), + TENANT_ID_ varchar(64), + PRIORITY_ bigint NOT NULL DEFAULT 0, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_BATCH ( + ID_ varchar(64) not null, + REV_ integer not null, + TYPE_ varchar(255), + TOTAL_JOBS_ integer, + JOBS_CREATED_ integer, + JOBS_PER_SEED_ integer, + INVOCATIONS_PER_JOB_ integer, + SEED_JOB_DEF_ID_ varchar(64), + BATCH_JOB_DEF_ID_ varchar(64), + MONITOR_JOB_DEF_ID_ varchar(64), + SUSPENSION_STATE_ integer, + CONFIGURATION_ varchar(255), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_); +create index ACT_IDX_EXEC_TENANT_ID on ACT_RU_EXECUTION(TENANT_ID_); +create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_); +create index ACT_IDX_TASK_ASSIGNEE on ACT_RU_TASK(ASSIGNEE_); +create index ACT_IDX_TASK_TENANT_ID on ACT_RU_TASK(TENANT_ID_); +create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_); +create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_); +create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_); +create index ACT_IDX_EVENT_SUBSCR_TENANT_ID on ACT_RU_EVENT_SUBSCR(TENANT_ID_); +create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_); +create index ACT_IDX_VARIABLE_TENANT_ID on ACT_RU_VARIABLE(TENANT_ID_); +create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_); +create index ACT_IDX_INC_CONFIGURATION on ACT_RU_INCIDENT(CONFIGURATION_); +create index ACT_IDX_INC_TENANT_ID on ACT_RU_INCIDENT(TENANT_ID_); +-- CAM-5914 +create index ACT_IDX_JOB_EXECUTION_ID on ACT_RU_JOB(EXECUTION_ID_); +-- this index needs to be limited in mariadb see CAM-6938 +create index ACT_IDX_JOB_HANDLER on ACT_RU_JOB(HANDLER_TYPE_(100),HANDLER_CFG_(155)); +create index ACT_IDX_JOB_PROCINST on ACT_RU_JOB(PROCESS_INSTANCE_ID_); +create index ACT_IDX_JOB_TENANT_ID on ACT_RU_JOB(TENANT_ID_); +create index ACT_IDX_JOBDEF_TENANT_ID on ACT_RU_JOBDEF(TENANT_ID_); + +-- new metric milliseconds column +CREATE INDEX ACT_IDX_METER_LOG_MS ON ACT_RU_METER_LOG(MILLISECONDS_); +CREATE INDEX ACT_IDX_METER_LOG_NAME_MS ON ACT_RU_METER_LOG(NAME_, MILLISECONDS_); +CREATE INDEX ACT_IDX_METER_LOG_REPORT ON ACT_RU_METER_LOG(NAME_, REPORTER_, MILLISECONDS_); + +-- old metric timestamp column +CREATE INDEX ACT_IDX_METER_LOG_TIME ON ACT_RU_METER_LOG(TIMESTAMP_); +CREATE INDEX ACT_IDX_METER_LOG ON ACT_RU_METER_LOG(NAME_, TIMESTAMP_); + +create index ACT_IDX_EXT_TASK_TOPIC on ACT_RU_EXT_TASK(TOPIC_NAME_); +create index ACT_IDX_EXT_TASK_TENANT_ID on ACT_RU_EXT_TASK(TENANT_ID_); +create index ACT_IDX_EXT_TASK_PRIORITY ON ACT_RU_EXT_TASK(PRIORITY_); +create index ACT_IDX_EXT_TASK_ERR_DETAILS ON ACT_RU_EXT_TASK(ERROR_DETAILS_ID_); +create index ACT_IDX_AUTH_GROUP_ID ON ACT_RU_AUTHORIZATION(GROUP_ID_); +create index ACT_IDX_JOB_JOB_DEF_ID on ACT_RU_JOB(JOB_DEF_ID_); + +alter table ACT_GE_BYTEARRAY + add constraint ACT_FK_BYTEARR_DEPL + foreign key (DEPLOYMENT_ID_) + references ACT_RE_DEPLOYMENT (ID_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade; + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PARENT + foreign key (PARENT_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_SUPER + foreign key (SUPER_EXEC_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_TSKASS_TASK + foreign key (TASK_ID_) + references ACT_RU_TASK (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_ATHRZ_PROCEDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF(ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION(ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_BYTEARRAY + foreign key (BYTEARRAY_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_JOB + add constraint ACT_FK_JOB_EXCEPTION + foreign key (EXCEPTION_STACK_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_EVENT_SUBSCR + add constraint ACT_FK_EVENT_EXEC + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION(ID_); + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_CAUSE + foreign key (CAUSE_INCIDENT_ID_) + references ACT_RU_INCIDENT (ID_) on delete cascade on update cascade; + +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_RCAUSE + foreign key (ROOT_CAUSE_INCIDENT_ID_) + references ACT_RU_INCIDENT (ID_) on delete cascade on update cascade; + +alter table ACT_RU_EXT_TASK + add constraint ACT_FK_EXT_TASK_ERROR_DETAILS + foreign key (ERROR_DETAILS_ID_) + references ACT_GE_BYTEARRAY (ID_); + +create index ACT_IDX_INC_JOB_DEF on ACT_RU_INCIDENT(JOB_DEF_ID_); +alter table ACT_RU_INCIDENT + add constraint ACT_FK_INC_JOB_DEF + foreign key (JOB_DEF_ID_) + references ACT_RU_JOBDEF (ID_); + +alter table ACT_RU_AUTHORIZATION + add constraint ACT_UNIQ_AUTH_USER + unique (USER_ID_,TYPE_,RESOURCE_TYPE_,RESOURCE_ID_); + +alter table ACT_RU_AUTHORIZATION + add constraint ACT_UNIQ_AUTH_GROUP + unique (GROUP_ID_,TYPE_,RESOURCE_TYPE_,RESOURCE_ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_UNIQ_VARIABLE + unique (VAR_SCOPE_, NAME_); + +alter table ACT_RU_EXT_TASK + add constraint ACT_FK_EXT_TASK_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +create index ACT_IDX_BATCH_SEED_JOB_DEF ON ACT_RU_BATCH(SEED_JOB_DEF_ID_); +alter table ACT_RU_BATCH + add constraint ACT_FK_BATCH_SEED_JOB_DEF + foreign key (SEED_JOB_DEF_ID_) + references ACT_RU_JOBDEF (ID_); + +create index ACT_IDX_BATCH_MONITOR_JOB_DEF ON ACT_RU_BATCH(MONITOR_JOB_DEF_ID_); +alter table ACT_RU_BATCH + add constraint ACT_FK_BATCH_MONITOR_JOB_DEF + foreign key (MONITOR_JOB_DEF_ID_) + references ACT_RU_JOBDEF (ID_); + +create index ACT_IDX_BATCH_JOB_DEF ON ACT_RU_BATCH(BATCH_JOB_DEF_ID_); +alter table ACT_RU_BATCH + add constraint ACT_FK_BATCH_JOB_DEF + foreign key (BATCH_JOB_DEF_ID_) + references ACT_RU_JOBDEF (ID_); + +-- indexes for deadlock problems - https://app.camunda.com/jira/browse/CAM-2567 -- +create index ACT_IDX_INC_CAUSEINCID on ACT_RU_INCIDENT(CAUSE_INCIDENT_ID_); +create index ACT_IDX_INC_EXID on ACT_RU_INCIDENT(EXECUTION_ID_); +create index ACT_IDX_INC_PROCDEFID on ACT_RU_INCIDENT(PROC_DEF_ID_); +create index ACT_IDX_INC_PROCINSTID on ACT_RU_INCIDENT(PROC_INST_ID_); +create index ACT_IDX_INC_ROOTCAUSEINCID on ACT_RU_INCIDENT(ROOT_CAUSE_INCIDENT_ID_); +-- index for deadlock problem - https://app.camunda.com/jira/browse/CAM-4440 -- +create index ACT_IDX_AUTH_RESOURCE_ID on ACT_RU_AUTHORIZATION(RESOURCE_ID_); +-- index to prevent deadlock on fk constraint - https://app.camunda.com/jira/browse/CAM-5440 -- +create index ACT_IDX_EXT_TASK_EXEC on ACT_RU_EXT_TASK(EXECUTION_ID_); + +-- indexes to improve deployment +create index ACT_IDX_BYTEARRAY_NAME on ACT_GE_BYTEARRAY(NAME_); +create index ACT_IDX_DEPLOYMENT_NAME on ACT_RE_DEPLOYMENT(NAME_); +create index ACT_IDX_DEPLOYMENT_TENANT_ID on ACT_RE_DEPLOYMENT(TENANT_ID_); +create index ACT_IDX_JOBDEF_PROC_DEF_ID ON ACT_RU_JOBDEF(PROC_DEF_ID_); +create index ACT_IDX_JOB_HANDLER_TYPE ON ACT_RU_JOB(HANDLER_TYPE_); +create index ACT_IDX_EVENT_SUBSCR_EVT_NAME ON ACT_RU_EVENT_SUBSCR(EVENT_NAME_); +create index ACT_IDX_PROCDEF_DEPLOYMENT_ID ON ACT_RE_PROCDEF(DEPLOYMENT_ID_); +create index ACT_IDX_PROCDEF_TENANT_ID ON ACT_RE_PROCDEF(TENANT_ID_); +create index ACT_IDX_PROCDEF_VER_TAG ON ACT_RE_PROCDEF(VERSION_TAG_); +-- create case definition table -- +create table ACT_RE_CASE_DEF ( + ID_ varchar(64) not null, + REV_ integer, + CATEGORY_ varchar(255), + NAME_ varchar(255), + KEY_ varchar(255) not null, + VERSION_ integer not null, + DEPLOYMENT_ID_ varchar(64), + RESOURCE_NAME_ varchar(4000), + DGRM_RESOURCE_NAME_ varchar(4000), + TENANT_ID_ varchar(64), + HISTORY_TTL_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create case execution table -- +create table ACT_RU_CASE_EXECUTION ( + ID_ varchar(64) NOT NULL, + REV_ integer, + CASE_INST_ID_ varchar(64), + SUPER_CASE_EXEC_ varchar(64), + SUPER_EXEC_ varchar(64), + BUSINESS_KEY_ varchar(255), + PARENT_ID_ varchar(64), + CASE_DEF_ID_ varchar(64), + ACT_ID_ varchar(255), + PREV_STATE_ integer, + CURRENT_STATE_ integer, + REQUIRED_ boolean, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create case sentry part table -- + +create table ACT_RU_CASE_SENTRY_PART ( + ID_ varchar(64) NOT NULL, + REV_ integer, + CASE_INST_ID_ varchar(64), + CASE_EXEC_ID_ varchar(64), + SENTRY_ID_ varchar(255), + TYPE_ varchar(255), + SOURCE_CASE_EXEC_ID_ varchar(64), + STANDARD_EVENT_ varchar(255), + SOURCE_ varchar(255), + VARIABLE_EVENT_ varchar(255), + VARIABLE_NAME_ varchar(255), + SATISFIED_ boolean, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create index on business key -- +create index ACT_IDX_CASE_EXEC_BUSKEY on ACT_RU_CASE_EXECUTION(BUSINESS_KEY_); + +-- create foreign key constraints on ACT_RU_CASE_EXECUTION -- +alter table ACT_RU_CASE_EXECUTION + add constraint ACT_FK_CASE_EXE_CASE_INST + foreign key (CASE_INST_ID_) + references ACT_RU_CASE_EXECUTION(ID_) on delete cascade on update cascade; + +alter table ACT_RU_CASE_EXECUTION + add constraint ACT_FK_CASE_EXE_PARENT + foreign key (PARENT_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +alter table ACT_RU_CASE_EXECUTION + add constraint ACT_FK_CASE_EXE_CASE_DEF + foreign key (CASE_DEF_ID_) + references ACT_RE_CASE_DEF(ID_); + +-- create foreign key constraints on ACT_RU_VARIABLE -- +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_CASE_EXE + foreign key (CASE_EXECUTION_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_CASE_INST + foreign key (CASE_INST_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +-- create foreign key constraints on ACT_RU_TASK -- +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_CASE_EXE + foreign key (CASE_EXECUTION_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_CASE_DEF + foreign key (CASE_DEF_ID_) + references ACT_RE_CASE_DEF(ID_); + +-- create foreign key constraints on ACT_RU_CASE_SENTRY_PART -- +alter table ACT_RU_CASE_SENTRY_PART + add constraint ACT_FK_CASE_SENTRY_CASE_INST + foreign key (CASE_INST_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +alter table ACT_RU_CASE_SENTRY_PART + add constraint ACT_FK_CASE_SENTRY_CASE_EXEC + foreign key (CASE_EXEC_ID_) + references ACT_RU_CASE_EXECUTION(ID_); + +create index ACT_IDX_CASE_DEF_TENANT_ID on ACT_RE_CASE_DEF(TENANT_ID_); +create index ACT_IDX_CASE_EXEC_TENANT_ID on ACT_RU_CASE_EXECUTION(TENANT_ID_); +-- create decision definition table -- +create table ACT_RE_DECISION_DEF ( + ID_ varchar(64) not null, + REV_ integer, + CATEGORY_ varchar(255), + NAME_ varchar(255), + KEY_ varchar(255) not null, + VERSION_ integer not null, + DEPLOYMENT_ID_ varchar(64), + RESOURCE_NAME_ varchar(4000), + DGRM_RESOURCE_NAME_ varchar(4000), + DEC_REQ_ID_ varchar(64), + DEC_REQ_KEY_ varchar(255), + TENANT_ID_ varchar(64), + HISTORY_TTL_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create decision requirements definition table -- +create table ACT_RE_DECISION_REQ_DEF ( + ID_ varchar(64) NOT NULL, + REV_ integer, + CATEGORY_ varchar(255), + NAME_ varchar(255), + KEY_ varchar(255) NOT NULL, + VERSION_ integer NOT NULL, + DEPLOYMENT_ID_ varchar(64), + RESOURCE_NAME_ varchar(4000), + DGRM_RESOURCE_NAME_ varchar(4000), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +alter table ACT_RE_DECISION_DEF + add constraint ACT_FK_DEC_REQ + foreign key (DEC_REQ_ID_) + references ACT_RE_DECISION_REQ_DEF(ID_); + +create index ACT_IDX_DEC_DEF_TENANT_ID on ACT_RE_DECISION_DEF(TENANT_ID_); +create index ACT_IDX_DEC_DEF_REQ_ID on ACT_RE_DECISION_DEF(DEC_REQ_ID_); +create index ACT_IDX_DEC_REQ_DEF_TENANT_ID on ACT_RE_DECISION_REQ_DEF(TENANT_ID_); +create table ACT_HI_PROCINST ( + ID_ varchar(64) not null, + PROC_INST_ID_ varchar(64) not null, + BUSINESS_KEY_ varchar(255), + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64) not null, + START_TIME_ datetime(3) not null, + END_TIME_ datetime(3), + DURATION_ bigint, + START_USER_ID_ varchar(255), + START_ACT_ID_ varchar(255), + END_ACT_ID_ varchar(255), + SUPER_PROCESS_INSTANCE_ID_ varchar(64), + SUPER_CASE_INSTANCE_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + DELETE_REASON_ varchar(4000), + TENANT_ID_ varchar(64), + STATE_ varchar(255), + primary key (ID_), + unique (PROC_INST_ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_ACTINST ( + ID_ varchar(64) not null, + PARENT_ACT_INST_ID_ varchar(64), + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64) not null, + PROC_INST_ID_ varchar(64) not null, + EXECUTION_ID_ varchar(64) not null, + ACT_ID_ varchar(255) not null, + TASK_ID_ varchar(64), + CALL_PROC_INST_ID_ varchar(64), + CALL_CASE_INST_ID_ varchar(64), + ACT_NAME_ varchar(255), + ACT_TYPE_ varchar(255) not null, + ASSIGNEE_ varchar(64), + START_TIME_ datetime(3) not null, + END_TIME_ datetime(3), + DURATION_ bigint, + ACT_INST_STATE_ integer, + SEQUENCE_COUNTER_ bigint, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_TASKINST ( + ID_ varchar(64) not null, + TASK_DEF_KEY_ varchar(255), + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + CASE_DEF_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + ACT_INST_ID_ varchar(64), + NAME_ varchar(255), + PARENT_TASK_ID_ varchar(64), + DESCRIPTION_ varchar(4000), + OWNER_ varchar(255), + ASSIGNEE_ varchar(255), + START_TIME_ datetime(3) not null, + END_TIME_ datetime(3), + DURATION_ bigint, + DELETE_REASON_ varchar(4000), + PRIORITY_ integer, + DUE_DATE_ datetime(3), + FOLLOW_UP_DATE_ datetime(3), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_VARINST ( + ID_ varchar(64) not null, + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + ACT_INST_ID_ varchar(64), + CASE_DEF_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + TASK_ID_ varchar(64), + NAME_ varchar(255) not null, + VAR_TYPE_ varchar(100), + REV_ integer, + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ LONGBLOB NULL, + TEXT2_ LONGBLOB NULL, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_DETAIL ( + ID_ varchar(64) not null, + TYPE_ varchar(255) not null, + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + CASE_DEF_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + TASK_ID_ varchar(64), + ACT_INST_ID_ varchar(64), + VAR_INST_ID_ varchar(64), + NAME_ varchar(255) not null, + VAR_TYPE_ varchar(255), + REV_ integer, + TIME_ datetime(3) not null, + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ LONGBLOB NULL, + TEXT2_ LONGBLOB NULL, + SEQUENCE_COUNTER_ bigint, + TENANT_ID_ varchar(64), + OPERATION_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_IDENTITYLINK ( + ID_ varchar(64) not null, + TIMESTAMP_ timestamp(3) not null, + TYPE_ varchar(255), + USER_ID_ varchar(255), + GROUP_ID_ varchar(255), + TASK_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + OPERATION_TYPE_ varchar(64), + ASSIGNER_ID_ varchar(64), + PROC_DEF_KEY_ varchar(255), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_COMMENT ( + ID_ varchar(64) not null, + TYPE_ varchar(255), + TIME_ datetime(3) not null, + USER_ID_ varchar(255), + TASK_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + ACTION_ varchar(255), + MESSAGE_ varchar(4000), + FULL_MSG_ LONGBLOB, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_ATTACHMENT ( + ID_ varchar(64) not null, + REV_ integer, + USER_ID_ varchar(255), + NAME_ varchar(255), + DESCRIPTION_ varchar(4000), + TYPE_ varchar(255), + TASK_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + URL_ varchar(4000), + CONTENT_ID_ varchar(64), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_OP_LOG ( + ID_ varchar(64) not null, + DEPLOYMENT_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + PROC_DEF_KEY_ varchar(255), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + CASE_EXECUTION_ID_ varchar(64), + TASK_ID_ varchar(64), + JOB_ID_ varchar(64), + JOB_DEF_ID_ varchar(64), + BATCH_ID_ varchar(64), + USER_ID_ varchar(255), + TIMESTAMP_ timestamp(3) not null, + OPERATION_TYPE_ varchar(64), + OPERATION_ID_ varchar(64), + ENTITY_TYPE_ varchar(30), + PROPERTY_ varchar(64), + ORG_VALUE_ varchar(4000), + NEW_VALUE_ varchar(4000), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_INCIDENT ( + ID_ varchar(64) not null, + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + CREATE_TIME_ timestamp(3) not null, + END_TIME_ timestamp(3) null, + INCIDENT_MSG_ varchar(4000), + INCIDENT_TYPE_ varchar(255) not null, + ACTIVITY_ID_ varchar(255), + CAUSE_INCIDENT_ID_ varchar(64), + ROOT_CAUSE_INCIDENT_ID_ varchar(64), + CONFIGURATION_ varchar(255), + INCIDENT_STATE_ integer, + TENANT_ID_ varchar(64), + JOB_DEF_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_JOB_LOG ( + ID_ varchar(64) not null, + TIMESTAMP_ timestamp(3) not null, + JOB_ID_ varchar(64) not null, + JOB_DUEDATE_ timestamp(3) NULL, + JOB_RETRIES_ integer, + JOB_PRIORITY_ bigint NOT NULL DEFAULT 0, + JOB_EXCEPTION_MSG_ varchar(4000), + JOB_EXCEPTION_STACK_ID_ varchar(64), + JOB_STATE_ integer, + JOB_DEF_ID_ varchar(64), + JOB_DEF_TYPE_ varchar(255), + JOB_DEF_CONFIGURATION_ varchar(255), + ACT_ID_ varchar(255), + EXECUTION_ID_ varchar(64), + PROCESS_INSTANCE_ID_ varchar(64), + PROCESS_DEF_ID_ varchar(64), + PROCESS_DEF_KEY_ varchar(255), + DEPLOYMENT_ID_ varchar(64), + SEQUENCE_COUNTER_ bigint, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_BATCH ( + ID_ varchar(64) not null, + TYPE_ varchar(255), + TOTAL_JOBS_ integer, + JOBS_PER_SEED_ integer, + INVOCATIONS_PER_JOB_ integer, + SEED_JOB_DEF_ID_ varchar(64), + MONITOR_JOB_DEF_ID_ varchar(64), + BATCH_JOB_DEF_ID_ varchar(64), + TENANT_ID_ varchar(64), + START_TIME_ datetime(3) not null, + END_TIME_ datetime(3), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_EXT_TASK_LOG ( + ID_ varchar(64) not null, + TIMESTAMP_ timestamp(3) not null, + EXT_TASK_ID_ varchar(64) not null, + RETRIES_ integer, + TOPIC_NAME_ varchar(255), + WORKER_ID_ varchar(255), + PRIORITY_ bigint NOT NULL DEFAULT 0, + ERROR_MSG_ varchar(4000), + ERROR_DETAILS_ID_ varchar(64), + ACT_ID_ varchar(255), + ACT_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + PROC_DEF_ID_ varchar(64), + PROC_DEF_KEY_ varchar(255), + TENANT_ID_ varchar(64), + STATE_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_); +create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_); +create index ACT_IDX_HI_PRO_INST_TENANT_ID on ACT_HI_PROCINST(TENANT_ID_); +create index ACT_IDX_HI_PRO_INST_PROC_DEF_KEY on ACT_HI_PROCINST(PROC_DEF_KEY_); + +create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_); +create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_); +create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_); +create index ACT_IDX_HI_ACT_INST_COMP on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_, END_TIME_, ID_); +create index ACT_IDX_HI_ACT_INST_STATS on ACT_HI_ACTINST(PROC_DEF_ID_, ACT_ID_, END_TIME_, ACT_INST_STATE_); +create index ACT_IDX_HI_ACT_INST_TENANT_ID on ACT_HI_ACTINST(TENANT_ID_); +create index ACT_IDX_HI_ACT_INST_PROC_DEF_KEY on ACT_HI_ACTINST(PROC_DEF_KEY_); + +create index ACT_IDX_HI_TASK_INST_TENANT_ID on ACT_HI_TASKINST(TENANT_ID_); +create index ACT_IDX_HI_TASK_INST_PROC_DEF_KEY on ACT_HI_TASKINST(PROC_DEF_KEY_); + +create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_); +create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_); +create index ACT_IDX_HI_DETAIL_CASE_INST on ACT_HI_DETAIL(CASE_INST_ID_); +create index ACT_IDX_HI_DETAIL_CASE_EXEC on ACT_HI_DETAIL(CASE_EXECUTION_ID_); +create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_); +create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_); +create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_); +create index ACT_IDX_HI_DETAIL_TENANT_ID on ACT_HI_DETAIL(TENANT_ID_); +create index ACT_IDX_HI_DETAIL_PROC_DEF_KEY on ACT_HI_DETAIL(PROC_DEF_KEY_); + +create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_); +create index ACT_IDX_HI_IDENT_LNK_GROUP on ACT_HI_IDENTITYLINK(GROUP_ID_); +create index ACT_IDX_HI_IDENT_LNK_TENANT_ID on ACT_HI_IDENTITYLINK(TENANT_ID_); +create index ACT_IDX_HI_IDENT_LNK_PROC_DEF_KEY on ACT_HI_IDENTITYLINK(PROC_DEF_KEY_); + +create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_); +create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_); +create index ACT_IDX_HI_CASEVAR_CASE_INST on ACT_HI_VARINST(CASE_INST_ID_); +create index ACT_IDX_HI_VAR_INST_TENANT_ID on ACT_HI_VARINST(TENANT_ID_); +create index ACT_IDX_HI_VAR_INST_PROC_DEF_KEY on ACT_HI_VARINST(PROC_DEF_KEY_); + +create index ACT_IDX_HI_INCIDENT_TENANT_ID on ACT_HI_INCIDENT(TENANT_ID_); +create index ACT_IDX_HI_INCIDENT_PROC_DEF_KEY on ACT_HI_INCIDENT(PROC_DEF_KEY_); + +create index ACT_IDX_HI_JOB_LOG_PROCINST on ACT_HI_JOB_LOG(PROCESS_INSTANCE_ID_); +create index ACT_IDX_HI_JOB_LOG_PROCDEF on ACT_HI_JOB_LOG(PROCESS_DEF_ID_); +create index ACT_IDX_HI_JOB_LOG_TENANT_ID on ACT_HI_JOB_LOG(TENANT_ID_); +create index ACT_IDX_HI_JOB_LOG_JOB_DEF_ID on ACT_HI_JOB_LOG(JOB_DEF_ID_); +create index ACT_IDX_HI_JOB_LOG_PROC_DEF_KEY on ACT_HI_JOB_LOG(PROCESS_DEF_KEY_); + +create index ACT_HI_EXT_TASK_LOG_PROCINST on ACT_HI_EXT_TASK_LOG(PROC_INST_ID_); +create index ACT_HI_EXT_TASK_LOG_PROCDEF on ACT_HI_EXT_TASK_LOG(PROC_DEF_ID_); +create index ACT_HI_EXT_TASK_LOG_PROC_DEF_KEY on ACT_HI_EXT_TASK_LOG(PROC_DEF_KEY_); +create index ACT_HI_EXT_TASK_LOG_TENANT_ID on ACT_HI_EXT_TASK_LOG(TENANT_ID_); + +create index ACT_IDX_HI_OP_LOG_PROCINST on ACT_HI_OP_LOG(PROC_INST_ID_); +create index ACT_IDX_HI_OP_LOG_PROCDEF on ACT_HI_OP_LOG(PROC_DEF_ID_); +create table ACT_HI_CASEINST ( + ID_ varchar(64) not null, + CASE_INST_ID_ varchar(64) not null, + BUSINESS_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64) not null, + CREATE_TIME_ datetime(3) not null, + CLOSE_TIME_ datetime(3), + DURATION_ bigint, + STATE_ integer, + CREATE_USER_ID_ varchar(255), + SUPER_CASE_INSTANCE_ID_ varchar(64), + SUPER_PROCESS_INSTANCE_ID_ varchar(64), + TENANT_ID_ varchar(64), + primary key (ID_), + unique (CASE_INST_ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_CASEACTINST ( + ID_ varchar(64) not null, + PARENT_ACT_INST_ID_ varchar(64), + CASE_DEF_ID_ varchar(64) not null, + CASE_INST_ID_ varchar(64) not null, + CASE_ACT_ID_ varchar(255) not null, + TASK_ID_ varchar(64), + CALL_PROC_INST_ID_ varchar(64), + CALL_CASE_INST_ID_ varchar(64), + CASE_ACT_NAME_ varchar(255), + CASE_ACT_TYPE_ varchar(255), + CREATE_TIME_ datetime(3) not null, + END_TIME_ datetime(3), + DURATION_ bigint, + STATE_ integer, + REQUIRED_ boolean, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index ACT_IDX_HI_CAS_I_CLOSE on ACT_HI_CASEINST(CLOSE_TIME_); +create index ACT_IDX_HI_CAS_I_BUSKEY on ACT_HI_CASEINST(BUSINESS_KEY_); +create index ACT_IDX_HI_CAS_I_TENANT_ID on ACT_HI_CASEINST(TENANT_ID_); +create index ACT_IDX_HI_CAS_A_I_CREATE on ACT_HI_CASEACTINST(CREATE_TIME_); +create index ACT_IDX_HI_CAS_A_I_END on ACT_HI_CASEACTINST(END_TIME_); +create index ACT_IDX_HI_CAS_A_I_COMP on ACT_HI_CASEACTINST(CASE_ACT_ID_, END_TIME_, ID_); +create index ACT_IDX_HI_CAS_A_I_CASEINST on ACT_HI_CASEACTINST(CASE_INST_ID_, CASE_ACT_ID_); +create index ACT_IDX_HI_CAS_A_I_TENANT_ID on ACT_HI_CASEACTINST(TENANT_ID_); +-- create history decision instance table -- +create table ACT_HI_DECINST ( + ID_ varchar(64) NOT NULL, + DEC_DEF_ID_ varchar(64) NOT NULL, + DEC_DEF_KEY_ varchar(255) NOT NULL, + DEC_DEF_NAME_ varchar(255), + PROC_DEF_KEY_ varchar(255), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + CASE_DEF_KEY_ varchar(255), + CASE_DEF_ID_ varchar(64), + CASE_INST_ID_ varchar(64), + ACT_INST_ID_ varchar(64), + ACT_ID_ varchar(255), + EVAL_TIME_ datetime(3) not null, + COLLECT_VALUE_ double, + USER_ID_ varchar(255), + ROOT_DEC_INST_ID_ varchar(64), + DEC_REQ_ID_ varchar(64), + DEC_REQ_KEY_ varchar(255), + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create history decision input table -- +create table ACT_HI_DEC_IN ( + ID_ varchar(64) NOT NULL, + DEC_INST_ID_ varchar(64) NOT NULL, + CLAUSE_ID_ varchar(64), + CLAUSE_NAME_ varchar(255), + VAR_TYPE_ varchar(100), + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ LONGBLOB NULL, + TEXT2_ LONGBLOB NULL, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +-- create history decision output table -- +create table ACT_HI_DEC_OUT ( + ID_ varchar(64) NOT NULL, + DEC_INST_ID_ varchar(64) NOT NULL, + CLAUSE_ID_ varchar(64), + CLAUSE_NAME_ varchar(255), + RULE_ID_ varchar(64), + RULE_ORDER_ integer, + VAR_NAME_ varchar(255), + VAR_TYPE_ varchar(100), + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ LONGBLOB NULL, + TEXT2_ LONGBLOB NULL, + TENANT_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + + +create index ACT_IDX_HI_DEC_INST_ID on ACT_HI_DECINST(DEC_DEF_ID_); +create index ACT_IDX_HI_DEC_INST_KEY on ACT_HI_DECINST(DEC_DEF_KEY_); +create index ACT_IDX_HI_DEC_INST_PI on ACT_HI_DECINST(PROC_INST_ID_); +create index ACT_IDX_HI_DEC_INST_CI on ACT_HI_DECINST(CASE_INST_ID_); +create index ACT_IDX_HI_DEC_INST_ACT on ACT_HI_DECINST(ACT_ID_); +create index ACT_IDX_HI_DEC_INST_ACT_INST on ACT_HI_DECINST(ACT_INST_ID_); +create index ACT_IDX_HI_DEC_INST_TIME on ACT_HI_DECINST(EVAL_TIME_); +create index ACT_IDX_HI_DEC_INST_TENANT_ID on ACT_HI_DECINST(TENANT_ID_); +create index ACT_IDX_HI_DEC_INST_ROOT_ID on ACT_HI_DECINST(ROOT_DEC_INST_ID_); +create index ACT_IDX_HI_DEC_INST_REQ_ID on ACT_HI_DECINST(DEC_REQ_ID_); +create index ACT_IDX_HI_DEC_INST_REQ_KEY on ACT_HI_DECINST(DEC_REQ_KEY_); + + +create index ACT_IDX_HI_DEC_IN_INST on ACT_HI_DEC_IN(DEC_INST_ID_); +create index ACT_IDX_HI_DEC_IN_CLAUSE on ACT_HI_DEC_IN(DEC_INST_ID_, CLAUSE_ID_); + +create index ACT_IDX_HI_DEC_OUT_INST on ACT_HI_DEC_OUT(DEC_INST_ID_); +create index ACT_IDX_HI_DEC_OUT_RULE on ACT_HI_DEC_OUT(RULE_ORDER_, CLAUSE_ID_); + + +-- mariadb identity: + +create table ACT_ID_GROUP ( + ID_ varchar(64), + REV_ integer, + NAME_ varchar(255), + TYPE_ varchar(255), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_ID_MEMBERSHIP ( + USER_ID_ varchar(64), + GROUP_ID_ varchar(64), + primary key (USER_ID_, GROUP_ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_ID_USER ( + ID_ varchar(64), + REV_ integer, + FIRST_ varchar(255), + LAST_ varchar(255), + EMAIL_ varchar(255), + PWD_ varchar(255), + SALT_ varchar(255), + PICTURE_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_ID_INFO ( + ID_ varchar(64), + REV_ integer, + USER_ID_ varchar(64), + TYPE_ varchar(64), + KEY_ varchar(255), + VALUE_ varchar(255), + PASSWORD_ LONGBLOB, + PARENT_ID_ varchar(255), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_ID_TENANT ( + ID_ varchar(64), + REV_ integer, + NAME_ varchar(255), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_ID_TENANT_MEMBER ( + ID_ varchar(64) not null, + TENANT_ID_ varchar(64) not null, + USER_ID_ varchar(64), + GROUP_ID_ varchar(64), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +alter table ACT_ID_MEMBERSHIP + add constraint ACT_FK_MEMB_GROUP + foreign key (GROUP_ID_) + references ACT_ID_GROUP (ID_); + +alter table ACT_ID_MEMBERSHIP + add constraint ACT_FK_MEMB_USER + foreign key (USER_ID_) + references ACT_ID_USER (ID_); + +alter table ACT_ID_TENANT_MEMBER + add constraint ACT_UNIQ_TENANT_MEMB_USER + unique (TENANT_ID_, USER_ID_); + +alter table ACT_ID_TENANT_MEMBER + add constraint ACT_UNIQ_TENANT_MEMB_GROUP + unique (TENANT_ID_, GROUP_ID_); + +alter table ACT_ID_TENANT_MEMBER + add constraint ACT_FK_TENANT_MEMB + foreign key (TENANT_ID_) + references ACT_ID_TENANT (ID_); + +alter table ACT_ID_TENANT_MEMBER + add constraint ACT_FK_TENANT_MEMB_USER + foreign key (USER_ID_) + references ACT_ID_USER (ID_); + +alter table ACT_ID_TENANT_MEMBER + add constraint ACT_FK_TENANT_MEMB_GROUP + foreign key (GROUP_ID_) + references ACT_ID_GROUP (ID_); + diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql new file mode 100644 index 00000000..3658c6c2 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/camunda/mysql_create_camunda_admin.sql @@ -0,0 +1,25 @@ +USE camundabpmn; + +INSERT INTO `act_id_group` (`ID_`, `REV_`, `NAME_`, `TYPE_`) VALUES ('camunda-admin',1,'camunda BPM Administrators','SYSTEM'); + +INSERT INTO `act_id_user` (`ID_`, `REV_`, `FIRST_`, `LAST_`, `EMAIL_`, `PWD_`, `SALT_`, `PICTURE_ID_`) VALUES ('admin',1,'admin','user','camundaadmin@onap.org','{SHA-512}n5jUw7fvXM9sZBcrIkLiAOCqiPHutaqEkbg6IQVQdylVP1im8SczBJf4f2xL7cvWwIAZjkcSSQzgFTsdaJSEiA==','ftTn4gNgMcq07wdSD0lEJQ==',NULL); + +INSERT INTO `act_id_membership` (`USER_ID_`, `GROUP_ID_`) VALUES ('admin','camunda-admin'); + +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49b0e028-a3c6-11e7-b0ec-0242ac120003',1,1,NULL,'admin',1,'admin',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49b525e9-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,2,'camunda-admin',2); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49b8814a-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,0,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49baa42b-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,1,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49bd8a5c-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,2,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49bfd44d-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,3,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49c1f72e-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,4,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49c41a0f-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,5,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49c77570-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,6,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49ca5ba1-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,7,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49cca592-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,8,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49ceef83-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,9,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49d11264-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,10,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49d38365-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,11,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49d5a646-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,12,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49d83e57-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,13,'*',2147483647); +INSERT INTO `act_ru_authorization` (`ID_`, `REV_`, `TYPE_`, `GROUP_ID_`, `USER_ID_`, `RESOURCE_TYPE_`, `RESOURCE_ID_`, `PERMS_`) VALUES ('49da3a28-a3c6-11e7-b0ec-0242ac120003',1,1,'camunda-admin',NULL,14,'*',2147483647); diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql new file mode 100644 index 00000000..ca002fbe --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Catalog-schema.sql @@ -0,0 +1,462 @@ + + alter table HEAT_TEMPLATE_PARAMS + drop + foreign key FK_p3ol1xcvp831glqohrlu6o07o; + + alter table MODEL_RECIPE + drop + foreign key FK_c23r0puyqug6n44jg39dutm1c; + + alter table SERVICE + drop + foreign key FK_l3qy594u2xr1tfpmma3uigsna; + + alter table SERVICE_RECIPE + drop + foreign key FK_i3r1b8j6e7dg9hkp49evnnm5y; + + alter table SERVICE_TO_RESOURCE_CUSTOMIZATIONS + drop + foreign key FK_kiddaay6cfe0aob1f1jaio1bb; + + alter table VF_MODULE + drop + foreign key FK_12jptc9it7gs3pru08skobxxc; + + alter table VNF_RESOURCE_CUSTOMIZATION + drop + foreign key FK_iff1ayhb1hrp5jhea3vvikuni; + + drop table if exists ALLOTTED_RESOURCE; + + drop table if exists ALLOTTED_RESOURCE_CUSTOMIZATION; + + drop table if exists HEAT_ENVIRONMENT; + + drop table if exists HEAT_FILES; + + drop table if exists HEAT_NESTED_TEMPLATE; + + drop table if exists HEAT_TEMPLATE; + + drop table if exists HEAT_TEMPLATE_PARAMS; + + drop table if exists MODEL; + + drop table if exists MODEL_RECIPE; + + drop table if exists NETWORK_RECIPE; + + drop table if exists NETWORK_RESOURCE; + + drop table if exists NETWORK_RESOURCE_CUSTOMIZATION; + + drop table if exists SERVICE; + + drop table if exists SERVICE_RECIPE; + + drop table if exists SERVICE_TO_ALLOTTED_RESOURCES; + + drop table if exists SERVICE_TO_NETWORKS; + + drop table if exists SERVICE_TO_RESOURCE_CUSTOMIZATIONS; + + drop table if exists TEMP_NETWORK_HEAT_TEMPLATE_LOOKUP; + + drop table if exists TOSCA_CSAR; + + drop table if exists VF_MODULE; + + drop table if exists VF_MODULE_CUSTOMIZATION; + + drop table if exists VF_MODULE_TO_HEAT_FILES; + + drop table if exists VNF_COMPONENTS; + + drop table if exists VNF_COMPONENTS_RECIPE; + + drop table if exists VNF_RECIPE; + + drop table if exists VNF_RESOURCE; + + drop table if exists VNF_RESOURCE_CUSTOMIZATION; + + drop table if exists VNF_RES_CUSTOM_TO_VF_MODULE_CUSTOM; + + create table ALLOTTED_RESOURCE ( + MODEL_UUID varchar(255) not null, + MODEL_INVARIANT_UUID varchar(255), + MODEL_VERSION varchar(255), + MODEL_NAME varchar(255), + TOSCA_NODE_TYPE varchar(255), + SUBCATEGORY varchar(255), + DESCRIPTION varchar(255), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (MODEL_UUID) + ); + + create table ALLOTTED_RESOURCE_CUSTOMIZATION ( + MODEL_CUSTOMIZATION_UUID varchar(200) not null, + MODEL_INSTANCE_NAME varchar(255), + AR_MODEL_UUID varchar(255), + PROVIDING_SERVICE_MODEL_INVARIANT_UUID varchar(255), + TARGET_NETWORK_ROLE varchar(255), + NF_FUNCTION varchar(255), + NF_TYPE varchar(255), + NF_ROLE varchar(255), + NF_NAMING_CODE varchar(255), + MIN_INSTANCES integer, + MAX_INSTANCES integer, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (MODEL_CUSTOMIZATION_UUID) + ); + + create table HEAT_ENVIRONMENT ( + ARTIFACT_UUID varchar(200) not null, + NAME varchar(100) not null, + VERSION varchar(20) not null, + DESCRIPTION varchar(1200), + BODY longtext not null, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + ARTIFACT_CHECKSUM varchar(200) default 'MANUAL RECORD', + primary key (ARTIFACT_UUID) + ); + + create table HEAT_FILES ( + ARTIFACT_UUID varchar(255) not null, + DESCRIPTION varchar(255), + NAME varchar(255), + VERSION varchar(255), + BODY longtext, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + ARTIFACT_CHECKSUM varchar(255), + primary key (ARTIFACT_UUID) + ); + + create table HEAT_NESTED_TEMPLATE ( + PARENT_HEAT_TEMPLATE_UUID varchar(200) not null, + CHILD_HEAT_TEMPLATE_UUID varchar(200) not null, + PROVIDER_RESOURCE_FILE varchar(100), + primary key (PARENT_HEAT_TEMPLATE_UUID, CHILD_HEAT_TEMPLATE_UUID) + ); + + create table HEAT_TEMPLATE ( + ARTIFACT_UUID varchar(200) not null, + NAME varchar(200) not null, + VERSION varchar(20) not null, + BODY longtext not null, + TIMEOUT_MINUTES integer, + DESCRIPTION varchar(1200), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + ARTIFACT_CHECKSUM varchar(200) default 'MANUAL RECORD' not null, + primary key (ARTIFACT_UUID) + ); + + create table HEAT_TEMPLATE_PARAMS ( + HEAT_TEMPLATE_ARTIFACT_UUID varchar(255) not null, + PARAM_NAME varchar(255) not null, + IS_REQUIRED bit not null, + PARAM_TYPE varchar(20), + PARAM_ALIAS varchar(45), + primary key (HEAT_TEMPLATE_ARTIFACT_UUID, PARAM_NAME) + ); + + create table MODEL ( + id integer not null auto_increment, + MODEL_TYPE varchar(20) not null, + MODEL_VERSION_ID varchar(40) not null, + MODEL_INVARIANT_ID varchar(40), + MODEL_NAME varchar(40) not null, + MODEL_VERSION varchar(20), + MODEL_CUSTOMIZATION_ID varchar(40), + MODEL_CUSTOMIZATION_NAME varchar(40), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (id) + ); + + create table MODEL_RECIPE ( + id integer not null auto_increment, + MODEL_ID integer not null, + ACTION varchar(20) not null, + SCHEMA_VERSION varchar(20), + DESCRIPTION varchar(1200), + ORCHESTRATION_URI varchar(256) not null, + MODEL_PARAM_XSD varchar(2048), + RECIPE_TIMEOUT integer, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (id) + ); + + create table NETWORK_RECIPE ( + id integer not null auto_increment, + MODEL_NAME varchar(20) not null, + ACTION varchar(20) not null, + VERSION_STR varchar(20) not null, + SERVICE_TYPE varchar(45), + DESCRIPTION varchar(1200), + ORCHESTRATION_URI varchar(256) not null, + NETWORK_PARAM_XSD varchar(2048), + RECIPE_TIMEOUT integer, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (id) + ); + + create table NETWORK_RESOURCE ( + MODEL_UUID varchar(200) not null, + MODEL_NAME varchar(200) not null, + MODEL_INVARIANT_UUID varchar(200), + MODEL_VERSION varchar(20), + TOSCA_NODE_TYPE varchar(200), + NEUTRON_NETWORK_TYPE varchar(20), + DESCRIPTION varchar(1200), + ORCHESTRATION_MODE varchar(20), + HEAT_TEMPLATE_ARTIFACT_UUID varchar(200) not null, + AIC_VERSION_MIN varchar(20) default 2.5 not null, + AIC_VERSION_MAX varchar(20) default 2.5, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (MODEL_UUID) + ); + + create table NETWORK_RESOURCE_CUSTOMIZATION ( + MODEL_CUSTOMIZATION_UUID varchar(200) not null, + NETWORK_RESOURCE_MODEL_UUID varchar(200) not null, + MODEL_INSTANCE_NAME varchar(255), + NETWORK_TECHNOLOGY varchar(255), + NETWORK_TYPE varchar(255), + NETWORK_SCOPE varchar(255), + NETWORK_ROLE varchar(255), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (MODEL_CUSTOMIZATION_UUID) + ); + + create table SERVICE ( + MODEL_UUID varchar(200) not null, + MODEL_NAME varchar(200) not null, + MODEL_VERSION varchar(20) not null, + DESCRIPTION varchar(1200), + TOSCA_CSAR_ARTIFACT_UUID varchar(200), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + MODEL_INVARIANT_UUID varchar(200) default 'MANUAL_RECORD' not null, + SERVICE_TYPE varchar(20), + SERVICE_ROLE varchar(20), + primary key (MODEL_UUID) + ); + + create table SERVICE_RECIPE ( + id integer not null auto_increment, + SERVICE_MODEL_UUID varchar(200) not null, + ACTION varchar(40) not null, + ORCHESTRATION_URI varchar(256) not null, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + VERSION_STR varchar(20), + DESCRIPTION varchar(1200), + SERVICE_PARAM_XSD varchar(2048), + RECIPE_TIMEOUT integer, + SERVICE_TIMEOUT_INTERIM integer, + primary key (id) + ); + + create table SERVICE_TO_ALLOTTED_RESOURCES ( + SERVICE_MODEL_UUID varchar(200) not null, + AR_MODEL_CUSTOMIZATION_UUID varchar(200) not null, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (SERVICE_MODEL_UUID, AR_MODEL_CUSTOMIZATION_UUID) + ); + + create table SERVICE_TO_NETWORKS ( + SERVICE_MODEL_UUID varchar(200) not null, + NETWORK_MODEL_CUSTOMIZATION_UUID varchar(200) not null, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (SERVICE_MODEL_UUID, NETWORK_MODEL_CUSTOMIZATION_UUID) + ); + + create table SERVICE_TO_RESOURCE_CUSTOMIZATIONS ( + MODEL_TYPE varchar(20) not null, + RESOURCE_MODEL_CUSTOMIZATION_UUID varchar(200) not null, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + SERVICE_MODEL_UUID varchar(200) not null, + primary key (MODEL_TYPE, RESOURCE_MODEL_CUSTOMIZATION_UUID) + ); + + create table TEMP_NETWORK_HEAT_TEMPLATE_LOOKUP ( + NETWORK_RESOURCE_MODEL_NAME varchar(200) not null, + HEAT_TEMPLATE_ARTIFACT_UUID varchar(200) not null, + AIC_VERSION_MIN varchar(20) not null, + AIC_VERSION_MAX varchar(20), + primary key (NETWORK_RESOURCE_MODEL_NAME) + ); + + create table TOSCA_CSAR ( + ARTIFACT_UUID varchar(200) not null, + NAME varchar(200) not null, + VERSION varchar(20) not null, + ARTIFACT_CHECKSUM varchar(200) not null, + URL varchar(200) not null, + DESCRIPTION varchar(1200), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (ARTIFACT_UUID) + ); + + create table VF_MODULE ( + MODEL_UUID varchar(200) not null, + VNF_RESOURCE_MODEL_UUID varchar(200), + MODEL_INVARIANT_UUID varchar(200), + MODEL_VERSION varchar(20) not null, + MODEL_NAME varchar(200) not null, + DESCRIPTION varchar(1200), + IS_BASE integer not null, + HEAT_TEMPLATE_ARTIFACT_UUID varchar(200) not null, + VOL_HEAT_TEMPLATE_ARTIFACT_UUID varchar(200), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (MODEL_UUID) + ); + + create table VF_MODULE_CUSTOMIZATION ( + MODEL_CUSTOMIZATION_UUID varchar(200) not null, + VF_MODULE_MODEL_UUID varchar(200) not null, + VOL_ENVIRONMENT_ARTIFACT_UUID varchar(200), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + HEAT_ENVIRONMENT_ARTIFACT_UUID varchar(200), + MIN_INSTANCES integer, + MAX_INSTANCES integer, + INITIAL_COUNT integer, + AVAILABILITY_ZONE_COUNT integer, + LABEL varchar(200), + primary key (MODEL_CUSTOMIZATION_UUID) + ); + + create table VF_MODULE_TO_HEAT_FILES ( + VF_MODULE_MODEL_UUID varchar(200) not null, + HEAT_FILES_ARTIFACT_UUID varchar(200) not null, + primary key (VF_MODULE_MODEL_UUID, HEAT_FILES_ARTIFACT_UUID) + ); + + create table VNF_COMPONENTS ( + VNF_ID integer not null, + COMPONENT_TYPE varchar(20) not null, + HEAT_TEMPLATE_ID integer, + HEAT_ENVIRONMENT_ID integer, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (VNF_ID, COMPONENT_TYPE) + ); + + create table VNF_COMPONENTS_RECIPE ( + id integer not null auto_increment, + VNF_TYPE varchar(200), + VF_MODULE_MODEL_UUID varchar(100), + VNF_COMPONENT_TYPE varchar(45) not null, + ACTION varchar(20) not null, + SERVICE_TYPE varchar(45), + VERSION varchar(20), + DESCRIPTION varchar(1200), + ORCHESTRATION_URI varchar(256) not null, + VNF_COMPONENT_PARAM_XSD varchar(2048), + RECIPE_TIMEOUT integer, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (id) + ); + + create table VNF_RECIPE ( + id integer not null auto_increment, + VF_MODULE_ID varchar(100), + ACTION varchar(20) not null, + VERSION_STR varchar(20) not null, + VNF_TYPE varchar(200), + SERVICE_TYPE varchar(45) default null, + DESCRIPTION varchar(1200), + ORCHESTRATION_URI varchar(256) not null, + VNF_PARAM_XSD varchar(2048), + RECIPE_TIMEOUT integer, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (id) + ); + + create table VNF_RESOURCE ( + MODEL_UUID varchar(200) not null, + MODEL_INVARIANT_UUID varchar(200), + MODEL_VERSION varchar(20) not null, + MODEL_NAME varchar(200), + TOSCA_NODE_TYPE varchar(200), + DESCRIPTION varchar(1200), + ORCHESTRATION_MODE varchar(20) not null, + AIC_VERSION_MIN varchar(20), + AIC_VERSION_MAX varchar(20), + HEAT_TEMPLATE_ARTIFACT_UUID varchar(200), + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (MODEL_UUID) + ); + + create table VNF_RESOURCE_CUSTOMIZATION ( + MODEL_CUSTOMIZATION_UUID varchar(200) not null, + MODEL_INSTANCE_NAME varchar(200) not null, + MIN_INSTANCES integer, + MAX_INSTANCES integer, + AVAILABILITY_ZONE_MAX_COUNT integer, + NF_FUNCTION varchar(200), + NF_TYPE varchar(200), + NF_ROLE varchar(200), + NF_NAMING_CODE varchar(200), + VNF_RESOURCE_MODEL_UUID varchar(200) not null, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (MODEL_CUSTOMIZATION_UUID) + ); + + create table VNF_RES_CUSTOM_TO_VF_MODULE_CUSTOM ( + VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID varchar(200) not null, + VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID varchar(200) not null, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (VNF_RESOURCE_CUST_MODEL_CUSTOMIZATION_UUID, VF_MODULE_CUST_MODEL_CUSTOMIZATION_UUID) + ); + + alter table MODEL + add constraint UK_rra00f1rk6eyy7g00k9raxh2v unique (MODEL_TYPE, MODEL_VERSION_ID); + + alter table MODEL_RECIPE + add constraint UK_b4g8j9wtqrkxfycyi3ursk7gb unique (MODEL_ID, ACTION); + + alter table NETWORK_RECIPE + add constraint UK_pbsa8i44m8p10f9529jdgfuk9 unique (MODEL_NAME, ACTION, VERSION_STR); + + alter table SERVICE_RECIPE + add constraint UK_2lr377dpqnvl5aqlp5dtj2fcp unique (SERVICE_MODEL_UUID, ACTION); + + alter table VNF_COMPONENTS_RECIPE + add constraint UK_g3je95aaxxiuest25f0qoy2u8 unique (VNF_TYPE, VF_MODULE_MODEL_UUID, VNF_COMPONENT_TYPE, ACTION, SERVICE_TYPE, VERSION); + + alter table VNF_RECIPE + add constraint UK_f3tvqau498vrifq3cr8qnigkr unique (VF_MODULE_ID, ACTION, VERSION_STR); + + alter table HEAT_TEMPLATE_PARAMS + add constraint FK_p3ol1xcvp831glqohrlu6o07o + foreign key (HEAT_TEMPLATE_ARTIFACT_UUID) + references HEAT_TEMPLATE (ARTIFACT_UUID); + + alter table MODEL_RECIPE + add constraint FK_c23r0puyqug6n44jg39dutm1c + foreign key (MODEL_ID) + references MODEL (id); + + alter table SERVICE + add constraint FK_l3qy594u2xr1tfpmma3uigsna + foreign key (TOSCA_CSAR_ARTIFACT_UUID) + references TOSCA_CSAR (ARTIFACT_UUID); + + alter table SERVICE_RECIPE + add constraint FK_i3r1b8j6e7dg9hkp49evnnm5y + foreign key (SERVICE_MODEL_UUID) + references SERVICE (MODEL_UUID); + + alter table SERVICE_TO_RESOURCE_CUSTOMIZATIONS + add constraint FK_kiddaay6cfe0aob1f1jaio1bb + foreign key (SERVICE_MODEL_UUID) + references SERVICE (MODEL_UUID); + + alter table VF_MODULE + add constraint FK_12jptc9it7gs3pru08skobxxc + foreign key (VNF_RESOURCE_MODEL_UUID) + references VNF_RESOURCE (MODEL_UUID); + + alter table VNF_RESOURCE_CUSTOMIZATION + add constraint FK_iff1ayhb1hrp5jhea3vvikuni + foreign key (VNF_RESOURCE_MODEL_UUID) + references VNF_RESOURCE (MODEL_UUID); diff --git a/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql new file mode 100644 index 00000000..f64548e2 --- /dev/null +++ b/scripts/so/mariadb/docker-entrypoint-initdb.d/db-sql-scripts/main-schemas/MySQL-Requests-schema.sql @@ -0,0 +1,84 @@ + + drop table if exists INFRA_ACTIVE_REQUESTS; + + drop table if exists SITE_STATUS; + + create table INFRA_ACTIVE_REQUESTS ( + REQUEST_ID varchar(45) not null, + CLIENT_REQUEST_ID varchar(45), + ACTION varchar(45) not null, + REQUEST_STATUS varchar(20), + STATUS_MESSAGE varchar(2000), + PROGRESS bigint, + START_TIME datetime, + END_TIME datetime, + SOURCE varchar(45), + VNF_ID varchar(45), + VNF_NAME varchar(80), + VNF_TYPE varchar(200), + SERVICE_TYPE varchar(45), + AIC_NODE_CLLI varchar(11), + TENANT_ID varchar(45), + PROV_STATUS varchar(20), + VNF_PARAMS longtext, + VNF_OUTPUTS longtext, + REQUEST_BODY longtext, + RESPONSE_BODY longtext, + LAST_MODIFIED_BY varchar(50), + MODIFY_TIME datetime, + REQUEST_TYPE varchar(20), + VOLUME_GROUP_ID varchar(45), + VOLUME_GROUP_NAME varchar(45), + VF_MODULE_ID varchar(45), + VF_MODULE_NAME varchar(200), + VF_MODULE_MODEL_NAME varchar(200), + AAI_SERVICE_ID varchar(50), + AIC_CLOUD_REGION varchar(11), + CALLBACK_URL varchar(200), + CORRELATOR varchar(80), + SERVICE_INSTANCE_ID varchar(45), + SERVICE_INSTANCE_NAME varchar(80), + REQUEST_SCOPE varchar(20), + REQUEST_ACTION varchar(45) not null, + NETWORK_ID varchar(45), + NETWORK_NAME varchar(80), + NETWORK_TYPE varchar(80), + REQUESTOR_ID varchar(80), + primary key (REQUEST_ID) + ); + + create table SITE_STATUS ( + SITE_NAME varchar(255) not null, + STATUS bit, + CREATION_TIMESTAMP datetime default CURRENT_TIMESTAMP, + primary key (SITE_NAME) + ); + create table OPERATION_STATUS ( + SERVICE_ID varchar(255) not null, + OPERATION_ID varchar(255) not null, + SERVICE_NAME varchar(255), + OPERATION_TYPE varchar(255), + USER_ID varchar(255), + RESULT varchar(255), + OPERATION_CONTENT varchar(255), + PROGRESS varchar(255), + REASON varchar(255), + OPERATE_AT datetime, + FINISHED_AT datetime, + primary key (SERVICE_ID,OPERATION_ID) + ); + create table RESOURCE_OPERATION_STATUS ( + SERVICE_ID varchar(255) not null, + OPERATION_ID varchar(255) not null, + RESOURCE_TEMPLATE_UUID varchar(255) not null, + OPER_TYPE varchar(255), + RESOURCE_INSTANCE_ID varchar(255), + JOB_ID varchar(255), + STATUS varchar(255), + PROGRESS varchar(255), + ERROR_CODE varchar(255) , + STATUS_DESCRIPOTION varchar(255) , + primary key (SERVICE_ID,OPERATION_ID,RESOURCE_TEMPLATE_UUID) + ); + alter table INFRA_ACTIVE_REQUESTS + add constraint UK_bhu6w8p7wvur4pin0gjw2d5ak unique (CLIENT_REQUEST_ID); diff --git a/scripts/vid/clone_and_setup_vid_data.sh b/scripts/vid/clone_and_setup_vid_data.sh new file mode 100644 index 00000000..917016c7 --- /dev/null +++ b/scripts/vid/clone_and_setup_vid_data.sh @@ -0,0 +1,37 @@ +#!/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/sdc/clone_and_setup_vid_data.sh" + +# Clone sdc enviroment template + +mkdir -p ${WORKSPACE}/data/clone/ + +cd ${WORKSPACE}/data/clone +git clone --depth 1 http://gerrit.onap.org/r/vid -b master + + + + + diff --git a/scripts/vid/kill_containers_and_remove_dataFolders.sh b/scripts/vid/kill_containers_and_remove_dataFolders.sh new file mode 100644 index 00000000..33a799d5 --- /dev/null +++ b/scripts/vid/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/vid/kill_and_remove_dataFolder.sh" + +#kill and remove all vid dockers +docker stop $(docker ps -a -q --filter="name=vid") +docker rm $(docker ps -a -q --filter="name=vid") + + +#delete data folder + +rm -rf ${WORKSPACE}/data/* + + diff --git a/scripts/vid/start_vid_containers.sh b/scripts/vid/start_vid_containers.sh new file mode 100644 index 00000000..c4bdae2d --- /dev/null +++ b/scripts/vid/start_vid_containers.sh @@ -0,0 +1,51 @@ +#!/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/vid/start_vid_containers.sh" + +export IP=`ifconfig eth0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'` + +cd ${WORKSPACE}/test/csit/tests/vid/resources +docker-compose up -d --build + +# WAIT 5 minutes maximum and test every 5 seconds if VID up using HealthCheck API + +TIME_OUT=1200 +INTERVAL=5 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8080/vid/healthCheck); echo $response + + if [ "$response" == "200" ]; then + echo VID and its database well started in $TIME seconds + break; + fi + + echo Sleep: $INTERVAL seconds before testing if VID 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... +fi 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 |