diff options
Diffstat (limited to 'plans')
60 files changed, 1102 insertions, 637 deletions
diff --git a/plans/ccsdk-oran/polmansuite/FTC1.sh b/plans/ccsdk-oran/polmansuite/FTC1.sh new file mode 100755 index 00000000..1ccb425e --- /dev/null +++ b/plans/ccsdk-oran/polmansuite/FTC1.sh @@ -0,0 +1,226 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. 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================================================= +# + + +TC_ONELINE_DESCR="Sanity test, create service and then create,update and delete a policy using http/https and Agent REST/DMAAP with/without SDNC controller" + +#App names to include in the test, space separated list +INCLUDED_IMAGES="CBS CONSUL CP CR MR PA RICSIM SDNC" + +. ../common/testcase_common.sh $@ +. ../common/agent_api_functions.sh +. ../common/ricsimulator_api_functions.sh + +#### TEST BEGIN #### + + +generate_uuid + +# Tested variants of REST/DMAAP/SDNC config +TESTED_VARIANTS="REST DMAAP" +#Test agent and simulator protocol versions (others are http only) +TESTED_PROTOCOLS="HTTP HTTPS" + +for __httpx in $TESTED_PROTOCOLS ; do + for interface in $TESTED_VARIANTS ; do + + echo "#####################################################################" + echo "#####################################################################" + echo "### Testing agent: $interface using $__httpx" + echo "#####################################################################" + echo "#####################################################################" + + #Local vars in test script + ########################## + + if [ $__httpx == "HTTPS" ]; then + # Path to callback receiver + CR_PATH="https://$CR_APP_NAME:$CR_EXTERNAL_SECURE_PORT/callbacks" + use_cr_https + else + # Path to callback receiver + CR_PATH="http://$CR_APP_NAME:$CR_EXTERNAL_PORT/callbacks" + use_cr_http + fi + + # Clean container and start all needed containers # + clean_containers + + if [ $__httpx == "HTTPS" ]; then + #"Using secure ports towards simulators" + use_simulator_https + else + #"Using non-secure ports towards simulators" + use_simulator_http + fi + + start_ric_simulators ricsim_g1 1 OSC_2.1.0 + start_ric_simulators ricsim_g2 1 STD_1.1.3 + + start_mr + + if [ $__httpx == "HTTPS" ]; then + #echo "Using secure ports between agent and MR" + use_mr_https + else + #"Using non-secure ports between agent and MR" + use_mr_http + fi + + start_cr + + if [ $interface == "REST+SDNC" ] || [ $interface == "DMAAP+SDNC" ]; then + + start_sdnc + + if [ $__httpx == "HTTPS" ]; then + # "Using secure ports towards SDNC" + use_sdnc_https + else + #"Using non-secure ports towards SDNC" + use_sdnc_http + fi + fi + + start_consul_cbs + + if [ $interface == "REST+SDNC" ] || [ $interface == "DMAAP+SDNC" ]; then + prepare_consul_config SDNC ".consul_config.json" + else + prepare_consul_config NOSDNC ".consul_config.json" + fi + + consul_config_app ".consul_config.json" + + start_control_panel + + start_policy_agent + + set_agent_debug + + if [ $interface == "DMAAP" ] || [ $interface == "DMAAP+SDNC" ]; then + if [ $__httpx == "HTTPS" ]; then + echo "Using secure ports towards dmaap" + use_agent_dmaap_https + else + echo "Using non-secure ports towards dmaap" + use_agent_dmaap_http + fi + else + if [ $__httpx == "HTTPS" ]; then + echo "Using secure ports towards the agent" + use_agent_rest_https + else + echo "Using non-secure ports towards the agent" + use_agent_rest_http + fi + fi + + + cr_equal received_callbacks 0 + mr_equal requests_submitted 0 + + sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json + + api_equal json:rics 2 60 + + api_equal json:policy_schemas 2 120 + + api_equal json:policy_types 2 + + api_equal json:policies 0 + + api_equal json:policy_ids 0 + + echo "############################################" + echo "############## Health check ################" + echo "############################################" + + api_get_status 200 + + echo "############################################" + echo "##### Service registry and supervision #####" + echo "############################################" + + api_put_service 201 "serv1" 1000 "$CR_PATH/1" + + api_get_service_ids 200 "serv1" + + api_put_services_keepalive 200 "serv1" + + echo "############################################" + echo "############## RIC Repository ##############" + echo "############################################" + + api_get_rics 200 NOTYPE "ricsim_g1_1:me1_ricsim_g1_1,me2_ricsim_g1_1:1:AVAILABLE ricsim_g2_1:me1_ricsim_g2_1,me2_ricsim_g2_1:EMPTYTYPE:AVAILABLE" + + echo "############################################" + echo "########### A1 Policy Management ###########" + echo "############################################" + + api_put_policy 201 "serv1" ricsim_g1_1 1 5000 NOTRANSIENT testdata/OSC/pi1_template.json + api_put_policy 200 "serv1" ricsim_g1_1 1 5000 NOTRANSIENT testdata/OSC/pi1_template.json + + api_put_policy 201 "serv1" ricsim_g2_1 NOTYPE 5100 NOTRANSIENT testdata/STD/pi1_template.json + api_put_policy 200 "serv1" ricsim_g2_1 NOTYPE 5100 NOTRANSIENT testdata/STD/pi1_template.json + + api_delete_policy 204 5000 + + api_delete_policy 204 5100 + + api_equal json:policies 0 + + api_equal json:policy_ids 0 + + cr_equal received_callbacks 0 + + if [ $interface == "DMAAP" ] || [ $interface == "DMAAP+SDNC" ]; then + VAL=11 # Number of Agent API calls over DMAAP + mr_equal requests_fetched $VAL + mr_equal responses_submitted $VAL + mr_equal responses_fetched $VAL + mr_equal current_requests 0 + mr_equal current_responses 0 + else + mr_equal requests_submitted 0 + fi + + if [ $interface == "REST+SDNC" ] || [ $interface == "DMAAP+SDNC" ]; then + sim_contains_str ricsim_g1_1 remote_hosts "a1-controller" + sim_contains_str ricsim_g2_1 remote_hosts "a1-controller" + else + sim_contains_str ricsim_g1_1 remote_hosts "policy-agent" + sim_contains_str ricsim_g2_1 remote_hosts "policy-agent" + fi + + check_policy_agent_logs + check_control_panel_logs + + store_logs "${__httpx}__${interface}" + + done + +done + +#### TEST COMPLETE #### + + +print_result + +auto_clean_containers diff --git a/plans/ccsdk-oran/polmansuite/FTC150.sh b/plans/ccsdk-oran/polmansuite/FTC150.sh new file mode 100755 index 00000000..c6c690d1 --- /dev/null +++ b/plans/ccsdk-oran/polmansuite/FTC150.sh @@ -0,0 +1,113 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. 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================================================= +# + + +TC_ONELINE_DESCR="Sample tests of the SDNC A1 controller restconf API using http/https (no agent)" + +#App names to include in the test, space separated list +INCLUDED_IMAGES="RICSIM SDNC" + +. ../common/testcase_common.sh $@ +. ../common/controller_api_functions.sh +. ../common/ricsimulator_api_functions.sh + +#### TEST BEGIN #### + +generate_uuid + +#Test agent and simulator protocol versions (others are http only) +NB_TESTED_PROTOCOLS="HTTP HTTPS" +SB_TESTED_PROTOCOLS="HTTP HTTPS" + +for __nb_httpx in $NB_TESTED_PROTOCOLS ; do + for __sb_httpx in $SB_TESTED_PROTOCOLS ; do + + echo "#####################################################################" + echo "#####################################################################" + echo "### Testing SDNC using Northbound: $__nb_httpx and Southbound: $__sb_httpx" + echo "#####################################################################" + echo "#####################################################################" + + + # Clean container and start all needed containers # + clean_containers + + start_ric_simulators ricsim_g1 1 OSC_2.1.0 + start_ric_simulators ricsim_g2 1 STD_1.1.3 + + start_sdnc + + if [ $__nb_httpx == "HTTPS" ]; then + # "Using secure ports towards SDNC" + use_sdnc_https + else + #"Using non-secure ports towards SDNC" + use_sdnc_http + fi + + if [ $__sb_httpx == "HTTPS" ]; then + # "Using secure ports towards SDNC" + use_simulator_https + else + #"Using non-secure ports towards SDNC" + use_simulator_http + fi + + # API tests + + controller_api_get_A1_policy_type 404 OSC ricsim_g1_1 1 + + sim_put_policy_type 201 ricsim_g1_1 1 testdata/OSC/sim_1.json + + + controller_api_get_A1_policy_ids 200 OSC ricsim_g1_1 1 + controller_api_get_A1_policy_ids 200 STD ricsim_g2_1 + + controller_api_get_A1_policy_type 200 OSC ricsim_g1_1 1 + controller_api_get_A1_policy_type 200 OSC ricsim_g1_1 1 testdata/OSC/sim_1.json + controller_api_get_A1_policy_type 404 OSC ricsim_g1_1 99 + + controller_api_put_A1_policy 200 OSC ricsim_g1_1 1 4000 testdata/OSC/pi1_template.json + controller_api_put_A1_policy 404 OSC ricsim_g1_1 5 1001 testdata/OSC/pi1_template.json + controller_api_put_A1_policy 200 STD ricsim_g2_1 5000 testdata/STD/pi1_template.json + + controller_api_get_A1_policy_ids 200 OSC ricsim_g1_1 1 4000 + controller_api_get_A1_policy_ids 200 STD ricsim_g2_1 5000 + + controller_api_get_A1_policy_status 200 OSC ricsim_g1_1 1 4000 + controller_api_get_A1_policy_status 200 STD ricsim_g2_1 5000 + + VAL='NOT IN EFFECT' + controller_api_get_A1_policy_status 200 OSC ricsim_g1_1 1 4000 "$VAL" "false" + controller_api_get_A1_policy_status 200 STD ricsim_g2_1 5000 "UNDEFINED" + + controller_api_delete_A1_policy 200 OSC ricsim_g1_1 1 4000 + controller_api_delete_A1_policy 200 STD ricsim_g2_1 5000 + + store_logs "NB_"$__nb_httpx"_SB_"$__sb_httpx + + done + +done + +#### TEST COMPLETE #### + +print_result + +auto_clean_containers
\ No newline at end of file diff --git a/plans/ccsdk-oran/polmansuite/setup.sh b/plans/ccsdk-oran/polmansuite/setup.sh new file mode 100755 index 00000000..b02d9db3 --- /dev/null +++ b/plans/ccsdk-oran/polmansuite/setup.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. 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================================================= + + +cd $WORKSPACE/archives + +git clone "https://gerrit.o-ran-sc.org/r/nonrtric" + +AUTOTEST_ROOT=$WORKSPACE/archives/nonrtric/test/auto-test +POLMAN_PLANS=$WORKSPACE/plans/ccsdk-oran/polmansuite + +#Copy test script, adapted to ONAP images +cp $POLMAN_PLANS/FTC1.sh $WORKSPACE/archives/nonrtric/test/auto-test/FTC1.sh +cp $POLMAN_PLANS/FTC150.sh $WORKSPACE/archives/nonrtric/test/auto-test/FTC150.sh + +TEST_ENV=$POLMAN_PLANS/test_env-${GERRIT_BRANCH}.sh + +#Make the env vars availble to the robot scripts +ROBOT_VARIABLES="-b debug.log -v AUTOTEST_ROOT:${AUTOTEST_ROOT} -v TEST_ENV:${TEST_ENV}" + diff --git a/plans/ccsdk-oran/polmansuite/teardown.sh b/plans/ccsdk-oran/polmansuite/teardown.sh new file mode 100755 index 00000000..6b0c5f6b --- /dev/null +++ b/plans/ccsdk-oran/polmansuite/teardown.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. 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================================================= + +# All started containers stopped and removed by the test case + + +# Fix ownership. Mounted resources to consul changes ownership which prevents csit test cleanup +cd $WORKSPACE/archives/nonrtric/test/simulator-group/ +sudo chown $(id -u):$(id -g) consul_cbs +sudo chown $(id -u):$(id -g) consul_cbs/consul + diff --git a/plans/ccsdk-oran/polmansuite/test_env-guilin.sh b/plans/ccsdk-oran/polmansuite/test_env-guilin.sh new file mode 100644 index 00000000..e7a90303 --- /dev/null +++ b/plans/ccsdk-oran/polmansuite/test_env-guilin.sh @@ -0,0 +1,147 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. 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================================================= +# + +# Set up the image and tags for the test. Do not add the image tag to the image names. + +# NOTE: A env var for each container is created by the test script. +# This var will point to the local or remote var depending on how +# the test script is started. The name format is <container-name>_IMAGE, ie with 'LOCAL' or 'REMOTE'. + +# Tag for guilin branch +# Remote Policy Agent image and tag +POLICY_AGENT_REMOTE_IMAGE="nexus3.onap.org:10003/onap/ccsdk-oran-a1policymanagementservice" +POLICY_AGENT_REMOTE_IMAGE_TAG="1.0.1-SNAPSHOT" + + +# Control Panel remote image and tag +CONTROL_PANEL_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-controlpanel" +CONTROL_PANEL_REMOTE_IMAGE_TAG="2.0.0" + +# Tag for guilin branch +# SDNC A1 Controller remote image and tag +SDNC_A1_CONTROLLER_REMOTE_IMAGE="nexus3.onap.org:10003/onap/sdnc-image" +SDNC_A1_CONTROLLER_REMOTE_IMAGE_TAG="2.0.2-STAGING-latest" + + +#SDNC DB remote image and tag +SDNC_DB_REMOTE_IMAGE="mysql/mysql-server" +SDNC_DB_REMOTE_IMAGE_TAG="5.6" +#No local image for DB, remote image always used + + +# Near RT RIC Simulator remote image and tag +RIC_SIM_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/a1-simulator" +RIC_SIM_REMOTE_IMAGE_TAG="2.0.0" + + +#Consul remote image and tag +CONSUL_REMOTE_IMAGE="consul" +CONSUL_REMOTE_IMAGE_TAG="1.7.2" +#No local image for Consul, remote image always used + + +#CBS remote image and tag +CBS_REMOTE_IMAGE="nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app" +CBS_REMOTE_IMAGE_TAG="2.3.0" +#No local image for CBS, remote image always used + + +#MR stub image and tag +MRSTUB_LOCAL_IMAGE="mrstub" +MRSTUB_LOCAL_IMAGE_TAG="latest" +#No remote image for MR stub, local image always used + +#Callback receiver image and tag +CR_LOCAL_IMAGE="callback-receiver" +CR_LOCAL_IMAGE_TAG="latest" +#No remote image for CR, local image always used + +# Common env var for auto-test. Vars used by docker-compose need to be exported +export DOCKER_SIM_NWNAME="nonrtric-docker-net" # Name of docker private network + +export POLICY_AGENT_EXTERNAL_PORT=8081 # Policy Agent container external port (host -> container) +export POLICY_AGENT_INTERNAL_PORT=8081 # Policy Agent container internal port (container -> container) +export POLICY_AGENT_EXTERNAL_SECURE_PORT=8433 # Policy Agent container external secure port (host -> container) +export POLICY_AGENT_INTERNAL_SECURE_PORT=8433 # Policy Agent container internal secure port (container -> container) + +export POLICY_AGENT_APP_NAME="policy-agent" # Name for Policy Agent container +POLICY_AGENT_LOGPATH="/var/log/policy-agent/application.log" # Path the application log in the Policy Agent container +export POLICY_AGENT_APP_NAME_ALIAS="policy-agent-container" # Alias name, name used by the control panel + +export MR_EXTERNAL_PORT=3905 # MR stub container external port (host -> container) +export MR_INTERNAL_PORT=3905 # MR stub container internal port (container -> container) +export MR_EXTERNAL_SECURE_PORT=3906 # MR stub container external secure port (host -> container) +export MR_INTERNAL_SECURE_PORT=3906 # MR stub container internal secure port (container -> container) +export MR_APP_NAME="message-router" # Name for the MR +export MR_READ_URL="/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=15000&limit=100" # Path to read messages from MR +export MR_WRITE_URL="/events/A1-POLICY-AGENT-WRITE" # Path write messages to MR + +export CR_EXTERNAL_PORT=8090 # Callback receiver container external port (host -> container) +export CR_INTERNAL_PORT=8090 # Callback receiver container internal port (container -> container) +export CR_EXTERNAL_SECURE_PORT=8091 # Callback receiver container external secure port (host -> container) +export CR_INTERNAL_SECURE_PORT=8091 # Callback receiver container internal secure port (container -> container) +export CR_APP_NAME="callback-receiver" # Name for the Callback receiver + +export CONSUL_HOST="consul-server" # Host name of consul +export CONSUL_EXTERNAL_PORT=8500 # Consul container external port (host -> container) +export CONSUL_INTERNAL_PORT=8500 # Consul container internal port (container -> container) +export CONSUL_APP_NAME="polman-consul" # Name for consul container + +export CBS_APP_NAME="polman-cbs" # Name for CBS container +export CBS_EXTERNAL_PORT=10000 # CBS container external port (host -> container) +export CBS_INTERNAL_PORT=10000 # CBS container internal port (container -> container) +export CONFIG_BINDING_SERVICE="config-binding-service" # Host name of CBS + +export RIC_SIM_BASE="g" # Base name of the RIC Simulator container, shall be the group code + # Note, a prefix is added to each container name by the .env file in the 'ric' dir +RIC_SIM_PREFIX="ricsim" # Prefix added to ric container name, added in the .env file in the 'ric' dir + # This prefix can be changed from the command line +export RIC_SIM_INTERNAL_PORT=8085 # RIC Simulator container internal port (container -> container). + # (external ports allocated by docker) +export RIC_SIM_INTERNAL_SECURE_PORT=8185 # RIC Simulator container internal secure port (container -> container). + # (external ports allocated by docker) + +export SDNC_APP_NAME="a1-controller" # Name of the SNDC A1 Controller container +export SDNC_EXTERNAL_PORT=8282 # SNDC A1 Controller container external port (host -> container) +export SDNC_INTERNAL_PORT=8181 # SNDC A1 Controller container internal port (container -> container) +export SDNC_EXTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container external securee port (host -> container) +export SDNC_INTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container internal secure port (container -> container) +export SDNC_DB_APP_NAME="sdnc-db" # Name of the SDNC DB container +export SDNC_A1_TRUSTSTORE_PASSWORD="a1adapter" # SDNC truststore password +SDNC_USER="admin" # SDNC username +SDNC_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" # SNDC PWD +SDNC_API_URL="/restconf/operations/A1-ADAPTER-API:" # Base url path for SNDC API +SDNC_ALIVE_URL="/apidoc/explorer/" # Base url path for SNDC API docs (for alive check) +SDNC_KARAF_LOG="/opt/opendaylight/data/log/karaf.log" # Path to karaf log + + +export CONTROL_PANEL_APP_NAME="control-panel" # Name of the Control Panel container +export CONTROL_PANEL_EXTERNAL_PORT=8080 # Control Panel container external port (host -> container) +export CONTROL_PANEL_INTERNAL_PORT=8080 # Control Panel container external port (host -> container) +CONTROL_PANEL_LOGPATH="/logs/nonrtric-controlpanel.log" # Path the application log in the Control Panel container + +UUID="" # UUID used as prefix to the policy id to simulate a real UUID + # Testscript need to set the UUID to use other this empty prefix is used + +RESTBASE="http://localhost:"$POLICY_AGENT_EXTERNAL_PORT # Base url to the Agent NB REST interface +RESTBASE_SECURE="https://localhost:"$POLICY_AGENT_EXTERNAL_SECURE_PORT # Base url to the secure Agent NB REST interface +DMAAPBASE="http://localhost:"$MR_EXTERNAL_PORT # Base url to the Dmaap adapter, http +DMAAPBASE_SECURE="https://localhost:"$MR_EXTERNAL_SECURE_PORT # Base url to the Dmaap adapter, https +ADAPTER=$RESTBASE # Adapter holds the address the agent R-APP interface (REST OR DMAAP) + # The values of this var is swiched between the two base url when needed diff --git a/plans/ccsdk-oran/polmansuite/test_env-master.sh b/plans/ccsdk-oran/polmansuite/test_env-master.sh new file mode 100644 index 00000000..874c8bd7 --- /dev/null +++ b/plans/ccsdk-oran/polmansuite/test_env-master.sh @@ -0,0 +1,147 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. 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================================================= +# + +# Set up the image and tags for the test. Do not add the image tag to the image names. + +# NOTE: A env var for each container is created by the test script. +# This var will point to the local or remote var depending on how +# the test script is started. The name format is <container-name>_IMAGE, ie with 'LOCAL' or 'REMOTE'. + + +# Remote Policy Agent image and tag +POLICY_AGENT_REMOTE_IMAGE="nexus3.onap.org:10003/onap/ccsdk-oran-a1policymanagementservice" +POLICY_AGENT_REMOTE_IMAGE_TAG="1.1.0-SNAPSHOT" + + +# Control Panel remote image and tag +CONTROL_PANEL_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-controlpanel" +CONTROL_PANEL_REMOTE_IMAGE_TAG="2.0.0" + + +# SDNC A1 Controller remote image and tag +SDNC_A1_CONTROLLER_REMOTE_IMAGE="nexus3.onap.org:10003/onap/sdnc-image" +SDNC_A1_CONTROLLER_REMOTE_IMAGE_TAG="2.1.0-STAGING-latest" + + +#SDNC DB remote image and tag +SDNC_DB_REMOTE_IMAGE="mysql/mysql-server" +SDNC_DB_REMOTE_IMAGE_TAG="5.6" +#No local image for DB, remote image always used + + +# Near RT RIC Simulator remote image and tag +RIC_SIM_REMOTE_IMAGE="nexus3.o-ran-sc.org:10004/o-ran-sc/a1-simulator" +RIC_SIM_REMOTE_IMAGE_TAG="2.0.0" + + +#Consul remote image and tag +CONSUL_REMOTE_IMAGE="consul" +CONSUL_REMOTE_IMAGE_TAG="1.7.2" +#No local image for Consul, remote image always used + + +#CBS remote image and tag +CBS_REMOTE_IMAGE="nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding.app-app" +CBS_REMOTE_IMAGE_TAG="2.3.0" +#No local image for CBS, remote image always used + + +#MR stub image and tag +MRSTUB_LOCAL_IMAGE="mrstub" +MRSTUB_LOCAL_IMAGE_TAG="latest" +#No remote image for MR stub, local image always used + +#Callback receiver image and tag +CR_LOCAL_IMAGE="callback-receiver" +CR_LOCAL_IMAGE_TAG="latest" +#No remote image for CR, local image always used + +# Common env var for auto-test. Vars used by docker-compose need to be exported +export DOCKER_SIM_NWNAME="nonrtric-docker-net" # Name of docker private network + +export POLICY_AGENT_EXTERNAL_PORT=8081 # Policy Agent container external port (host -> container) +export POLICY_AGENT_INTERNAL_PORT=8081 # Policy Agent container internal port (container -> container) +export POLICY_AGENT_EXTERNAL_SECURE_PORT=8433 # Policy Agent container external secure port (host -> container) +export POLICY_AGENT_INTERNAL_SECURE_PORT=8433 # Policy Agent container internal secure port (container -> container) + +export POLICY_AGENT_APP_NAME="policy-agent" # Name for Policy Agent container +POLICY_AGENT_LOGPATH="/var/log/policy-agent/application.log" # Path the application log in the Policy Agent container +export POLICY_AGENT_APP_NAME_ALIAS="policy-agent-container" # Alias name, name used by the control panel + +export MR_EXTERNAL_PORT=3905 # MR stub container external port (host -> container) +export MR_INTERNAL_PORT=3905 # MR stub container internal port (container -> container) +export MR_EXTERNAL_SECURE_PORT=3906 # MR stub container external secure port (host -> container) +export MR_INTERNAL_SECURE_PORT=3906 # MR stub container internal secure port (container -> container) +export MR_APP_NAME="message-router" # Name for the MR +export MR_READ_URL="/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=15000&limit=100" # Path to read messages from MR +export MR_WRITE_URL="/events/A1-POLICY-AGENT-WRITE" # Path write messages to MR + +export CR_EXTERNAL_PORT=8090 # Callback receiver container external port (host -> container) +export CR_INTERNAL_PORT=8090 # Callback receiver container internal port (container -> container) +export CR_EXTERNAL_SECURE_PORT=8091 # Callback receiver container external secure port (host -> container) +export CR_INTERNAL_SECURE_PORT=8091 # Callback receiver container internal secure port (container -> container) +export CR_APP_NAME="callback-receiver" # Name for the Callback receiver + +export CONSUL_HOST="consul-server" # Host name of consul +export CONSUL_EXTERNAL_PORT=8500 # Consul container external port (host -> container) +export CONSUL_INTERNAL_PORT=8500 # Consul container internal port (container -> container) +export CONSUL_APP_NAME="polman-consul" # Name for consul container + +export CBS_APP_NAME="polman-cbs" # Name for CBS container +export CBS_EXTERNAL_PORT=10000 # CBS container external port (host -> container) +export CBS_INTERNAL_PORT=10000 # CBS container internal port (container -> container) +export CONFIG_BINDING_SERVICE="config-binding-service" # Host name of CBS + +export RIC_SIM_BASE="g" # Base name of the RIC Simulator container, shall be the group code + # Note, a prefix is added to each container name by the .env file in the 'ric' dir +RIC_SIM_PREFIX="ricsim" # Prefix added to ric container name, added in the .env file in the 'ric' dir + # This prefix can be changed from the command line +export RIC_SIM_INTERNAL_PORT=8085 # RIC Simulator container internal port (container -> container). + # (external ports allocated by docker) +export RIC_SIM_INTERNAL_SECURE_PORT=8185 # RIC Simulator container internal secure port (container -> container). + # (external ports allocated by docker) + +export SDNC_APP_NAME="a1-controller" # Name of the SNDC A1 Controller container +export SDNC_EXTERNAL_PORT=8282 # SNDC A1 Controller container external port (host -> container) +export SDNC_INTERNAL_PORT=8181 # SNDC A1 Controller container internal port (container -> container) +export SDNC_EXTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container external securee port (host -> container) +export SDNC_INTERNAL_SECURE_PORT=8443 # SNDC A1 Controller container internal secure port (container -> container) +export SDNC_DB_APP_NAME="sdnc-db" # Name of the SDNC DB container +export SDNC_A1_TRUSTSTORE_PASSWORD="a1adapter" # SDNC truststore password +SDNC_USER="admin" # SDNC username +SDNC_PWD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" # SNDC PWD +SDNC_API_URL="/restconf/operations/A1-ADAPTER-API:" # Base url path for SNDC API +SDNC_ALIVE_URL="/apidoc/explorer/" # Base url path for SNDC API docs (for alive check) +SDNC_KARAF_LOG="/opt/opendaylight/data/log/karaf.log" # Path to karaf log + + +export CONTROL_PANEL_APP_NAME="control-panel" # Name of the Control Panel container +export CONTROL_PANEL_EXTERNAL_PORT=8080 # Control Panel container external port (host -> container) +export CONTROL_PANEL_INTERNAL_PORT=8080 # Control Panel container external port (host -> container) +CONTROL_PANEL_LOGPATH="/logs/nonrtric-controlpanel.log" # Path the application log in the Control Panel container + +UUID="" # UUID used as prefix to the policy id to simulate a real UUID + # Testscript need to set the UUID to use other this empty prefix is used + +RESTBASE="http://localhost:"$POLICY_AGENT_EXTERNAL_PORT # Base url to the Agent NB REST interface +RESTBASE_SECURE="https://localhost:"$POLICY_AGENT_EXTERNAL_SECURE_PORT # Base url to the secure Agent NB REST interface +DMAAPBASE="http://localhost:"$MR_EXTERNAL_PORT # Base url to the Dmaap adapter, http +DMAAPBASE_SECURE="https://localhost:"$MR_EXTERNAL_SECURE_PORT # Base url to the Dmaap adapter, https +ADAPTER=$RESTBASE # Adapter holds the address the agent R-APP interface (REST OR DMAAP) + # The values of this var is swiched between the two base url when needed diff --git a/plans/ccsdk-oran/polmansuite/testplan.txt b/plans/ccsdk-oran/polmansuite/testplan.txt new file mode 100644 index 00000000..29191bd8 --- /dev/null +++ b/plans/ccsdk-oran/polmansuite/testplan.txt @@ -0,0 +1,24 @@ +#!/bin/bash + +# ============LICENSE_START=============================================== +# Copyright (C) 2020 Nordix Foundation. 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================================================= + + +# Test suites are relative paths under [integration/csit.git]/tests/. +# Place the suites in run order. +# Temporary change to trigger verify job. +ccsdk-oran/polmansuite + diff --git a/plans/ccsdk/healthcheck/health_check.sh b/plans/ccsdk/healthcheck/health_check.sh deleted file mode 100644 index 58ccb42a..00000000 --- a/plans/ccsdk/healthcheck/health_check.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env 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. -############################################################################### -SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -echo $SCRIPTS - -unset http_proxy https_proxy - -response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-sdnc" -H "X-TransactionId: csit-ccsdk" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"input":{"dummy":"dummy"}}' http://localhost:8383/restconf/operations/SLI-API:healthcheck ) - -if [ "$response" == "200" ]; then - echo "CCSDK health check passed." - exit 0; -fi - -echo "CCSDK health check failed with response code ${response}." -exit 1 diff --git a/plans/ccsdk/healthcheck/setup.sh b/plans/ccsdk/healthcheck/setup.sh index bfc6e968..6a3841ec 100644 --- a/plans/ccsdk/healthcheck/setup.sh +++ b/plans/ccsdk/healthcheck/setup.sh @@ -15,23 +15,20 @@ # limitations under the License. # # Modifications copyright (c) 2017 AT&T Intellectual Property +# Modifications copyright (c) 2020 Samsung Electronics Co., Ltd. # # Place the scripts in run order: -SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source ${WORKSPACE}/scripts/ccsdk/script1.sh - export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) export NEXUS_DOCKER_REPO="nexus3.onap.org:10001" export NEXUS_USERNAME=docker export NEXUS_PASSWD=docker export DMAAP_TOPIC=AUTO -export CCSDK_DOCKER_IMAGE_VERSION=0.6-STAGING-latest +export CCSDK_DOCKER_IMAGE_VERSION=1.1-STAGING-latest if [ "$MTU" == "" ]; then export MTU="1450" fi - # Clone CCSDK repo to get docker-compose for CCSDK mkdir -p $WORKSPACE/archives/ccsdk cd $WORKSPACE/archives @@ -45,50 +42,24 @@ sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="AUTO"/g" docker-compose.yml docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-odlsli-alpine-image:$CCSDK_DOCKER_IMAGE_VERSION -docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-odlsli-alpine-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-odlsli-alpine-image:0.4-STAGING-latest docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION -docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:0.4-STAGING-latest - -docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-odlsli-image:$CCSDK_DOCKER_IMAGE_VERSION -docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-odlsli-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-odlsli-image:0.4-STAGING-latest # start CCSDK containers with docker compose and configuration from docker-compose.yml curl -L https://github.com/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > docker-compose chmod +x docker-compose ./docker-compose up -d -# WAIT 5 minutes maximum and test every 5 seconds if CCSDK is up using HealthCheck API -TIME_OUT=500 -INTERVAL=30 -TIME=0 -while [ "$TIME" -lt "$TIME_OUT" ]; do - response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-ccsdk" -H "X-TransactionId: csit-ccsdk" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"input":{"dummy":"dummy"}}' http://localhost:8383/restconf/operations/SLI-API:healthcheck ); echo $response - - if [ "$response" == "200" ]; then - echo CCSDK started in $TIME seconds - break; - fi - - echo Sleep: $INTERVAL seconds before testing if CCSDK 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 testing activities... -fi - -#sleep 800 +# WAIT 5 minutes maximum and check karaf.log for readiness every 10 seconds -TIME_OUT=1500 -INTERVAL=60 +TIME_OUT=300 +INTERVAL=10 TIME=0 while [ "$TIME" -lt "$TIME_OUT" ]; do -response=$(docker exec ccsdk_odlsli_container /opt/opendaylight/current/bin/client system:start-level) +docker exec ccsdk_odlsli_container cat /opt/opendaylight/data/log/karaf.log | grep 'warp coils' - if [ "$response" == "Level 100" ] ; then + if [ $? == 0 ] ; then echo CCSDK karaf started in $TIME seconds break; fi @@ -99,16 +70,16 @@ response=$(docker exec ccsdk_odlsli_container /opt/opendaylight/current/bin/clie done if [ "$TIME" -ge "$TIME_OUT" ]; then - echo TIME OUT: karaf session not started in $TIME_OUT seconds... Could cause problems for testing activities... + echo TIME OUT: karaf session not started in $TIME_OUT seconds, setup failed + exit 1; fi -response=$(docker exec ccsdk_odlsli_container /opt/opendaylight/current/bin/client system:start-level) -num_bundles=$(docker exec ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d\| -f1) +num_bundles=$(docker exec -i ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d' ' -f1) - if [ "$response" == "Level 100" ] && [ "$num_bundles" -ge 333 ]; then - num_bundles=$(docker exec ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d\| -f1) - num_failed_bundles=$(docker exec ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l) - failed_bundles=$(docker exec ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | grep Failure) + if [ "$num_bundles" -ge 333 ]; then + num_bundles=$(docker exec -i ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d' ' -f1) + num_failed_bundles=$(docker exec -i ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l) + failed_bundles=$(docker exec -i ccsdk_odlsli_container /opt/opendaylight/current/bin/client bundle:list | grep Failure) echo There is/are $num_failed_bundles failed bundles out of $num_bundles installed bundles. fi diff --git a/plans/ccsdk/oran/functionality1/setup.sh b/plans/ccsdk/oran/functionality1/setup.sh deleted file mode 100755 index f9fe0c55..00000000 --- a/plans/ccsdk/oran/functionality1/setup.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/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. -# -# Place the scripts in run order: -source ${WORKSPACE}/scripts/ccsdk/script1.sh - -# CLI internet speed test -curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python - - -# Test download a 100 MB file to check network speed to nexus.onap.org -wget -O /dev/null https://nexus.onap.org/content/repositories/releases/org/onap/appc/appc-dg-shared-installer/1.3.0/appc-dg-shared-installer-1.3.0.zip - -# Test download a 100 MB file to check network speed to nexus3.onap.org -wget -O /dev/null https://nexus3.onap.org/repository/docker.release/v2/-/blobs/sha256:04dc4b8163487bb1c40df1ce16f349b507c262d6e2f202baa2e66a42eb8c64a1 - diff --git a/plans/cli/sanity-check/setup.sh b/plans/cli/sanity-check/setup.sh index 7945ff56..5050cb6e 100644 --- a/plans/cli/sanity-check/setup.sh +++ b/plans/cli/sanity-check/setup.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2017 Huawei Technologies Co., Ltd. +# Copyright 2020 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. @@ -15,33 +15,11 @@ # limitations under the License. # # Place the scripts in run order: -source ${SCRIPTS}/common_functions.sh - -#start msb -docker run -d -p 8500:8500 --name msb_consul consul:0.9.3 -MSB_CONSUL_IP=`get-instance-ip.sh msb_consul` -echo MSB_CONSUL_IP=${MSB_CONSUL_IP} - -docker run -d -p 10081:10081 -e CONSUL_IP=$MSB_CONSUL_IP --name msb_discovery nexus3.onap.org:10001/onap/msb/msb_discovery -MSB_DISCOVERY_IP=`get-instance-ip.sh msb_discovery` -echo DISCOVERY_IP=${MSB_DISCOVERY_IP} - -docker run -d -p 80:80 -e CONSUL_IP=$MSB_CONSUL_IP -e SDCLIENT_IP=$MSB_DISCOVERY_IP -e "ROUTE_LABELS=visualRange:1" --name msb_internal_apigateway nexus3.onap.org:10001/onap/msb/msb_apigateway -MSB_IAG_IP=`get-instance-ip.sh msb_internal_apigateway` -echo MSB_IAG_IP=${MSB_IAG_IP} -# Wait for initialization(8500 Consul, 10081 Service Registration & Discovery, 80 api gateway) -for i in {1..10}; do - curl -sS -m 1 ${MSB_CONSUL_IP}:8500 && curl -sS -m 1 ${MSB_DISCOVERY_IP}:10081 && curl -sS -m 1 ${MSB_IAG_IP}:80 && break - echo sleep $i - sleep $i -done - -#Need some time for the initialization of MSB services -sleep 60 +source ${SCRIPTS}/common_functions.sh # Start cli -docker run -d --name cli -e CLI_MODE=daemon nexus3.onap.org:10001/onap/cli:v1.1.0 +docker run -d --name cli -e OPEN_CLI_MODE=daemon nexus3.onap.org:10001/onap/cli:6.0.0 # Wait for cli initialization echo Wait for CLI initialization @@ -52,4 +30,4 @@ done CLI_IP=`get-instance-ip.sh cli` # Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v CLI_IP:${CLI_IP} -v MSB_IAG_IP:${MSB_IAG_IP}" +ROBOT_VARIABLES="-v CLI_IP:${CLI_IP}" diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/aai_sim/aai-initializer.json b/plans/dcaegen2-services-pmsh/testsuite/assets/aai_sim/aai-initializer.json index 3b8c127e..5705e325 100644 --- a/plans/dcaegen2-services-pmsh/testsuite/assets/aai_sim/aai-initializer.json +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/aai_sim/aai-initializer.json @@ -1,7 +1,7 @@ [ { "httpRequest": { - "path": "/aai/v19/query.*" + "path": "/aai/v20/query.*" }, "httpResponse": { "statusCode": 200, @@ -49,6 +49,8 @@ "serial-number": "6061ZW3", "ipaddress-v6-oam": "2001:0db8:0:0:0:0:1428:57ab", "resource-version": "1573053304574", + "model-invariant-id": "7129e420-d396-4efb-af02-6b83499b12f8", + "model-version-id": "77c1a3d9-422a-4f78-bd8f-f7a357685b25", "nf-role": "gNB", "orchestration-status": "Active" } @@ -57,5 +59,57 @@ } } } - } + }, + { + "httpRequest":{ + "path":"/aai/v20/service-design-and-creation/models/model.*" + }, + "httpResponse":{ + "statusCode":200, + "headers":{ + "content-type":[ + "application/json" + ] + }, + "body":{ + "type":"JSON", + "json":{ + "model-version-id":"6d25b637-8bca-47e2-af1a-61258424183d", + "model-name":"PNF102", + "model-version":"1.0", + "model-description":"sartgserg", + "sdnc-model-name":"pm_control", + "sdnc-model-version":"1.0.0", + "resource-version":"1598626661947", + "relationship-list":{ + "relationship":[ + { + "related-to":"model-element", + "relationship-label":"org.onap.relationships.inventory.IsA", + "related-link":"/aai/v20/service-design-and-creation/models/model/c1a44771-3aa8-4888-a4f4-be89d1caa0cb/model-vers/model-ver/7256a992-10a7-4ac8-8c2c-63c67e5c48c8/model-elements/model-element/fddc70fe-8343-48c1-af2e-b54f551a32ee/model-elements/model-element/7bff45b7-8254-44e5-b7ad-6e10dee6dfc3", + "relationship-data":[ + { + "relationship-key":"model.model-invariant-id", + "relationship-value":"c1a44771-3aa8-4888-a4f4-be89d1caa0cb" + }, + { + "relationship-key":"model-ver.model-version-id", + "relationship-value":"7256a992-10a7-4ac8-8c2c-63c67e5c48c8" + }, + { + "relationship-key":"model-element.model-element-uuid", + "relationship-value":"fddc70fe-8343-48c1-af2e-b54f551a32ee" + }, + { + "relationship-key":"model-element.model-element-uuid", + "relationship-value":"7bff45b7-8254-44e5-b7ad-6e10dee6dfc3" + } + ] + } + ] + } + } + } + } + } ] diff --git a/plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json b/plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json index 16d6893a..8caf2001 100644 --- a/plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json +++ b/plans/dcaegen2-services-pmsh/testsuite/assets/cbs_sim/cbs-initializer.json @@ -20,13 +20,15 @@ "fileBasedGP": 15, "fileLocation": "/pm/pm.xml", "nfFilter": { - "swVersions": [ - "1.0.0", - "1.0.1" - ], "nfNames": [ "^pnf.*", "^vnf.*" + ], + "modelInvariantUUIDs": [ + "7129e420-d396-4efb-af02-6b83499b12f8" + ], + "modelVersionIDs": [ + ] }, "measurementGroups": [ diff --git a/plans/oom-platform-cert-service/truststoremerger/setup.sh b/plans/oom-platform-cert-service/postprocessor/setup.sh index 9f618406..2df82f76 100644 --- a/plans/oom-platform-cert-service/truststoremerger/setup.sh +++ b/plans/oom-platform-cert-service/postprocessor/setup.sh @@ -16,7 +16,7 @@ # #export container name -export MergerContainerName=TrustStoreMerger +export CertServicePostProcessorContainerName=CertServicePostProcessor #install docker sdk echo "Uninstall docker-py and reinstall docker." diff --git a/plans/oom-platform-cert-service/truststoremerger/teardown.sh b/plans/oom-platform-cert-service/postprocessor/teardown.sh index a0ee4d26..22744162 100644 --- a/plans/oom-platform-cert-service/truststoremerger/teardown.sh +++ b/plans/oom-platform-cert-service/postprocessor/teardown.sh @@ -15,4 +15,4 @@ # limitations under the License. # -kill-instance.sh ${MergerContainerName} +kill-instance.sh ${CertServicePostProcessorContainerName} diff --git a/plans/oom-platform-cert-service/truststoremerger/testplan.txt b/plans/oom-platform-cert-service/postprocessor/testplan.txt index 11e00832..edbd11cc 100755 --- a/plans/oom-platform-cert-service/truststoremerger/testplan.txt +++ b/plans/oom-platform-cert-service/postprocessor/testplan.txt @@ -1,3 +1,3 @@ # Test suites are relative paths under [integration/csit.git]/tests/. # Place the suites in run order. -oom-platform-cert-service/truststoremerger +oom-platform-cert-service/postprocessor diff --git a/plans/policy/apex-pdp/setup.sh b/plans/policy/apex-pdp/setup.sh index d3c1d629..02238e90 100644 --- a/plans/policy/apex-pdp/setup.sh +++ b/plans/policy/apex-pdp/setup.sh @@ -20,55 +20,17 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= source ${SCRIPTS}/policy/config/policy-csit.conf -export POLICY_MARIADB_VER -echo ${GERRIT_BRANCH} -echo ${POLICY_MARIADB_VER} echo "Uninstall docker-py and reinstall docker." pip uninstall -y docker-py pip uninstall -y docker pip install -U docker==2.7.0 -# 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 - sudo apt-get -y install libxml2-utils -bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh -POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_APEX_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/apex-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_APEX_PDP_VERSION="${POLICY_APEX_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" +source ${SCRIPTS}/policy/detmVers.sh -echo ${POLICY_API_VERSION} -echo ${POLICY_PAP_VERSION} -echo ${POLICY_APEX_PDP_VERSION} - -# Adding this waiting container due to race condition between pap and mariadb -docker-compose -f ${WORKSPACE}/scripts/policy/policy-apex-pdp/docker-compose-apex.yml run --rm start_dependencies - -#Configure the database -docker exec --tty mariadb chmod +x /docker-entrypoint-initdb.d/db.sh -docker exec --tty mariadb /docker-entrypoint-initdb.d/db.sh - -# now bring everything else up -docker-compose -f ${WORKSPACE}/scripts/policy/policy-apex-pdp/docker-compose-apex.yml run --rm start_all +docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d apex-pdp unset http_proxy https_proxy @@ -76,7 +38,7 @@ POLICY_API_IP=`get-instance-ip.sh policy-api` POLICY_PAP_IP=`get-instance-ip.sh policy-pap` MARIADB_IP=`get-instance-ip.sh mariadb` APEX_IP=`get-instance-ip.sh policy-apex-pdp` -DMAAP_IP=`get-instance-ip.sh dmaap-simulator` +DMAAP_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org` echo PAP IP IS ${POLICY_PAP_IP} echo MARIADB IP IS ${MARIADB_IP} @@ -84,4 +46,10 @@ echo API IP IS ${POLICY_API_IP} echo APEX IP IS ${APEX_IP} echo DMAAP_IP IS ${DMAAP_IP} -ROBOT_VARIABLES="-v APEX_IP:${APEX_IP} -v POLICY_API_IP:${POLICY_API_IP} -v POLICY_PAP_IP:${POLICY_PAP_IP}" +# wait for the app to start up +${SCRIPTS}/policy/wait_for_port.sh ${APEX_IP} 6969 + +ROBOT_VARIABLES="" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v APEX_IP:${APEX_IP}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_PAP_IP:${POLICY_PAP_IP}" diff --git a/plans/policy/apex-pdp/teardown.sh b/plans/policy/apex-pdp/teardown.sh index 6c02aea1..86416e6e 100644 --- a/plans/policy/apex-pdp/teardown.sh +++ b/plans/policy/apex-pdp/teardown.sh @@ -3,6 +3,7 @@ # Copyright (C) 2018 Ericsson. All rights reserved. # # Modifications copyright (c) 2019 Nordix Foundation. +# Modifications Copyright (C) 2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,8 +20,4 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -kill-instance.sh policy-apex-pdp -kill-instance.sh policy-pap -kill-instance.sh policy-api -kill-instance.sh mariadb -kill-instance.sh dmaap-simulator +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/api/setup.sh b/plans/policy/api/setup.sh index 466435d3..550337e9 100644 --- a/plans/policy/api/setup.sh +++ b/plans/policy/api/setup.sh @@ -1,6 +1,6 @@ #!/bin/bash # ============LICENSE_START======================================================= -# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2019-2020 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. @@ -19,9 +19,6 @@ # Select branch source ${SCRIPTS}/policy/config/policy-csit.conf -export POLICY_MARIADB_VER -echo ${GERRIT_BRANCH} -echo ${POLICY_MARIADB_VER} echo "Uninstall docker-py and reinstall docker." pip uninstall -y docker-py @@ -30,19 +27,26 @@ pip install -U docker==2.7.0 sudo apt-get -y install libxml2-utils -POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -echo ${POLICY_API_VERSION} +bash ${SCRIPTS}/policy/get-models-examples.sh + +source ${SCRIPTS}/policy/detmVers.sh -# Adding this waiting container to avoid race condition between api and mariadb containers. -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml run --rm start_dependencies +DATA=${WORKSPACE}/models/models-examples/src/main/resources/policies -#Configure the database -docker exec --tty mariadb chmod +x /docker-entrypoint-initdb.d/db.sh -docker exec --tty mariadb /docker-entrypoint-initdb.d/db.sh +# create a couple of variations of the policy definitions +sed -e 's!Measurement_vGMUX!ADifferentValue!' \ + ${DATA}/vCPE.policy.monitoring.input.tosca.json \ + >${DATA}/vCPE.policy.monitoring.input.tosca.v1_2.json + +sed -e 's!"version": "1.0.0"!"version": "2.0.0"!' \ + -e 's!"policy-version": 1!"policy-version": 2!' \ + ${DATA}/vCPE.policy.monitoring.input.tosca.json \ + >${DATA}/vCPE.policy.monitoring.input.tosca.v2.json + +echo ${POLICY_API_VERSION} + +docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d api -# now bring everything else up -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-api.yml run --rm start_all unset http_proxy https_proxy @@ -52,4 +56,9 @@ MARIADB_IP=`get-instance-ip.sh mariadb` echo API IP IS ${POLICY_API_IP} echo MARIADB IP IS ${MARIADB_IP} -ROBOT_VARIABLES="-v POLICY_API_IP:${POLICY_API_IP}" +# wait for the app to start up +${SCRIPTS}/policy/wait_for_port.sh ${POLICY_API_IP} 6969 + +ROBOT_VARIABLES="" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA:${DATA}" diff --git a/plans/policy/api/teardown.sh b/plans/policy/api/teardown.sh index 0572e034..6942e353 100755 --- a/plans/policy/api/teardown.sh +++ b/plans/policy/api/teardown.sh @@ -1,6 +1,6 @@ #!/bin/bash # ============LICENSE_START======================================================= -# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2019-2020 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. @@ -17,5 +17,4 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -kill-instance.sh policy-api -kill-instance.sh mariadb +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/distribution/setup.sh b/plans/policy/distribution/setup.sh index 52573b58..73226140 100644 --- a/plans/policy/distribution/setup.sh +++ b/plans/policy/distribution/setup.sh @@ -20,63 +20,26 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= source ${SCRIPTS}/policy/config/policy-csit.conf -export POLICY_MARIADB_VER -echo ${GERRIT_BRANCH} -echo ${POLICY_MARIADB_VER} echo "Uninstall docker-py and reinstall docker." pip uninstall -y docker-py pip uninstall -y docker pip install -U docker==2.7.0 -# 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 - sudo apt-get -y install libxml2-utils -bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh -POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_APEX_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/apex-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_APEX_PDP_VERSION="${POLICY_APEX_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_DISTRIBUTION_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/distribution/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_DISTRIBUTION_VERSION="${POLICY_DISTRIBUTION_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" +source ${SCRIPTS}/policy/detmVers.sh -echo ${POLICY_API_VERSION} -echo ${POLICY_PAP_VERSION} -echo ${POLICY_APEX_PDP_VERSION} -echo ${POLICY_DISTRIBUTION_VERSION} - -SCRIPT_DIR=${WORKSPACE}/scripts/policy/policy-distribution +SCRIPT_DIR=${SCRIPTS}/policy/policy-distribution # Remaking the csar file in case if the file got corrupted zip -F ${SCRIPT_DIR}/config/distribution/csar/sample_csar_with_apex_policy.csar --out ${SCRIPT_DIR}/config/distribution/csar/csar_temp.csar -# Adding this waiting container due to race condition between pap and mariadb -docker-compose -f ${SCRIPT_DIR}/docker-compose-distribution.yml run --rm start_dependencies - -#Configure the database -docker exec --tty mariadb chmod +x /docker-entrypoint-initdb.d/db.sh -docker exec --tty mariadb /docker-entrypoint-initdb.d/db.sh +# Remake temp directory +rm -rf ${SCRIPT_DIR}/config/distribution/temp +mkdir ${SCRIPT_DIR}/config/distribution/temp -# now bring everything else up -docker-compose -f ${SCRIPT_DIR}/docker-compose-distribution.yml run --rm start_all +docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d distribution unset http_proxy https_proxy @@ -84,7 +47,7 @@ POLICY_API_IP=`get-instance-ip.sh policy-api` POLICY_PAP_IP=`get-instance-ip.sh policy-pap` MARIADB_IP=`get-instance-ip.sh mariadb` APEX_IP=`get-instance-ip.sh policy-apex-pdp` -DMAAP_IP=`get-instance-ip.sh dmaap-simulator` +DMAAP_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org` POLICY_DISTRIBUTION_IP=`get-instance-ip.sh policy-distribution` echo PAP IP IS ${POLICY_PAP_IP} @@ -94,4 +57,10 @@ echo APEX IP IS ${APEX_IP} echo DMAAP_IP IS ${DMAAP_IP} echo POLICY_DISTRIBUTION_IP IS ${POLICY_DISTRIBUTION_IP} -ROBOT_VARIABLES="-v APEX_IP:${APEX_IP} -v SCRIPT_DIR:${SCRIPT_DIR} -v POLICY_DISTRIBUTION_IP:${POLICY_DISTRIBUTION_IP}" +# wait for the app to start up +${SCRIPTS}/policy/wait_for_port.sh ${POLICY_DISTRIBUTION_IP} 6969 + +ROBOT_VARIABLES="" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v APEX_IP:${APEX_IP}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCRIPT_DIR:${SCRIPT_DIR}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_DISTRIBUTION_IP:${POLICY_DISTRIBUTION_IP}" diff --git a/plans/policy/distribution/teardown.sh b/plans/policy/distribution/teardown.sh index fbbf1de5..86416e6e 100644 --- a/plans/policy/distribution/teardown.sh +++ b/plans/policy/distribution/teardown.sh @@ -3,6 +3,7 @@ # Copyright (C) 2018 Ericsson. All rights reserved. # # Modifications copyright (c) 2019 Nordix Foundation. +# Modifications Copyright (C) 2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,9 +20,4 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -kill-instance.sh policy-apex-pdp -kill-instance.sh policy-pap -kill-instance.sh policy-api -kill-instance.sh mariadb -kill-instance.sh dmaap-simulator -kill-instance.sh policy-distribution +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/drools-applications/setup.sh b/plans/policy/drools-applications/setup.sh index 1a1dc331..c4cbfa60 100755 --- a/plans/policy/drools-applications/setup.sh +++ b/plans/policy/drools-applications/setup.sh @@ -20,9 +20,6 @@ # OS upgrades source ${SCRIPTS}/policy/config/policy-csit.conf -export POLICY_MARIADB_VER -echo ${GERRIT_BRANCH} -echo ${POLICY_MARIADB_VER} SCR2=${WORKSPACE}/scripts/policy/drools-apps @@ -32,37 +29,15 @@ pip uninstall -y docker pip install -U docker==2.7.0 sudo apt-get -y install libxml2-utils -${SCRIPTS}/policy/policy-models-simulators.sh +bash ${SCRIPTS}/policy/get-models-examples.sh -POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_XACML_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/xacml-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_XACML_PDP_VERSION="${POLICY_XACML_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_DROOLS_APPS_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/drools-applications/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -echo ${POLICY_DROOLS_APPS_VERSION_EXTRACT} -export POLICY_DROOLS_APPS_VERSION="${POLICY_DROOLS_APPS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" +source ${SCRIPTS}/policy/detmVers.sh -echo ${POLICY_XACML_PDP_VERSION} -echo ${POLICY_DROOLS_APPS_VERSION} - -echo "user information: $(id)" -echo "docker and docker-compose versions:" -docker -v && docker-compose -v - -# Adding this waiting container due to race condition between drools and mariadb -docker-compose -f ${SCR2}/docker-compose-drools-apps.yml run --rm start_dependencies - -# Adding this waiting container due to race condition between pap and xacml -docker-compose -f ${SCR2}/docker-compose-drools-apps.yml run --rm start_pap - -# now bring everything else up -docker-compose -f ${SCR2}/docker-compose-drools-apps.yml run --rm start_all +docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d drools-apps unset http_proxy https_proxy -DROOLS_IP=`get-instance-ip.sh drools` +DROOLS_IP=`get-instance-ip.sh drools-apps` API_IP=`get-instance-ip.sh policy-api` PAP_IP=`get-instance-ip.sh policy-pap` XACML_IP=`get-instance-ip.sh policy-xacml-pdp` @@ -75,10 +50,13 @@ echo PAP IP IS ${PAP_IP} echo XACML IP IS ${XACML_IP} echo SIMULATORS IP IS ${SIM_IP} +# wait for the app to start up +${SCRIPTS}/policy/wait_for_port.sh ${DROOLS_IP} 6969 + # give enough time for the controllers to come up sleep 15 -DATA=${WORKSPACE}/simulators/models/models-examples/src/main/resources/policies +DATA=${WORKSPACE}/models/models-examples/src/main/resources/policies ROBOT_VARIABLES="" ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCR2:${SCR2}" diff --git a/plans/policy/drools-applications/teardown.sh b/plans/policy/drools-applications/teardown.sh index 8b577d8e..67de4a1a 100755 --- a/plans/policy/drools-applications/teardown.sh +++ b/plans/policy/drools-applications/teardown.sh @@ -18,6 +18,6 @@ # mkdir -p $WORKSPACE/archives/ -docker-compose -f ${WORKSPACE}/scripts/policy/drools-apps/docker-compose-drools-apps.yml logs > $WORKSPACE/archives/docker-compose-drools-apps.log +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml logs > $WORKSPACE/archives/docker-compose-drools-apps.log -docker-compose -f ${WORKSPACE}/scripts/policy/drools-apps/docker-compose-drools-apps.yml down -v +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/drools-pdp/setup.sh b/plans/policy/drools-pdp/setup.sh index d50106ff..6b951356 100755 --- a/plans/policy/drools-pdp/setup.sh +++ b/plans/policy/drools-pdp/setup.sh @@ -24,26 +24,15 @@ pip uninstall -y docker-py pip uninstall -y docker pip install -U docker==2.7.0 -echo "user information: $(id)" -echo "docker information:" -docker -v && docker-compose -v && docker info - # Component Versions source ${SCRIPTS}/policy/config/policy-csit.conf -export POLICY_MARIADB_VER -echo ${GERRIT_BRANCH} -echo ${POLICY_MARIADB_VER} sudo apt-get -y install libxml2-utils -POLICY_DROOLS_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/drools-applications/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_DROOLS_VERSION="${POLICY_DROOLS_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -echo ${POLICY_DROOLS_VERSION} -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml up -d -sleep 2m +source ${SCRIPTS}/policy/detmVers.sh -docker container ls -a +docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d drools POLICY_DROOLS_IP=`get-instance-ip.sh drools` MARIADB_IP=`get-instance-ip.sh mariadb` @@ -51,10 +40,10 @@ MARIADB_IP=`get-instance-ip.sh mariadb` echo DROOLS IP IS ${POLICY_DROOLS_IP} echo MARIADB IP IS ${MARIADB_IP} -for i in {1..10}; do - curl -sS ${POLICY_DROOLS_IP}:9696 && break - echo sleep $i - sleep $i -done +# wait for the app to start up - looking for telemtry service on port 9696 +${SCRIPTS}/policy/wait_for_port.sh ${POLICY_DROOLS_IP} 9696 + +# give enough time for the controllers to come up +sleep 15 ROBOT_VARIABLES="-v POLICY_DROOLS_IP:${POLICY_DROOLS_IP}" diff --git a/plans/policy/drools-pdp/teardown.sh b/plans/policy/drools-pdp/teardown.sh index e08593d2..5a3f16e5 100755 --- a/plans/policy/drools-pdp/teardown.sh +++ b/plans/policy/drools-pdp/teardown.sh @@ -16,5 +16,5 @@ # mkdir -p $WORKSPACE/archives/ -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml logs > $WORKSPACE/archives/docker-compose-drools.log -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-drools.yml down -v +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml logs > $WORKSPACE/archives/docker-compose-drools.log +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/pap/setup.sh b/plans/policy/pap/setup.sh index 5b060497..a1d153f8 100644 --- a/plans/policy/pap/setup.sh +++ b/plans/policy/pap/setup.sh @@ -19,35 +19,20 @@ # ============LICENSE_END========================================================= source ${SCRIPTS}/policy/config/policy-csit.conf -export POLICY_MARIADB_VER -echo ${GERRIT_BRANCH} -echo ${POLICY_MARIADB_VER} echo "Uninstall docker-py and reinstall docker." pip uninstall -y docker-py pip uninstall -y docker pip install -U docker==2.7.0 - sudo apt-get -y install libxml2-utils -POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -echo ${POLICY_API_VERSION} -echo ${POLICY_PAP_VERSION} -# Adding this waiting container due to race condition between pap and mariadb -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-pap.yml run --rm start_dependencies - -#Configure the database -docker exec --tty mariadb chmod +x /docker-entrypoint-initdb.d/db.sh -docker exec --tty mariadb /docker-entrypoint-initdb.d/db.sh - -# now bring everything else up -docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-pap.yml run --rm start_all +bash ${SCRIPTS}/policy/get-models-examples.sh -unset http_proxy https_proxy +source ${SCRIPTS}/policy/detmVers.sh +docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d pap + +unset http_proxy https_proxy POLICY_PAP_IP=`get-instance-ip.sh policy-pap` POLICY_API_IP=`get-instance-ip.sh policy-api` @@ -57,6 +42,14 @@ echo PAP IP IS ${POLICY_PAP_IP} echo API IP IS ${POLICY_API_IP} echo MARIADB IP IS ${MARIADB_IP} + +# wait for the app to start up +${SCRIPTS}/policy/wait_for_port.sh ${POLICY_PAP_IP} 6969 + + +DATA=${WORKSPACE}/models/models-examples/src/main/resources/policies + ROBOT_VARIABLES="" ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_PAP_IP:${POLICY_PAP_IP}" ROBOT_VARIABLES="${ROBOT_VARIABLES} -v POLICY_API_IP:${POLICY_API_IP}" +ROBOT_VARIABLES="${ROBOT_VARIABLES} -v DATA:${DATA}" diff --git a/plans/policy/pap/teardown.sh b/plans/policy/pap/teardown.sh index c2d7e214..cfed2097 100644 --- a/plans/policy/pap/teardown.sh +++ b/plans/policy/pap/teardown.sh @@ -1,7 +1,7 @@ #!/bin/bash # ============LICENSE_START======================================================= # Copyright (C) 2019 Nordix Foundation. -# Modifications Copyright (C) 2019 AT&T Intellectual Property. +# Modifications Copyright (C) 2019-2020 AT&T Intellectual Property. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,6 +18,4 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -kill-instance.sh policy-pap -kill-instance.sh policy-api -kill-instance.sh mariadb +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/policy/xacml-pdp/setup.sh b/plans/policy/xacml-pdp/setup.sh index d6726c7a..7f557d13 100644 --- a/plans/policy/xacml-pdp/setup.sh +++ b/plans/policy/xacml-pdp/setup.sh @@ -18,60 +18,28 @@ # ============LICENSE_END========================================================= source ${SCRIPTS}/policy/config/policy-csit.conf -export POLICY_MARIADB_VER -echo ${GERRIT_BRANCH} -echo ${POLICY_MARIADB_VER} echo "Uninstall docker-py and reinstall docker." pip uninstall -y docker-py pip uninstall -y docker pip install -U docker==2.7.0 -# 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 - SCR_DMAAP=${SCRIPTS}/policy/drools-apps sudo apt-get -y install libxml2-utils -bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh - -POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_PAP_VERSION="${POLICY_PAP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" -POLICY_XACML_PDP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/xacml-pdp/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)" -export POLICY_XACML_PDP_VERSION="${POLICY_XACML_PDP_VERSION_EXTRACT:0:3}-SNAPSHOT-latest" +bash ${SCRIPTS}/policy/get-models-examples.sh -echo ${POLICY_API_VERSION} -echo ${POLICY_PAP_VERSION} -echo ${POLICY_XACML_PDP_VERSION} +source ${SCRIPTS}/policy/detmVers.sh -# Adding this waiting container due to race condition between pap and mariadb -docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml run --rm start_dependencies +docker-compose -f ${SCRIPTS}/policy/docker-compose-all.yml up -d xacml-pdp -# now bring everything else up -docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml run --rm start_all unset http_proxy https_proxy POLICY_API_IP=`get-instance-ip.sh policy-api` MARIADB_IP=`get-instance-ip.sh mariadb` POLICY_PDPX_IP=`get-instance-ip.sh policy-xacml-pdp` -DMAAP_IP=`get-instance-ip.sh dmaap-simulator` +DMAAP_IP=`get-instance-ip.sh policy.api.simpledemo.onap.org` POLICY_PAP_IP=`get-instance-ip.sh policy-pap` echo PDP IP IS ${POLICY_PDPX_IP} @@ -80,7 +48,10 @@ echo PAP IP IS ${POLICY_PAP_IP} echo MARIADB IP IS ${MARIADB_IP} echo DMAAP_IP IS ${DMAAP_IP} -DATA2=${WORKSPACE}/dmaap-sim/models/models-examples/src/main/resources/policies +# wait for the app to start up +${SCRIPTS}/policy/wait_for_port.sh ${POLICY_PDPX_IP} 6969 + +DATA2=${WORKSPACE}/models/models-examples/src/main/resources/policies ROBOT_VARIABLES="" ROBOT_VARIABLES="${ROBOT_VARIABLES} -v SCR_DMAAP:${SCR_DMAAP}" diff --git a/plans/policy/xacml-pdp/teardown.sh b/plans/policy/xacml-pdp/teardown.sh index 270d6cc6..6942e353 100644 --- a/plans/policy/xacml-pdp/teardown.sh +++ b/plans/policy/xacml-pdp/teardown.sh @@ -1,6 +1,6 @@ #!/bin/bash # ============LICENSE_START======================================================= -# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. +# Copyright (C) 2019-2020 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. @@ -17,8 +17,4 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -kill-instance.sh policy-xacml-pdp -kill-instance.sh policy-pap -kill-instance.sh policy-api -kill-instance.sh mariadb -kill-instance.sh dmaap-simulator +docker-compose -f ${WORKSPACE}/scripts/policy/docker-compose-all.yml down -v diff --git a/plans/sdc-workflow-d/setup.sh b/plans/sdc-workflow-d/setup.sh new file mode 100644 index 00000000..30f1c0f2 --- /dev/null +++ b/plans/sdc-workflow-d/setup.sh @@ -0,0 +1,50 @@ +#!/bin/bash +# +# Copyright 2019 © Samsung Electronics 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. +# + +# It can enable HTTPS for SDC component +export SDC_TEST_HTTPS="${SDC_TEST_HTTPS:-false}" + +# By default all images are from remote upstream registry, this option +# provides the chance to test locally built images +export SDC_LOCAL_IMAGES="${SDC_LOCAL_IMAGES:-false}" + +export WORKFLOW_LOCAL_IMAGES="${WORKFLOW_LOCAL_IMAGES:-false}" + +# For this to take effect SDC_LOCAL_IMAGES must be enabled... +# +# The path to the local sdc git repo from which the local images have +# been built - it also affects the tag used - if left empty *AND* +# local images are used *AND* SDC_LOCAL_TAG is unset then the tag +# will be set to: 'latest' +# +# BEWARE: Using local images with an incorrect git repo could lead to +# problems...set SDC_LOCAL_GITREPO or GERRIT_BRANCH properly... +export SDC_LOCAL_GITREPO="${SDC_LOCAL_GITREPO}" + +# For this to take effect SDC_LOCAL_IMAGES must be enabled... +# +# This will set the tag for local images - leaving this empty *AND* +# with unset SDC_LOCAL_GITREPO the local images will fallback to the +# tag: 'latest' +export SDC_LOCAL_TAG="${SDC_LOCAL_TAG}" + + +export WORKFLOW_LOCAL_GITREPO="${WORKFLOW_LOCAL_GITREPO}" + + + +source ${WORKSPACE}/scripts/sdc-workflow-d/sdc_workflow_d.sh diff --git a/plans/ccsdk/oran/functionality1/teardown.sh b/plans/sdc-workflow-d/teardown.sh index acf2d097..bcc43fe4 100755..100644 --- a/plans/ccsdk/oran/functionality1/teardown.sh +++ b/plans/sdc-workflow-d/teardown.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2019 © Samsung Electronics Co., Ltd. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,6 +15,4 @@ # limitations under the License. # -kill-instance.sh i-mock - - +source ${WORKSPACE}/scripts/sdc-workflow-d/cleanup_sdc_workflow.sh diff --git a/plans/ccsdk/oran/functionality1/testplan.txt b/plans/sdc-workflow-d/testplan.txt index e9485b8c..6d61eb26 100644 --- a/plans/ccsdk/oran/functionality1/testplan.txt +++ b/plans/sdc-workflow-d/testplan.txt @@ -1,5 +1,3 @@ # Test suites are relative paths under [integration/csit.git]/tests/. # Place the suites in run order. -# Temporary change to trigger verify job. -ccsdk/oran/suite1 -ccsdk/oran/suite2 +sdc-workflow-d/test1.robot diff --git a/plans/so/integration-etsi-testing/config/certificates/aai-certificate/aai.crt b/plans/so/integration-etsi-testing/config/certificates/aai-certificate/aai.crt deleted file mode 100644 index 9acb8bb9..00000000 --- a/plans/so/integration-etsi-testing/config/certificates/aai-certificate/aai.crt +++ /dev/null @@ -1,31 +0,0 @@ -Bag Attributes - friendlyName: so@so.onap.org - localKeyID: 54 69 6D 65 20 31 35 36 34 30 35 32 33 31 34 37 38 34 -subject=CN = aai-simulator, emailAddress = , OU = so@so.onap.org, OU = OSAAF, O = ONAP, C = US - -issuer=C = US, O = ONAP, OU = OSAAF, CN = intermediateCA_9 - ------BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgIIdC1kel7DdnYwDQYJKoZIhvcNAQELBQAwRzELMAkGA1UE -BhMCVVMxDTALBgNVBAoMBE9OQVAxDjAMBgNVBAsMBU9TQUFGMRkwFwYDVQQDDBBp -bnRlcm1lZGlhdGVDQV85MB4XDTE5MDcyNTEwNTgzNFoXDTIwMDcyNTEwNTgzNFow -bjEWMBQGA1UEAwwNYWFpLXNpbXVsYXRvcjEPMA0GCSqGSIb3DQEJARYAMRcwFQYD -VQQLDA5zb0Bzby5vbmFwLm9yZzEOMAwGA1UECwwFT1NBQUYxDTALBgNVBAoMBE9O -QVAxCzAJBgNVBAYTAlVTMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -185xCE6cmsY6XB5Dd/5GlfuWjN05KKk3akymxhbJLa9ektlusmuTPt4cnxD+e4b6 -dymqHzQ6C206TBK1jaDzcF07Ag7VTpxmlgaSukQ+aZoXfIcs80lWCLnNvC2MrOuh -9uhUILAmuddo01cIHJvti5R2g6BEirCGsVKBSwmXRotxHyzUg9IwOpeGy0G1ZDjU -OiMqY5qOonVTEz1AganctdiWK1/eZ5IBD7gQwckS5n1a6RYMVSnr1vKLoiZq76Bp -wKy3EBX16jlmQMC5Aj9/GDezJg0bPvlikL3VUsC76DRShucsxS3SzVxeAJ5nsH8S -qUElpbe3uabhFG2qKmtvdwIDAQABo4HPMIHMMAkGA1UdEwQCMAAwDgYDVR0PAQH/ -BAQDAgXgMCAGA1UdJQEB/wQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjBUBgNVHSME -TTBLgBSB95lbELnIjN7zUl7qTmmgQz6s3aEwpC4wLDEOMAwGA1UECwwFT1NBQUYx -DTALBgNVBAoMBE9OQVAxCzAJBgNVBAYTAlVTggEHMB0GA1UdDgQWBBSQ54p+SID0 -2p21lUHY9YC1ZZfkZTAYBgNVHREEETAPgg1hYWktc2ltdWxhdG9yMA0GCSqGSIb3 -DQEBCwUAA4IBAQBRGK6Iyjc/0bC3+qjPuNwSlu1pUcgHtgxP/oTU5f9xMSkSjIP0 -weVnIEGOwlW8GRbDPQza14AHETTxJ17rv6p6h7l/dZZmbMPl2S+QXGptgDWR6zY7 -q5ROecGcQzgto6lTMcKgBMW+ct3Tb3khMqP6ewzGz85SY7BgyVE7HFG9M5BM3NhX -ovAcj93C24DFKLDKxHrrsVIROlFk6QW2+kb0zo1YzVc6NNJY2ViXBrM5zrG21tDj -VEv0JaHKPYhzWCb7ZcSSo/ftZ2yDsRGS8r6DK5sYCfLifloMVJhF04hOC+ZbxiiB -JgYniQPmb0Zj5BfXWovdAe/89wr5aokQ3GZL ------END CERTIFICATE----- diff --git a/plans/so/integration-etsi-testing/config/certificates/bpmn-infra-certs/org.onap.so.p12 b/plans/so/integration-etsi-testing/config/certificates/bpmn-infra-certs/org.onap.so.p12 Binary files differnew file mode 100644 index 00000000..50602dde --- /dev/null +++ b/plans/so/integration-etsi-testing/config/certificates/bpmn-infra-certs/org.onap.so.p12 diff --git a/plans/so/integration-etsi-testing/config/certificates/bpmn-infra-certs/org.onap.so.trust.jks b/plans/so/integration-etsi-testing/config/certificates/bpmn-infra-certs/org.onap.so.trust.jks Binary files differnew file mode 100644 index 00000000..7b67a40b --- /dev/null +++ b/plans/so/integration-etsi-testing/config/certificates/bpmn-infra-certs/org.onap.so.trust.jks diff --git a/plans/so/integration-etsi-testing/config/certificates/so-vnfm-adapter-certs/org.onap.so.trust.jks b/plans/so/integration-etsi-testing/config/certificates/so-vnfm-adapter-certs/org.onap.so.trust.jks Binary files differnew file mode 100644 index 00000000..4605a24f --- /dev/null +++ b/plans/so/integration-etsi-testing/config/certificates/so-vnfm-adapter-certs/org.onap.so.trust.jks diff --git a/plans/so/integration-etsi-testing/config/certificates/so-vnfm-adapter-certs/so-vnfm-adapter.p12 b/plans/so/integration-etsi-testing/config/certificates/so-vnfm-adapter-certs/so-vnfm-adapter.p12 Binary files differnew file mode 100644 index 00000000..6bd786d5 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/certificates/so-vnfm-adapter-certs/so-vnfm-adapter.p12 diff --git a/plans/so/integration-etsi-testing/config/certificates/truststore/root-ca.crt b/plans/so/integration-etsi-testing/config/certificates/truststore/root-ca.crt new file mode 100644 index 00000000..99adc440 --- /dev/null +++ b/plans/so/integration-etsi-testing/config/certificates/truststore/root-ca.crt @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIFbTCCA1WgAwIBAgIUNRiDdy3HfVkhYbpUyVihUP4C+c8wDQYJKoZIhvcNAQEL +BQAwPTEPMA0GA1UEAwwGUm9vdENBMQ4wDAYDVQQLDAVPU0FBRjENMAsGA1UECgwE +T05BUDELMAkGA1UEBhMCVVMwIBcNMjAwOTE4MDgzODMyWhgPMjEyMDA4MjUwODM4 +MzJaMD0xDzANBgNVBAMMBlJvb3RDQTEOMAwGA1UECwwFT1NBQUYxDTALBgNVBAoM +BE9OQVAxCzAJBgNVBAYTAlVTMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC +AgEAkvqnUBq7YgmtsH6nMDSouZ/IpimdUkmlVM9lp0DZ8gasT+/cD8uv9yc0rSly +U3+XFFAolI4qkGIoeyPo9pDf0qXXQBSg4VFl4OeEuT21Of110IfdjzBP2bSkaavr +HjYwFFEy0Nn/bqiQ3j3zWiDOaf5wxAIYeqVPOXT6DatsGXxIfTZoZNsRQi5XYgor +kfj/oQq/pByJJWMPkb/CzdECSzInQ+hcjGh14t7WT2P8oxpdWZmnPphawSWgZquM +gpyB/ZU6Pik9tNTSF6/rIO62SBWD9//3Nc/NJ2GEig9vh3RIafaHsX7/dctV07qJ +4uHYMYmaCcv+nsh8rROIyVOybFgW+NCZXIsXeLlbGpDwqR8FJ/m2ulzP+fFVxrZ9 +Gfm6DpGOwj/cXldUHcdas5uaLVb93xE3dm0QeU4OchRSxi0bb+a8EA7nhYlW54e1 +hahkSe7awXRMEoCVJa9QQpCGFbYqWUHDaI96oLLdsEcwTfLyQ5sBZ07fejP2g4zR +y16O+PZMyX5IXNfEur2Zvfg7qT80vMh5HYNITTw5tdY5TEBmf5xeFLPune0y97IV +Nd9qPiCqeKLHnfrKacLMNYLHRUpPgxyPnyIl+k+b/T3qvP3d0R9OwcVdgs2I8+Il +XczrT97z6N78L8qRs/dupD8unx74IrMND0+RV7cAjB4FBNUCAwEAAaNjMGEwHQYD +VR0OBBYEFPTYCkHKz3SBboUm6YD2/7Qi5Zr2MB8GA1UdIwQYMBaAFPTYCkHKz3SB +boUm6YD2/7Qi5Zr2MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0G +CSqGSIb3DQEBCwUAA4ICAQAPkP/gc2bBBusO2JDhTsjJyfUZnBn0INtQmTvQtU28 +LYENJ7AaqLQsGMmG69QjPXI5nopcReV6NNiMo+Rf3lQfyVbKXmWo088Ni0GaAD3X +qqp0MrOKT+YuwUS7WgKgdlLNhzWVtrvDbtk+2k/rnFGh73KGNzFy8InPU1wPQsxj +34tfFBSBNUvzyvcdmr6/4p2ByESyCN7yukvoGhb73PdP0riwi0to53HWQD6W3JPT +ZxIk48rzDw8dyzvO6N0NDM7wpJZRA+OFyQf1guIfx2icY52Oc6+1q/1gpr5Epgvc +JhKHxjDfYZLyKrPEg4lapNi2y36Xh0c9gU1JUqsfGFwOJ500N3Hz3RNrrRJeZoae +xqDn6CtNE4Phyh6UyndfQrbcL67Ygc8w1tzIjtAprWi87jbglVHbnnWl1XEWBaBL +O7Kbdp/Ffa0ENu9Q1JPpgV4zei06e/QJrB1tNbiSmj1d47VjCycAxYIj3CqaDey/ +8Ej8lAdjEPqEd98beMEY5TrSHVNWt/XuEqn3JoDbSAnqr7XIfzGF4JtfsVY1nyhE +WbbOtUdm9rjBrj9ekJF0khKT1eYGYsJuV8gEqg9pjzXj4qabnK63JiGUmTaZVgvI +e4YaV1jEnydB9bh31S9MXtvA7/D1g8apunBnbqyc6OCnfQA+1czTcWPhWAUq8X2f +HA== +-----END CERTIFICATE----- diff --git a/plans/so/integration-etsi-testing/config/override-files/bpmn-infra/onapheat/override.yaml b/plans/so/integration-etsi-testing/config/override-files/bpmn-infra/onapheat/override.yaml index 426d4fd7..8ecd6033 100644 --- a/plans/so/integration-etsi-testing/config/override-files/bpmn-infra/onapheat/override.yaml +++ b/plans/so/integration-etsi-testing/config/override-files/bpmn-infra/onapheat/override.yaml @@ -369,8 +369,8 @@ rest: client: configuration: ssl: - keyStore: classpath:org.onap.so.p12 + keyStore: file:/app/bpmn-infra-certs/org.onap.so.p12 keyStorePassword: 'RLe5ExMWW;Kd6GTSt0WQz;.Y' - trustStore: classpath:org.onap.so.trust.jks - trustStorePassword: '6V%8oSU$,%WbYp3IUe;^mWt4' + trustStore: file:/app/bpmn-infra-certs/org.onap.so.trust.jks + trustStorePassword: '[)3KV.k*!IlkFhWEq0Nv2dDa' diff --git a/plans/so/integration-etsi-testing/config/override-files/so-vnfm-adapter/onapheat/override.yaml b/plans/so/integration-etsi-testing/config/override-files/so-vnfm-adapter/onapheat/override.yaml index ee87e25f..ec2031c6 100644 --- a/plans/so/integration-etsi-testing/config/override-files/so-vnfm-adapter/onapheat/override.yaml +++ b/plans/so/integration-etsi-testing/config/override-files/so-vnfm-adapter/onapheat/override.yaml @@ -5,14 +5,14 @@ server: ssl: key-alias: so@so.onap.org key--store-password: 'ywsqCy:EEo#j}HJHM7z^Rk[L' - key-store: classpath:so-vnfm-adapter.p12 + key-store: file:/app/so-vnfm-adapter-certs/so-vnfm-adapter.p12 key-store-type: PKCS12 client-auth: need http: client: ssl: - trust-store: classpath:org.onap.so.trust.jks + trust-store: file:/app/so-vnfm-adapter-certs/org.onap.so.trust.jks trust-store-password: ',sx#.C*W)]wVgJC6ccFHI#:H' aai: auth: 221187EFA3AD4E33600DE0488F287099934CE65C3D0697BCECC00BB58E784E07CD74A24581DC31DBC086FF63DF116378776E9BE3D1325885 diff --git a/plans/so/integration-etsi-testing/docker-compose.yml b/plans/so/integration-etsi-testing/docker-compose.yml index b40a8579..2ee5026a 100644 --- a/plans/so/integration-etsi-testing/docker-compose.yml +++ b/plans/so/integration-etsi-testing/docker-compose.yml @@ -141,9 +141,9 @@ services: ports: - "8081:8081" volumes: - - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates - ${CONFIG_DIR_PATH}/override-files/bpmn-infra/onapheat:/app/config - - ${CONFIG_DIR_PATH}/certificates/aai-certificate/aai.crt:/app/ca-certificates/aai.crt + - ${CONFIG_DIR_PATH}/certificates/bpmn-infra-certs:/app/bpmn-infra-certs + - ${CONFIG_DIR_PATH}/certificates/truststore/root-ca.crt:/app/ca-certificates/root-ca.crt environment: - APP=bpmn-infra - JVM_ARGS=-Xms64m -Xmx512m @@ -172,8 +172,8 @@ services: ports: - "8080:8080" volumes: - - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates - ${CONFIG_DIR_PATH}/override-files/api-handler-infra/onapheat:/app/config + - ${CONFIG_DIR_PATH}/certificates/truststore/root-ca.crt:/app/ca-certificates/root-ca.crt environment: - APP=api-handler-infra - JVM_ARGS=-Xms64m -Xmx512m @@ -218,8 +218,9 @@ services: ports: - "9092:9092" volumes: - - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates - ${CONFIG_DIR_PATH}/override-files/so-vnfm-adapter/onapheat:/app/config + - ${CONFIG_DIR_PATH}/certificates/so-vnfm-adapter-certs:/app/so-vnfm-adapter-certs + - ${CONFIG_DIR_PATH}/certificates/truststore/root-ca.crt:/app/ca-certificates/root-ca.crt environment: - APP=so-vnfm-adapter - JVM_ARGS=-Xms64m -Xmx512m @@ -276,8 +277,8 @@ services: ports: - "9093:9093" volumes: - - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates - ${CONFIG_DIR_PATH}/override-files/vnfm-simulator/onapheat:/app/config + - ${CONFIG_DIR_PATH}/certificates/truststore/root-ca.crt:/app/ca-certificates/root-ca.crt environment: - APP=VNFM-SIMULATOR - JVM_ARGS=-Xms64m -Xmx512m @@ -349,8 +350,8 @@ services: ports: - "9098:9098" volumes: - - ${TEST_LAB_DIR}/volumes/so/ca-certificates/onapheat:/app/ca-certificates - ${CONFIG_DIR_PATH}/override-files/ve-vnfm-adapter/onapheat:/app/config + - ${CONFIG_DIR_PATH}/certificates/truststore/root-ca.crt:/app/ca-certificates/root-ca.crt environment: - APP=ve-vnfm-adapter - JVM_ARGS=-Xms64m -Xmx512m diff --git a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/resources/keystore/org.onap.so.p12 b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/resources/keystore/org.onap.so.p12 Binary files differindex 015f2bf6..b19d13e6 100644 --- a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/resources/keystore/org.onap.so.p12 +++ b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/resources/keystore/org.onap.so.p12 diff --git a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/resources/truststore/org.onap.so.trust.jks b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/resources/truststore/org.onap.so.trust.jks Binary files differindex 88d61846..7b67a40b 100644 --- a/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/resources/truststore/org.onap.so.trust.jks +++ b/plans/so/integration-etsi-testing/so-simulators/aai-simulator/src/main/resources/truststore/org.onap.so.trust.jks diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.crt.pem b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.crt.pem deleted file mode 100644 index 3c899e3b..00000000 --- a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.crt.pem +++ /dev/null @@ -1,30 +0,0 @@ -Bag Attributes - friendlyName: so@so.onap.org - localKeyID: 54 69 6D 65 20 31 35 36 33 34 36 33 36 32 39 35 38 33 -subject=/CN=so-vnfm-adapter/emailAddress=/OU=so@so.onap.org/OU=OSAAF/O=ONAP/C=US -issuer=/C=US/O=ONAP/OU=OSAAF/CN=intermediateCA_9 ------BEGIN CERTIFICATE----- -MIIEITCCAwmgAwIBAgIILuAnLLineoYwDQYJKoZIhvcNAQELBQAwRzELMAkGA1UE -BhMCVVMxDTALBgNVBAoMBE9OQVAxDjAMBgNVBAsMBU9TQUFGMRkwFwYDVQQDDBBp -bnRlcm1lZGlhdGVDQV85MB4XDTE5MDcxODE1MjcwOVoXDTIwMDcxODE1MjcwOVow -cDEYMBYGA1UEAwwPc28tdm5mbS1hZGFwdGVyMQ8wDQYJKoZIhvcNAQkBFgAxFzAV -BgNVBAsMDnNvQHNvLm9uYXAub3JnMQ4wDAYDVQQLDAVPU0FBRjENMAsGA1UECgwE -T05BUDELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB -AQCu2NbWjFiZ5Tz5P7daCD6mqJqSWV3f+gkM2VC/UYM/43hd/2ILJbbtsv4uzS/P -GXl3UIKBjb7zRiDCvLNMFsHCZ9/gIonG1z737S42LCrdVKq/KQ59yIOPrxYmLyiQ -Xy81ChX77b2KvKPPeF+K/wnh5fLwlcJ18geeCoWGaMK0C/i6J/uUb9z+Ef0Nmtau -NdXAuUnERCKMra+3kFxZwaRC/gSCy+/s6EQdeaGNiijg03AmrUx9XjrJjHbYMDVo -OKSxtv0E4fxbfmTpHaKCuN4eg+0nEXw/eiIEuSHJuh3KKv7wRoP/hG/Tdog7x60M -SD+hdNjCbFP6yAyMPfoxVnjHAgMBAAGjgecwgeQwCQYDVR0TBAIwADAOBgNVHQ8B -Af8EBAMCBeAwIAYDVR0lAQH/BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMFQGA1Ud -IwRNMEuAFIH3mVsQuciM3vNSXupOaaBDPqzdoTCkLjAsMQ4wDAYDVQQLDAVPU0FB -RjENMAsGA1UECgwET05BUDELMAkGA1UEBhMCVVOCAQcwHQYDVR0OBBYEFFLrO3T4 -QybeDQ28mHgC/xT5f03qMDAGA1UdEQQpMCeCD3NvLXZuZm0tYWRhcHRlcoIUc28t -dm5mbS1hZGFwdGVyLm9uYXAwDQYJKoZIhvcNAQELBQADggEBACe+JaVIjTku/QNp -XoQCNN+sllSZmEHTLmYfpSzY5BY2AeJsgTYqFtAhtp6uQf8Jr993CyEyeJ4if2Z9 -J5NWoJKmY1+a63UphB1mg4sNSCuDxvbxPjtrFkOx/DiB1XEUdoifS9IQSDIIuhaD -YP6sih1TBOh/2ityCe51Mu1J9/wgb24rlYouVtEyQeIai4dqngFHeQHeNXOnGN0z -osEcKSYa0C+ZOAomBMT58C2aDz9vyI8YPuzwVSDKndmXUgvrkkVnxk3qJRtghDQc -RV+4SeZg8s4+5DxKL4AL15IAaAPMJHi+MRtfm7qNzqCEl5sAEzO7S4oVHeWLNFV8 -a9PHErg= ------END CERTIFICATE----- diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.jks b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.jks Binary files differdeleted file mode 100644 index ac3113f8..00000000 --- a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.jks +++ /dev/null diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.p12 b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.p12 Binary files differindex ae4fddc6..6bd786d5 100644 --- a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.p12 +++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-adapter.p12 diff --git a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-simulator.p12 b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-simulator.p12 Binary files differindex 7ac02855..12e5e2a2 100644 --- a/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-simulator.p12 +++ b/plans/so/integration-etsi-testing/so-simulators/vnfm-simulator/vnfm-service/src/main/resources/so-vnfm-simulator.p12 diff --git a/plans/vnfsdk-marketplace/sanity-check/setup.sh b/plans/vnfsdk-marketplace/sanity-check/setup.sh deleted file mode 100644 index 85c6bc27..00000000 --- a/plans/vnfsdk-marketplace/sanity-check/setup.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/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. -# -# These scripts are sourced by run-csit.sh. - - - -#Start market place -docker run -d -i -t --name=vnfmarket -p 8702:8702 onap/vnfmarket - -REPO_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' vnfmarket` - - -# Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v REPO_IP:${REPO_IP}" - - diff --git a/plans/vnfsdk-marketplace/testsuites/docker-compose.yml b/plans/vnfsdk-marketplace/testsuites/docker-compose.yml new file mode 100644 index 00000000..f1bb90c5 --- /dev/null +++ b/plans/vnfsdk-marketplace/testsuites/docker-compose.yml @@ -0,0 +1,43 @@ +# Copyright 2020 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. +# +# 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. + +version: '2' +networks: + default: + driver: bridge + driver_opts: + com.docker.network.driver.mtu: ${NETWORK_DRIVER_MTU} + +services: + postgres: + container_name: "postgres" + restart: "always" + image: "nexus3.onap.org:10001/onap/vnfsdk/refrepo/postgres:${POSTGRES_IMAGE_TAG}" + mem_limit: "1g" + memswap_limit: "1g" + ports: + - "5432:5432" + + refrepo: + container_name: "refrepo" + restart: "always" + image: "nexus3.onap.org:10001/onap/vnfsdk/refrepo:${REFREPO_IMAGE_TAG}" + ports: + - "8702-8703:8702-8703" + - "50051:50051" + environment: + POSTGRES_SERVICE_HOST: postgres + links: + - postgres diff --git a/plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar b/plans/vnfsdk-marketplace/testsuites/enterprise2DC.csar Binary files differindex 0960b20a..0960b20a 100644 --- a/plans/vnfsdk-marketplace/sanity-check/enterprise2DC.csar +++ b/plans/vnfsdk-marketplace/testsuites/enterprise2DC.csar diff --git a/plans/vnfsdk-refrepo/sanity-check/setup.sh b/plans/vnfsdk-marketplace/testsuites/setup.sh index ed39d678..7623f71f 100644 --- a/plans/vnfsdk-refrepo/sanity-check/setup.sh +++ b/plans/vnfsdk-marketplace/testsuites/setup.sh @@ -1,6 +1,7 @@ #!/bin/bash # # Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,25 +16,28 @@ # limitations under the License. # # These scripts are sourced by run-csit.sh. -VNFSDK_REFREPO_DOCKER_VERSION=1.3-STAGING-latest -#Start postgres database -docker run -d -i -t --name=postgres -p 5432:5432 nexus3.onap.org:10001/onap/vnfsdk/refrepo/postgres:latest +REFREPO_IMAGE_TAG=latest \ +POSTGRES_IMAGE_TAG=latest \ +NETWORK_DRIVER_MTU=1450 \ +docker-compose up -d -POSTGRES=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' postgres` - -#Start market place -docker run -d -i -t --name=refrepo -e POSTGRES_SERVICE_HOST=$POSTGRES -p 8702:8702 nexus3.onap.org:10001/onap/vnfsdk/refrepo:$VNFSDK_REFREPO_DOCKER_VERSION +DOCKER_IP=`get-docker-network-ip.sh` # Wait for Market place initialization echo Wait for VNF Repository initialization -for i in {1..30}; do - sleep 1 +# Active waiting with healthcheck and max retry count +MAX_RETRY=30 +TRY=1 +while (( $(curl -s -o /dev/null -w ''%{http_code}'' ${DOCKER_IP}:8702/onapapi/vnfsdk-marketplace/v1/PackageResource/healthcheck) != 200 )) && (($TRY < $MAX_RETRY)); do + sleep 4 + TRY=$[$TRY+1] done -REPO_IP=`docker inspect --format '{{ .NetworkSettings.IPAddress }}' refrepo` - +# Get refrepo logs for easier debug in case of failure +docker logs refrepo +REFREPO_IP=`get-instance-ip.sh refrepo` # Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS} -v REPO_IP:${REPO_IP}" +ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS} -v REPO_IP:${REFREPO_IP}" echo ${ROBOT_VARIABLES} diff --git a/plans/vnfsdk-marketplace/sanity-check/teardown.sh b/plans/vnfsdk-marketplace/testsuites/teardown.sh index 42d7b7fd..1bf79225 100644 --- a/plans/vnfsdk-marketplace/sanity-check/teardown.sh +++ b/plans/vnfsdk-marketplace/testsuites/teardown.sh @@ -1,6 +1,7 @@ #!/bin/bash # # Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,6 +17,4 @@ # # This script is sourced by run-csit.sh after Robot test completion. - -kill-instance.sh vnfmarket - +docker-compose down diff --git a/plans/vnfsdk-marketplace/sanity-check/testplan.txt b/plans/vnfsdk-marketplace/testsuites/testplan.txt index b5370f38..b5370f38 100644 --- a/plans/vnfsdk-marketplace/sanity-check/testplan.txt +++ b/plans/vnfsdk-marketplace/testsuites/testplan.txt diff --git a/plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh b/plans/vnfsdk-marketplace/testsuites/uploadCSAR.sh index 279912c3..279912c3 100644 --- a/plans/vnfsdk-marketplace/sanity-check/uploadCSAR.sh +++ b/plans/vnfsdk-marketplace/testsuites/uploadCSAR.sh diff --git a/plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar b/plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar Binary files differdeleted file mode 100644 index 0960b20a..00000000 --- a/plans/vnfsdk-refrepo/sanity-check/enterprise2DC.csar +++ /dev/null diff --git a/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh b/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh deleted file mode 100644 index 279912c3..00000000 --- a/plans/vnfsdk-refrepo/sanity-check/uploadCSAR.sh +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env 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. -############################################################################### -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -echo $SCRIPT_DIR - -#CHECK IF MSB_ADDR IS GIVEN IN COMMAND -if [ -z "$1" ] -then - echo "There is no MSB_ADDR" - exit 1 -fi -MSB_ADDR=$1 -CSAR_NAME=$2 -echo $MSB_ADDR -echo $CSAR_NAME - -# Wait for MSB initialization -echo Wait for MSB initialization -for i in {1..20}; do - curl -sS -m 1 $MSB_ADDR > /dev/null && break - sleep $i -done -#MSB initialized -########################################### -########################################### -########################################### -########################################### -########################################### -########################################### -############UOLOAD PACKAGE to MARKET PLACE###################### -echo -echo "############## UOLOAD PACKAGE to MARKET PLACE STARTED ##############"; -UploadPackageResponse=$(curl -sS -X POST -H "Content-Type: multipart/form-data;" -F "file=@$CSAR_NAME" http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars) -if echo "$UploadPackageResponse" | grep -q "\"csarId\""; then - echo "UOLOAD PACKAGE TO MARKET PLACE SUCSSS !!!"; -else - echo "UploadPackageResponse :$UploadPackageResponse" - echo "UOLOAD PACKAGE TO MARKET PLACE FAILED !!!"; - exit 1; -fi -UploadCsarId=$(echo ${UploadPackageResponse:11:36}) -echo "PACKAGE ID:$UploadCsarId" -echo "############## UOLOAD PACKAGE to MARKET PLACE END ##################"; -#######UOLOAD PACKAGE to MARKET PLACE END############# -########################################### -########################################### -########################################### -########################################### -########################################### -########################################### -########################################### -################GET ON BOARD STATUS######## -echo -echo "####################### GETTING ON-BOARDING STATUS ##################"; -#sleeping for 10 sec so thate ON Boarding operation should be happened at backend -for pc in $(seq 1 10); do - status=$((${pc}*10)); - echo -ne "ON_BOARDING Status (%): $status\033[0K\r" - sleep 1 -done -echo - -#Three Retries for getting On Boarding Result -#count=0 -#while [ $count -lt 3 ] -#do -# OnBoardStatusResponse=$(curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/onboardstatus?operTypeId=functiontest&operId=functestexec" -H "Accept: application/json" -H "Content-Type: application/json") -# echo $OnBoardStatusResponse -# if echo "$OnBoardStatusResponse" | grep -q "\"status\":0"; then -# break; -# else -# if [ $count -eq 3 ] -# then -# echo "ON-BOARDING OPERATION FAILED !!!"; -# fi -# count=`expr $count + 1`; -# sleep 3; -# fi -#done -echo "GET ON-BOARDING RESULT OPERATION SUCESS "; -echo "##################### GETTING ON-BOARDING STATUS END #################"; -####################GET ON BOARD STATUS END############ -########################################## -########################################## -########################################## -########################################## -########################################## -#################DOWNLOAD PACKAGE######### -echo -echo "############## DOWNLOADED PACKAGE FROM MARKET STARTED #################"; -PACKAGE_NAME=market_temp.csar -curl -sS -X GET "http://$MSB_ADDR/openoapi/vnfsdk-marketplace/v1/PackageResource/csars/$UploadCsarId/files" > $PACKAGE_NAME -fileSize=$(du -b $PACKAGE_NAME | cut -f 1) -if [ $fileSize -eq 0 ] -then - echo "DOWNLOADED PACKAGE FROM MARKET NOT PROPER, ON-BOARDING OPERATION FAILED !!!"; - exit 1; -fi -echo "DOWNLOADED PACKAGE FROM MARKET OPERATION SUCESS !!!"; -echo "MARKET PACKAGE NAME:$PACKAGE_NAME" -echo "##################### DOWNLOADED PACKAGE FROM MARKET ##################"; -###################DOWNLOAD PACKAGE END##################### -########################################## -########################################## -########################################## -########################################## -##########CATALOUGE START################# -echo -PACKAGE_NAME=$CSAR_NAME -#Check if common-tosca-catalog is registered with MSB or not -#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/catalog/version/v1 -H "Accept: application/json" -H "Content-Type: application/json" -#check if common-tosca-aria is registered with MSB or not -#curl -sS -X GET http://$MSB_ADDR/api/microservices/v1/services/tosca/version/v1 -H "Accept: application/json" -H "Content-Type: application/json" -#echo Sending POST request to Catalog -CsarIdString=$(curl -sS -X POST -H "Content-Type: multipart/form-data; boundary=-WebKitFormBoundary7MA4YWxkTrZu0gW" -H "Cache-Control: no-cache" -H "Postman-Token: abcb6497-b225-c592-01be-e9ff460ca188" -F "file=@$PACKAGE_NAME" http://$MSB_ADDR/openoapi/catalog/v1/csars) -#getting csarId from the output of curl request -CsarId=$(echo ${CsarIdString:11:36}) -echo $CsarId -echo $CsarIdString -#csarid is sucessfully stored in CsarId variable -echo "====finished======" -##########CATALOUGE END############ -echo "DELETING PACAKE LOCAL COPY:$PACKAGE_NAME"; -#rm $PACKAGE_NAME; diff --git a/plans/vnfsdk-refrepo/testsuites/setup.sh b/plans/vnfsdk-refrepo/testsuites/setup.sh new file mode 100644 index 00000000..0d41584b --- /dev/null +++ b/plans/vnfsdk-refrepo/testsuites/setup.sh @@ -0,0 +1,43 @@ +#!/bin/bash +# +# Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. +# +# 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. +# +# These scripts are sourced by run-csit.sh. + +VNFSDK_REFREPO_DOCKER_VERSION=latest + +#Start market place +docker run -d -i -t --name refrepo -p 8702:8702 nexus3.onap.org:10001/onap/vnfsdk/refrepo:$VNFSDK_REFREPO_DOCKER_VERSION +DOCKER_IP=`get-docker-network-ip.sh` + +# Wait for Market place initialization +echo Wait for VNF Repository initialization +# Active waiting with healthcheck and max retry count +MAX_RETRY=30 +TRY=1 +while (( $(curl -s -o /dev/null -w ''%{http_code}'' ${DOCKER_IP}:8702/onapapi/vnfsdk-marketplace/v1/PackageResource/healthcheck) != 200 )) && (($TRY < $MAX_RETRY)); do + sleep 4 + TRY=$[$TRY+1] +done + +REFREPO_IP=`get-instance-ip.sh refrepo` + +# Get refrepo logs for easier debug in case of failure +docker logs refrepo + +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS} -v REFREPO_IP:${REFREPO_IP}" +echo ${ROBOT_VARIABLES} diff --git a/plans/vnfsdk-refrepo/sanity-check/teardown.sh b/plans/vnfsdk-refrepo/testsuites/teardown.sh index 19440bc7..f7c57113 100644 --- a/plans/vnfsdk-refrepo/sanity-check/teardown.sh +++ b/plans/vnfsdk-refrepo/testsuites/teardown.sh @@ -1,6 +1,7 @@ #!/bin/bash # # Copyright 2016-2017 Huawei Technologies Co., Ltd. +# Copyright 2020 Nokia. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,8 +17,5 @@ # # This script is sourced by run-csit.sh after Robot test completion. - kill-instance.sh refrepo -kill-instance.sh postgres - diff --git a/plans/vnfsdk-refrepo/sanity-check/testplan.txt b/plans/vnfsdk-refrepo/testsuites/testplan.txt index b5370f38..bc6629d6 100644 --- a/plans/vnfsdk-refrepo/sanity-check/testplan.txt +++ b/plans/vnfsdk-refrepo/testsuites/testplan.txt @@ -1,3 +1,3 @@ ## Test suites are relative paths under [integration/csit.git]/tests/. ## Place the suites in run order. -vnfsdk-marketplace/provision/sanity_test_vnfsdktestfunction.robot +vnfsdk-refrepo/csar_validation_tests.robot |