From: Morgan Richomme Date: Fri, 2 Apr 2021 12:32:21 +0000 (+0000) Subject: Merge "Remove redundant optf CSIT tests" X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=3958820ac87baf543d43589317999ae91496f3c3;hp=e88242da2117cc06bba3b3410f1a6faa9acb5035;p=integration%2Fcsit.git Merge "Remove redundant optf CSIT tests" --- diff --git a/plans/dmaap-buscontroller/mock_downstream/setup.sh b/plans/dmaap-buscontroller/mock_downstream/setup.sh deleted file mode 100755 index 9f5dbbc6..00000000 --- a/plans/dmaap-buscontroller/mock_downstream/setup.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -# -# ============LICENSE_START======================================================= -# org.onap.dmaap -# ================================================================================ -# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# - - -# Place the scripts in run order: -source ${WORKSPACE}/scripts/dmaap-buscontroller/start-mock.sh -start_mock "aaf" -AAF_IP=${IP} -start_mock "mrc" 3904 -MRC_IP=${IP} -start_mock "drps" -DRPS_IP=${IP} - -source ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-launch.sh -dmaapbc_launch $AAF_IP $MRC_IP $DRPS_IP -DMAAPBC_IP=${IP} - - -echo "AAF_IP=$AAF_IP MRC_IP=$MRC_IP DRPS_IP=$DRPS_IP DMAAPBC_IP=$DMAAPBC_IP" - -# Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v AAF_IP:${AAF_IP} -v MRC_IP:${MRC_IP} -v DRPS_IP:${DRPS_IP} -v DMAAPBC_IP:${DMAAPBC_IP}" - -set -x -${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAPBC_IP} ${DRPS_IP} ${MRC_IP} -set +x diff --git a/plans/dmaap-buscontroller/mock_downstream/teardown.sh b/plans/dmaap-buscontroller/mock_downstream/teardown.sh deleted file mode 100644 index 1b041a42..00000000 --- a/plans/dmaap-buscontroller/mock_downstream/teardown.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -# -# ============LICENSE_START======================================================= -# org.onap.dmaap -# ================================================================================ -# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# -kill-instance.sh aaf-mock -kill-instance.sh drps-mock -kill-instance.sh mrc-mock -kill-instance.sh dmaapbc - diff --git a/plans/dmaap-buscontroller/mock_downstream/testplan.txt b/plans/dmaap-buscontroller/mock_downstream/testplan.txt deleted file mode 100644 index 484fb295..00000000 --- a/plans/dmaap-buscontroller/mock_downstream/testplan.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -dmaap-buscontroller/suite1 - diff --git a/plans/dmaap-buscontroller/ssl/setup.sh b/plans/dmaap-buscontroller/ssl/setup.sh deleted file mode 100755 index 6ab50ed1..00000000 --- a/plans/dmaap-buscontroller/ssl/setup.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -# -# ============LICENSE_START======================================================= -# org.onap.dmaap -# ================================================================================ -# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# - - -# Place the scripts in run order: -source ${WORKSPACE}/scripts/dmaap-buscontroller/start-mock.sh -start_mock "aaf" -AAF_IP=${IP} -start_mock "mrc" 3905 -MRC_IP=${IP} -start_mock "drps" 8443 -DRPS_IP=${IP} - -source ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-launch.sh -dmaapbc_launch $AAF_IP $MRC_IP $DRPS_IP -DMAAPBC_IP=${IP} - - -echo "AAF_IP=$AAF_IP MRC_IP=$MRC_IP DRPS_IP=$DRPS_IP DMAAPBC_IP=$DMAAPBC_IP" - -# Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v AAF_IP:${AAF_IP} -v MRC_IP:${MRC_IP} -v DRPS_IP:${DRPS_IP} -v DMAAPBC_IP:${DMAAPBC_IP}" - -set -x -${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAPBC_IP} ${DRPS_IP} ${MRC_IP} https -set +x diff --git a/plans/dmaap-buscontroller/ssl/teardown.sh b/plans/dmaap-buscontroller/ssl/teardown.sh deleted file mode 100644 index 1b041a42..00000000 --- a/plans/dmaap-buscontroller/ssl/teardown.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash -# -# ============LICENSE_START======================================================= -# org.onap.dmaap -# ================================================================================ -# Copyright (C) 2018 AT&T Intellectual Property. All rights reserved. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============LICENSE_END========================================================= -# -# -kill-instance.sh aaf-mock -kill-instance.sh drps-mock -kill-instance.sh mrc-mock -kill-instance.sh dmaapbc - diff --git a/plans/dmaap-buscontroller/ssl/testplan.txt b/plans/dmaap-buscontroller/ssl/testplan.txt deleted file mode 100644 index 54ce4df1..00000000 --- a/plans/dmaap-buscontroller/ssl/testplan.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -dmaap-buscontroller/ssl_suite - diff --git a/plans/dmaap-buscontroller/with_dr/setup.sh b/plans/dmaap-buscontroller/with_dr/setup.sh index d9d8574f..822f6a7e 100755 --- a/plans/dmaap-buscontroller/with_dr/setup.sh +++ b/plans/dmaap-buscontroller/with_dr/setup.sh @@ -19,39 +19,27 @@ # ============LICENSE_END========================================================= # # - source ${SCRIPTS}/common_functions.sh +COMPOSE_PREFIX=${COMPOSE_PROJECT_NAME:-dockercompose} +export COMPOSE_PROJECT_NAME=$COMPOSE_PREFIX +echo "COMPOSE_PROJECT_NAME=$COMPOSE_PROJECT_NAME" +echo "COMPOSE_PREFIX=$COMPOSE_PREFIX" -if [ "$USE_EXISTING_DMAAP" = "Y" ] -then - ROBOT_VARIABLES="-v AAF_IP:0.0.0 -v MRC_IP:0.0.0.0 -v DRPS_IP:172.17.0.3 -v DMAAPBC_IP:172.17.0.4" -else - - # Place the scripts in run order: - source ${WORKSPACE}/scripts/dmaap-buscontroller/dr-launch.sh - dmaap_dr_launch - DRPS_IP=${IP} - - #source ${WORKSPACE}/scripts/dmaap-buscontroller/start-mock.sh - #start_mock "aaf" - #AAF_IP=${IP} - AAF_IP=0.0.0.0 - #start_mock "drps" - #DRPS_IP=${IP} - MRC_IP=0.0.0.0 - - source ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-launch.sh - dmaapbc_launch $AAF_IP $MRC_IP $DRPS_IP - DMAAPBC_IP=${IP} +source ${WORKSPACE}/scripts/dmaap-datarouter/datarouter-launch.sh +# Launch DR. If true is passed, 2 subscriber containers are also deployed, else false. +dmaap_dr_launch false +DRPS_IP=${DR_PROV_IP} +source ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-launch.sh +dmaapbc_launch ${DRPS_IP} +DMAAPBC_IP=${DMAAP_BC_IP} - echo "AAF_IP=$AAF_IP MRC_IP=$MRC_IP DRPS_IP=$DRPS_IP DMAAPBC_IP=$DMAAPBC_IP" +echo "DRPS_IP=$DRPS_IP DMAAPBC_IP=$DMAAPBC_IP" - # Pass any variables required by Robot test suites in ROBOT_VARIABLES - ROBOT_VARIABLES="-v AAF_IP:${AAF_IP} -v MRC_IP:${MRC_IP} -v DRPS_IP:${DRPS_IP} -v DMAAPBC_IP:${DMAAPBC_IP}" - set -x - ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAPBC_IP} ${DRPS_IP} ${MRC_IP} https - set +x -fi +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES="-v DRPS_IP:${DRPS_IP} -v DMAAPBC_IP:${DMAAPBC_IP}" +set -x +${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAPBC_IP} +set +x diff --git a/plans/dmaap-buscontroller/with_dr/teardown.sh b/plans/dmaap-buscontroller/with_dr/teardown.sh index c7a2d6d8..5e801423 100755 --- a/plans/dmaap-buscontroller/with_dr/teardown.sh +++ b/plans/dmaap-buscontroller/with_dr/teardown.sh @@ -18,9 +18,17 @@ # limitations under the License. # ============LICENSE_END========================================================= -if [ "$KEEP_DMAAP" != "Y" ] -then -kill-instance.sh dmaapbc -cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources -docker-compose down -v -fi +#kill-instance.sh dmaapbc +cd ${WORKSPACE}/archives/dmaap/dr +rm -rf last_run_logs/* +docker cp datarouter-prov:/opt/app/datartr/logs last_run_logs/prov_logs +docker cp datarouter-node:/opt/app/datartr/logs last_run_logs/node_event_logs +docker cp datarouter-node:/var/log/onap/datarouter last_run_logs/node_server_logs +docker cp subscriber-node:/var/log/onap/datarouter last_run_logs/sub1_logs +docker cp subscriber-node2:/var/log/onap/datarouter last_run_logs/sub2_logs +docker cp dmaap-bc:/opt/app/dmaapbc/logs/ONAP last_run_logs/bc_logs + +sudo sed -i".bak" '/dmaap-dr-prov/d' /etc/hosts +sudo sed -i".bak" '/dmaap-dr-node/d' /etc/hosts +docker-compose -f ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose/docker-compose.yml rm -sf +docker-compose -f ${WORKSPACE}/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml rm -sf diff --git a/plans/dmaap-buscontroller/with_mr/setup.sh b/plans/dmaap-buscontroller/with_mr/setup.sh index 01636867..74bfb0c5 100755 --- a/plans/dmaap-buscontroller/with_mr/setup.sh +++ b/plans/dmaap-buscontroller/with_mr/setup.sh @@ -19,36 +19,21 @@ # ============LICENSE_END========================================================= # # +# Place the scripts in run order: +source ${WORKSPACE}/scripts/dmaap-message-router/dmaap-mr-launch.sh +dmaap_mr_launch +MRC_IP=${IP} -if [ "$USE_EXISTING_DMAAP" = "Y" ] -then - ROBOT_VARIABLES="-v AAF_IP:0.0.0 -v MRC_IP:172.18.0.3 -v DRPS_IP:0.0.0.0 -v DMAAPBC_IP:172.17.0.4" -else +mkdir -p ${WORKSPACE}/archives/dmaapmr/last_run_logs - # Place the scripts in run order: - source ${WORKSPACE}/scripts/dmaap-message-router/dmaap-mr-launch.sh - dmaap_mr_launch - MRC_IP=${IP} +source ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-launch.sh +dmaapbc_launch $MRC_IP +DMAAP_BC_IP=${DMAAP_BC_IP} - source ${WORKSPACE}/scripts/dmaap-buscontroller/start-mock.sh - start_mock "aaf" - AAF_IP=${IP} - #AAF_IP=0.0.0.0 - #start_mock "drps" - #DRPS_IP=${IP} - DRPS_IP=0.0.0.0 - - source ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-launch.sh - dmaapbc_launch $AAF_IP $MRC_IP $DRPS_IP - DMAAPBC_IP=${IP} - - - echo "AAF_IP=$AAF_IP MRC_IP=$MRC_IP DRPS_IP=$DRPS_IP DMAAPBC_IP=$DMAAPBC_IP" - - # Pass any variables required by Robot test suites in ROBOT_VARIABLES - ROBOT_VARIABLES="-v AAF_IP:${AAF_IP} -v MRC_IP:${MRC_IP} -v DRPS_IP:${DRPS_IP} -v DMAAPBC_IP:${DMAAPBC_IP}" - set -x - ${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAPBC_IP} ${DRPS_IP} ${MRC_IP} - set +x -fi +echo "DMAAP_BC_IP=$DMAAP_BC_IP" +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +ROBOT_VARIABLES=" -v DMAAP_BC_IP:${DMAAP_BC_IP}" +set -x +${WORKSPACE}/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAP_BC_IP} +set +x diff --git a/plans/dmaap-buscontroller/with_mr/teardown.sh b/plans/dmaap-buscontroller/with_mr/teardown.sh index ae064814..5149743a 100644 --- a/plans/dmaap-buscontroller/with_mr/teardown.sh +++ b/plans/dmaap-buscontroller/with_mr/teardown.sh @@ -19,12 +19,12 @@ # ============LICENSE_END========================================================= # # +cd ${WORKSPACE}/archives/dmaapmr source ${WORKSPACE}/scripts/dmaap-message-router/dmaap-mr-teardown.sh - -if [ "$KEEP_DMAAP" != "Y" ] -then dmaap_mr_teardown -kill-instance.sh dmaapbc -kill-instance.sh aaf-mock -fi +rm -rf last_run_logs/* +docker cp dmaap-bc:/opt/app/dmaapbc/logs/ONAP last_run_logs/bc_logs +docker-compose -f ${WORKSPACE}/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml rm -sf + + diff --git a/plans/dmaap-buscontroller/with_mr/testplan.txt b/plans/dmaap-buscontroller/with_mr/testplan.txt index 0728bd44..a8fe876a 100644 --- a/plans/dmaap-buscontroller/with_mr/testplan.txt +++ b/plans/dmaap-buscontroller/with_mr/testplan.txt @@ -1,3 +1,3 @@ # Test suites are relative paths under [integration/csit.git]/tests/. # Place the suites in run order. -dmaap-buscontroller/single-mr-suite +dmaap-buscontroller/with_mr diff --git a/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh b/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh index 7ffd1fe2..536863bc 100755 --- a/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh +++ b/plans/dmaap-datarouter/ssl-dr-suite/teardown.sh @@ -17,16 +17,5 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END===================================================== -cd ${WORKSPACE}/archives/dmaap/dr -rm -rf last_run_logs/* -docker cp datarouter-prov:/opt/app/datartr/logs last_run_logs/prov_logs -docker cp datarouter-node:/opt/app/datartr/logs last_run_logs/node_event_logs -docker cp datarouter-node:/var/log/onap/datarouter last_run_logs/node_server_logs -docker cp subscriber-node:/var/log/onap/datarouter last_run_logs/sub1_logs -docker cp subscriber-node2:/var/log/onap/datarouter last_run_logs/sub2_logs -cd ${WORKSPACE}/scripts/dmaap-datarouter/docker-compose -sudo sed -i".bak" '/dmaap-dr-prov/d' /etc/hosts -sudo sed -i".bak" '/dmaap-dr-node/d' /etc/hosts -docker-compose rm -sf -cd ${WORKSPACE}/scripts/dmaap-datarouter/robot_ssl -python -c 'import update_ca; update_ca.remove_onap_ca_cert()' +source ${WORKSPACE}/scripts/dmaap-datarouter/datarouter-teardown.sh +teardown_dmaap_dr \ No newline at end of file diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/A20181002.0000-1000-0015-1000_5G.xml.gz b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/A20181002.0000-1000-0015-1000_5G.xml.gz deleted file mode 100644 index 32865fc1..00000000 Binary files a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/A20181002.0000-1000-0015-1000_5G.xml.gz and /dev/null differ diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/cbs_sim/cbs-initializer.json b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/cbs_sim/cbs-initializer.json deleted file mode 100644 index 25816a50..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/cbs_sim/cbs-initializer.json +++ /dev/null @@ -1,95 +0,0 @@ -[{ - "httpRequest":{ - "method":"GET", - "path":"/service_component/pmmapper", - "headers":{ - "!X-ONAP-RequestID":[ - "!12345" - ], - "!X-ONAP-InvocationID":[ - "!12345" - ], - "X-ONAP-PartnerName":[ - "pm-mapper" - ], - "User-Agent":[ - "Java/11.0.7" - ], - "Host":[ - "!some-random-host:10000" - ], - "Accept":[ - "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2" - ], - "Connection":[ - "keep-alive" - ], - "content-length":[ - "0" - ] - }, - "keepAlive":true, - "secure":false - }, - "httpResponse":{ - "statusCode":200, - "headers":{ - "content-type":[ - "application/json" - ] - }, - "body":{ - "type":"JSON", - "json":{ - "pm-mapper-filter":"{\"filters\": []}", - "key_store_path":"/opt/app/pm-mapper/etc/cert.jks", - "key_store_pass_path":"/opt/app/pm-mapper/etc/jks.pass", - "trust_store_path":"/opt/app/pm-mapper/etc/trust.jks", - "trust_store_pass_path":"/opt/app/pm-mapper/etc/trust.pass", - "dmaap_dr_delete_endpoint":"https://dmaap-dr-node:8443/delete", - "dmaap_dr_feed_name":"1", - "aaf_identity":"aaf_admin@people.osaaf.org", - "aaf_password":"demo123456!", - "enable_http":true, - "streams_publishes":{ - "dmaap_publisher":{ - "type":"message_router", - "dmaap_info":{ - "topic_url":"http://dmaap-message-router:3904/events/org.onap.dmaap.mr.VES_PM", - "client_role":"org.onap.dcae.pmPublisher", - "location":"csit-pmmapper", - "client_id":"1562763644939" - } - } - }, - "streams_subscribes":{ - "dmaap_subscriber":{ - "type":"data_router", - "dmaap_info":{ - "username":"username", - "password":"password", - "location":"csit-pmmapper", - "delivery_url":"http://dcae-pm-mapper:8081/delivery", - "subscriber_id":1 - } - } - } - } - } - } -}, - { - "httpRequest": { - "path": "/health" - }, - "httpResponse": { - "statusCode": 200, - "headers": { - "content-type": [ - "application/json" - ] - }, - "body": "{}" - } - } -] diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/cbs_sim/cbs_mockserver.properties b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/cbs_sim/cbs_mockserver.properties deleted file mode 100644 index 8c29348a..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/cbs_sim/cbs_mockserver.properties +++ /dev/null @@ -1,26 +0,0 @@ -####################################### -# MockServer & Proxy Example Settings # -####################################### - -# Socket & Port Settings - -# socket timeout in milliseconds (default 120000) -mockserver.maxSocketTimeout=120000 - -# Certificate Generation - -# delete KeyStore file on JVM shutdown (default true) -mockserver.deleteGeneratedKeyStoreOnExit=true -# certificate domain name (default "localhost") -mockserver.sslCertificateDomainName=localhost -# comma separated list of domain names for Subject Alternative Name domain names (default empty list) -mockserver.sslSubjectAlternativeNameDomains=cbs-sim,config-binding-service,config-binding-service.onap -# comma separated list of ip addresses for Subject Alternative Name ips (default empty list) -mockserver.sslSubjectAlternativeNameIps=127.0.0.1 - -# CORS - -# enable CORS for MockServer REST API -mockserver.enableCORSForAPI=true -# enable CORS for all responses -mockserver.enableCORSForAllResponses=true diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dfc/application.yaml b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dfc/application.yaml deleted file mode 100644 index 086babc4..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dfc/application.yaml +++ /dev/null @@ -1,26 +0,0 @@ -spring: - profiles: - active: prod -management: - endpoints: - web: - exposure: - include: "loggers,logfile,health,info,metrics" -server: - port: 8433 - ssl: - key-store-type: PKCS12 - key-store-password: ericssondfc - key-store: classpath:keystore.jks - key-password: ericssondfc - keyAlias: tomcat-localhost -logging: - level: - ROOT: ERROR - org.springframework: ERROR - org.springframework.data: ERROR - org.springframework.web.reactive.function.client.ExchangeFunctions: ERROR - org.onap.dcaegen2.collectors.datafile: TRACE - file: /var/log/ONAP/application.log -app: - filepath: /opt/app/datafile/config/datafile_endpoints.json diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dfc/datafile_endpoints.json b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dfc/datafile_endpoints.json deleted file mode 100644 index c845b2db..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dfc/datafile_endpoints.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "config": { - "//description": "This file is only used for testing purposes", - "dmaap.certificateConfig.keyCert": "/opt/app/datafile/etc/cert/cert.jks", - "dmaap.certificateConfig.keyPasswordPath": "/opt/app/datafile/etc/cert/jks.pass", - "dmaap.certificateConfig.trustedCa": "/opt/app/datafile/etc/cert/trust.jks", - "dmaap.certificateConfig.trustedCaPasswordPath": "/opt/app/datafile/etc/cert/trust.pass", - "dmaap.security.trustStorePath": "/opt/app/datafile/etc/cert/trust.jks", - "dmaap.security.trustStorePasswordPath": "/opt/app/datafile/etc/cert/trust.pass", - "dmaap.security.keyStorePath": "/opt/app/datafile/etc/cert/cert.jks", - "dmaap.security.keyStorePasswordPath": "/opt/app/datafile/etc/cert/jks.pass", - "dmaap.security.enableDmaapCertAuth": "false", - "dmaap.dmaapConsumerConfiguration.consumerGroup": "OpenDcae-c12", - "dmaap.dmaapConsumerConfiguration.consumerId": "C12", - "dmaap.dmaapConsumerConfiguration.timeoutMs": -1, - "sftp.security.strictHostKeyChecking": "true", - "streams_publishes": { - "PM_MEAS_FILES": { - "type": "data_router", - "dmaap_info": { - "username": "dradmin", - "location": "san-francisco", - "log_url": "https://dmaap-dr-prov:8443/feedlog/1", - "publisher_id": "972.360gm", - "password": "dradmin", - "publish_url": "https://dmaap-dr-prov:8443/publish/1" - } - } - }, - "streams_subscribes": { - "dmaap_subscriber": { - "dmaap_info": { - "topic_url":"http://dmaap-message-router:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT" - }, - "type": "message_router" - } - } - } -} diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/addDefaultSubscriber.json b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/addDefaultSubscriber.json deleted file mode 100644 index 6a8da842..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/addDefaultSubscriber.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "delivery":{ - "url":"http://datarouter-subscriber:7070", - "user":"LOGIN", - "password":"PASSWORD", - "use100":true - }, - "follow_redirect":false, - "metadataOnly":false, - "suspend":false, - "groupid":0, - "links":{ - "self": "https://dmaap-dr-prov/subscribe/1", - "log": "https://dmaap-dr-prov/feedlog/1", - "feed": "https://dmaap-dr-prov/feed/1" - }, - "subscriber":"admin", - "decompress":true - } \ No newline at end of file diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/addPmMapperSubscriber.json b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/addPmMapperSubscriber.json deleted file mode 100644 index 0666a7d5..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/addPmMapperSubscriber.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "delivery":{ - "url":"http://dcae-pm-mapper:8081/delivery", - "user":"username", - "password":"password", - "use100":true - }, - "follow_redirect":false, - "metadataOnly":false, - "suspend":false, - "groupid":0, - "links":{ - "self": "https://dmaap-dr-prov/subscribe/1", - "log": "https://dmaap-dr-prov/feedlog/1", - "feed": "https://dmaap-dr-prov/feed/1" - }, - "subscriber":"pmmapper", - "decompress":true, - "privilegedSubscriber": true - } \ No newline at end of file diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/createFeed.json b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/createFeed.json deleted file mode 100644 index fdcc7eef..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/createFeed.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "DefaultFeed", - "version": "m1.0", - "description": "Default feed", - "business_description": "Default Feed", - "suspend": false, - "deleted": false, - "changeowner": true, - "authorization": { - "classification": "unclassified", - "endpoint_addrs": [], - "endpoint_ids": [ - { - "password": "dradmin", - "id": "dradmin" - }] - } - } \ No newline at end of file diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/cert.jks b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/cert.jks deleted file mode 100644 index 33dc9a31..00000000 Binary files a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/cert.jks and /dev/null differ diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/jks.pass b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/jks.pass deleted file mode 100644 index ae8f7e72..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/jks.pass +++ /dev/null @@ -1 +0,0 @@ -Er1tmip;T4w[%1}YE?x{fN9v \ No newline at end of file diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/trust.jks b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/trust.jks deleted file mode 100644 index 679c95a5..00000000 Binary files a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/trust.jks and /dev/null differ diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/trust.pass b/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/trust.pass deleted file mode 100644 index d3d01b0a..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/trust.pass +++ /dev/null @@ -1 +0,0 @@ -583Ls;XF(qDQu3p!L22gyh1t \ No newline at end of file diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/composefile/docker-compose-e2e.yml b/plans/usecases-5G-bulkpm/5G-bulkpm/composefile/docker-compose-e2e.yml deleted file mode 100644 index 46fab55c..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/composefile/docker-compose-e2e.yml +++ /dev/null @@ -1,155 +0,0 @@ -version: '2.1' -services: - datarouter-prov: - image: nexus3.onap.org:10001/onap/dmaap/datarouter-prov:latest - container_name: dmaap-datarouter-prov - hostname: dmaap-dr-prov - ports: - - "443:8443" - - "8443:8443" - - "8080:8080" - volumes: - - ../prov_data/provserver.properties:/opt/app/datartr/etc/provserver.properties - - ../prov_data/addSubscriber.txt:/opt/app/datartr/addSubscriber.txt - - ../prov_data/addFeed3.txt:/opt/app/datartr/addFeed3.txt - depends_on: - mariadb_container: - condition: service_healthy - healthcheck: - test: ["CMD", "curl", "-f", "http://dmaap-dr-prov:8080/internal/prov"] - interval: 10s - timeout: 10s - retries: 5 - networks: - tmp_bulk-pm-network: - aliases: - - datarouter-prov - - dmaap-dr-prov - - datarouter-node: - image: nexus3.onap.org:10001/onap/dmaap/datarouter-node:latest - container_name: dmaap-datarouter-node - hostname: dmaap-dr-node - ports: - - "9443:8443" - - "9090:8080" - volumes: - - ../node_data/node.properties:/opt/app/datartr/etc/node.properties - depends_on: - datarouter-prov: - condition: service_healthy - networks: - tmp_bulk-pm-network: - aliases: - - datarouter-node - - dmaap-dr-node - - datarouter-subscriber: - image: nexus3.onap.org:10001/onap/dmaap/datarouter-subscriber:latest - container_name: fileconsumer-node - hostname: subscriber.com - ports: - - "7070:7070" - volumes: - - ../subscriber_data/subscriber.properties:/opt/app/subscriber/etc/subscriber.properties - networks: - tmp_bulk-pm-network: - aliases: - - datarouter-subscriber - - mariadb_container: - image: mariadb:10.2.14 - container_name: dmaap-dr-prov-mariadb - ports: - - "3306:3306" - environment: - MYSQL_ROOT_PASSWORD: datarouter - MYSQL_DATABASE: datarouter - MYSQL_USER: datarouter - MYSQL_PASSWORD: datarouter - healthcheck: - test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "--silent"] - interval: 10s - timeout: 30s - retries: 5 - networks: - tmp_bulk-pm-network: - aliases: - - datarouter-mariadb - - sftp: - container_name: sftp - image: atmoz/sftp - ports: - - "2222:22" - command: admin:admin:1001 - networks: - tmp_bulk-pm-network: - aliases: - - sftp - - ves: - container_name: dcaegen2-vescollector - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.4.4 - environment: - DMAAPHOST: dmaap-message-router - networks: - tmp_bulk-pm-network: - aliases: - - dcaegen2-ves-collector - - dfc: - container_name: dcaegen2-datafile-collector - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:latest - ports: - - "8433:8433" - volumes: - - ./dfc/application.yaml:/opt/app/datafile/config/application.yaml - - ./dfc/datafile_endpoints.json:/opt/app/datafile/config/datafile_endpoints.json - networks: - tmp_bulk-pm-network: - aliases: - - dcaegen2-datafile-collector - environment: - KNOWN_HOSTS_FILE_PATH: "/home/datafile/.ssh/known_hosts" - CONFIG_BINDING_SERVICE_SERVICE_PORT: 10000 - - cbs-sim: - container_name: config-binding-service-sim - image: mockserver/mockserver:mockserver-5.10.0 - environment: - MOCKSERVER_PROPERTY_FILE: /config/mockserver.properties - MOCKSERVER_INITIALIZATION_JSON_PATH: /config/cbs-initializer.json - LOG_LEVEL: "DEBUG" - SERVER_PORT: 10000 - volumes: - - ./cbs_sim/cbs_mockserver.properties:/config/mockserver.properties - - ./cbs_sim/cbs-initializer.json:/config/cbs-initializer.json - networks: - tmp_bulk-pm-network: - aliases: - - config-binding-service - - pmmapper: - container_name: dcaegen2-pm-mapper - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:latest - ports: - - "8081:8081" - volumes: - - ./pm_mapper_certs/cert.jks:/opt/app/pm-mapper/etc/cert.jks:ro - - ./pm_mapper_certs/jks.pass:/opt/app/pm-mapper/etc/jks.pass:ro - - ./pm_mapper_certs/trust.jks:/opt/app/pm-mapper/etc/trust.jks:ro - - ./pm_mapper_certs/trust.pass:/opt/app/pm-mapper/etc/trust.pass:ro - environment: - CONFIG_BINDING_SERVICE_SERVICE_HOST: config-binding-service - CONFIG_BINDING_SERVICE_SERVICE_PORT: 10000 - HOSTNAME: pmmapper - networks: - tmp_bulk-pm-network: - aliases: - - dcae-pm-mapper - -networks: - tmp_bulk-pm-network: - external: true - diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/composefile/docker-compose-mr.yml b/plans/usecases-5G-bulkpm/5G-bulkpm/composefile/docker-compose-mr.yml deleted file mode 100644 index ba30f280..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/composefile/docker-compose-mr.yml +++ /dev/null @@ -1,77 +0,0 @@ -version: '2.1' -services: - zookeeper: - container_name: dmaap-message-router-zookeeper - image: nexus3.onap.org:10001/onap/dmaap/zookeeper:6.0.3 - ports: - - "2181:2181" - environment: - ZOOKEEPER_REPLICAS: 1 - ZOOKEEPER_TICK_TIME: 2000 - ZOOKEEPER_SYNC_LIMIT: 5 - ZOOKEEPER_INIT_LIMIT: 10 - ZOOKEEPER_MAX_CLIENT_CNXNS: 200 - ZOOKEEPER_AUTOPURGE_SNAP_RETAIN_COUNT: 3 - ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL: 24 - ZOOKEEPER_CLIENT_PORT: 2181 - KAFKA_OPTS: -Djava.security.auth.login.config=/etc/zookeeper/secrets/jaas/zk_server_jaas.conf -Dzookeeper.kerberos.removeHostFromPrincipal=true -Dzookeeper.kerberos.removeRealmFromPrincipal=true -Dzookeeper.authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider -Dzookeeper.requireClientAuthScheme=sasl - ZOOKEEPER_SERVER_ID: 1 - volumes: - - ../zk/zk_server_jaas.conf:/etc/zookeeper/secrets/jaas/zk_server_jaas.conf - networks: - bulk-pm-network: - aliases: - - zookeeper - - kafka: - container_name: dmaap-message-router-kafka - image: nexus3.onap.org:10001/onap/dmaap/kafka111:1.0.4 - ports: - - "9092:9092" - environment: - enableCadi: 'false' - KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 - KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 40000 - KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: 40000 - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_PLAINTEXT:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT - KAFKA_ADVERTISED_LISTENERS: INTERNAL_PLAINTEXT://kafka:9092 - KAFKA_LISTENERS: INTERNAL_PLAINTEXT://0.0.0.0:9092 - KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_PLAINTEXT - KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: 'false' - KAFKA_OPTS: -Djava.security.auth.login.config=/etc/kafka/secrets/jaas/zk_client_jaas.conf - KAFKA_ZOOKEEPER_SET_ACL: 'true' - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 - # Reduced the number of partitions only to avoid the timeout error for the first subscribe call in slow environment - KAFKA_OFFSETS_TOPIC_NUM_PARTITIONS: 1 - volumes: - - ../kafka/zk_client_jaas.conf:/etc/kafka/secrets/jaas/zk_client_jaas.conf - networks: - bulk-pm-network: - aliases: - - kafka - depends_on: - - zookeeper - - dmaap-message-router: - container_name: dmaap-message-router-server - image: nexus3.onap.org:10001/onap/dmaap/dmaap-mr:1.1.18 - ports: - - "3904:3904" - - "3905:3905" - environment: - enableCadi: 'false' - volumes: - - ../mr/MsgRtrApi.properties:/appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties - - ../mr/logback.xml:/appl/dmaapMR1/bundleconfig/etc/logback.xml - - ../mr/cadi.properties:/appl/dmaapMR1/etc/cadi.properties - networks: - bulk-pm-network: - aliases: - - dmaap-message-router - depends_on: - - zookeeper - - kafka - -networks: - bulk-pm-network: - driver: bridge diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/setup.sh b/plans/usecases-5G-bulkpm/5G-bulkpm/setup.sh deleted file mode 100644 index 8cb3d9f8..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/setup.sh +++ /dev/null @@ -1,124 +0,0 @@ -#!/bin/bash -# Place the scripts in run order: -source ${SCRIPTS}/common_functions.sh - -# Clone DMaaP Message Router repo -mkdir -p $WORKSPACE/archives/dmaapmr -cd $WORKSPACE/archives/dmaapmr -git clone --depth 1 http://gerrit.onap.org/r/dmaap/messagerouter/messageservice -b master -mkdir $WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose/tmp/ -# Copy custom docker-compose file -cp $WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/composefile/docker-compose-mr.yml \ -$WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose/tmp/docker-compose-mr.yml - -# Login to onap docker -docker login -u docker -p docker nexus3.onap.org:10001 -# Start DMaaP MR containers with docker compose and configuration from docker-compose-mr.yml -docker-compose -f $WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose/tmp/docker-compose-mr.yml up -d -sleep 5 - -# Wait for initialization of Docker contaienr for DMaaP MR, Kafka and Zookeeper -for i in 1 2 3 4 5 6 7 8 9 10; do - if [[ $(docker inspect --format '{{ .State.Running }}' dmaap-message-router-kafka) ]] && \ - [[ $(docker inspect --format '{{ .State.Running }}' dmaap-message-router-zookeeper) ]] && \ - [[ $(docker inspect --format '{{ .State.Running }}' dmaap-message-router-server) ]] - then - echo "Message Router service running" - break - else - echo sleep ${i} - sleep ${i} - fi -done - -# Clone DMaaP Data Router repo -mkdir -p $WORKSPACE/archives/dmaapdr -cd $WORKSPACE/archives/dmaapdr -git clone --depth 1 https://gerrit.onap.org/r/dmaap/datarouter -b master -mkdir $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose - -# Copy e2e docker compose assets to tmp dir -cp $WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/composefile/docker-compose-e2e.yml \ -$WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/docker-compose-e2e.yml -cp -rf $WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/assets/cbs_sim/ \ -$WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/ -cp -rf $WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dfc/ \ -$WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/ -cp -rf $WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/assets/pm_mapper_certs/ \ -$WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/ - -# Start cbs-sim for pmmapper stability -docker-compose -f $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/docker-compose-e2e.yml up -d cbs-sim -echo "Starting cbs-sim" -sleep 10 - -# Start the rest of the e2e containers -docker-compose -f $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/docker-compose-e2e.yml up -d - -# Wait for initialization of the following containers -for i in 1 2 3 4 5 6 7 8 9 10; do - if [[ $(docker inspect --format '{{ .State.Running }}' dmaap-datarouter-node) ]] && \ - [[ $(docker inspect --format '{{ .State.Running }}' dmaap-datarouter-prov) ]] && \ - [[ $(docker inspect --format '{{ .State.Running }}' dmaap-dr-prov-mariadb) ]] && \ - [[ $(docker inspect --format '{{ .State.Running }}' dcaegen2-pm-mapper) ]] && \ - [[ $(docker inspect --format '{{ .State.Running }}' dcaegen2-datafile-collector) ]] - then - echo "Data Router service running" - break - else - echo sleep ${i} - sleep ${i} - fi -done - -# Get IP address of docker-host, dmaap-dr-prov, dmaap-dr-gateway, dmaap-mr and ves collector. -#HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $7}') -DR_PROV_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dmaap-datarouter-prov) -DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' dmaap-datarouter-prov) -DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dmaap-message-router-server) -VESC_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dcaegen2-vescollector) - -#Add SFTP server pubilc key to known hosts of datafile collector -HOST_NAMES=$(docker inspect -f '{{ range .NetworkSettings.Networks}}{{join .Aliases ","}}{{end}}' sftp) -KEY_ENTRY=$(echo $HOST_NAMES "$(docker exec sftp cat /etc/ssh/ssh_host_rsa_key.pub)" | sed -e 's/\w*@\w*$//') -docker exec -i -u root dcaegen2-datafile-collector sh -c "echo $KEY_ENTRY >> /home/datafile/.ssh/known_hosts" - -# Add gateway IP to DR Prov -docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$DR_GATEWAY_IP" -docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$DR_GATEWAY_IP" - -#Increase DFC Logging -#docker exec dfc /bin/sh -c " sed -i 's/org.onap.dcaegen2.collectors.datafile: WARN/org.onap.dcaegen2.collectors.datafile: TRACE/g' /opt/app/datafile/config/application.yaml" - -# Copy sample PM file to sftp server -docker cp $WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/assets/A20181002.0000-1000-0015-1000_5G.xml.gz sftp:/home/admin/ - -# Data Router Configuration: -# Create default feed on DMaaP data router -curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.feed" -H "X-DMAAP-DR-ON-BEHALF-OF:dradmin" \ ---data-ascii @$WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/createFeed.json --post301 \ ---location-trusted -k https://${DR_PROV_IP}:8443 -sleep 2 -# Create file consumer subscriber on DMaaP data router -curl -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:dradmin" \ ---data-ascii @$WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/addDefaultSubscriber.json --post301 \ ---location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 -sleep 2 -# Add PM Mapper subscriber on data router feed -curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:pmmapper" \ ---data-ascii @$WORKSPACE/plans/usecases-5G-bulkpm/5G-bulkpm/assets/dmaap_dr/addPmMapperSubscriber.json \ ---post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 - -# Check DMaaP DR provisioning -curl -k https://${DR_PROV_IP}:8443/internal/prov - -# Add necessary python libs -pip install jsonschema uuid simplejson - -# Export necessary vars -export VESC_IP=${VESC_IP} -export VESC_PORT=8080 -export DMAAP_MR_IP=${DMAAP_MR_IP} - -#Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v VESC_IP:${VESC_IP} -v VESC_PORT:${VESC_PORT}" diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/teardown.sh b/plans/usecases-5G-bulkpm/5G-bulkpm/teardown.sh deleted file mode 100644 index 04391bbf..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/teardown.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -echo "Starting teardown script" -kill-instance.sh dmaap-message-router-server -kill-instance.sh dmaap-message-router-kafka -kill-instance.sh dmaap-message-router-zookeeper -kill-instance.sh dmaap-datarouter-node -kill-instance.sh dmaap-datarouter-prov -kill-instance.sh dmaap-dr-prov-mariadb -kill-instance.sh fileconsumer-node -kill-instance.sh dcaegen2-vescollector -kill-instance.sh dcaegen2-datafile-collector -kill-instance.sh dcaegen2-pm-mapper -kill-instance.sh sftp -kill-instance.sh config-binding-service-sim -yes | docker network prune diff --git a/plans/usecases-5G-bulkpm/5G-bulkpm/testplan.txt b/plans/usecases-5G-bulkpm/5G-bulkpm/testplan.txt deleted file mode 100644 index b72ba90d..00000000 --- a/plans/usecases-5G-bulkpm/5G-bulkpm/testplan.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -usecases-5G-bulkpm/5G-bulkpm diff --git a/scripts/dmaap-buscontroller/dmaapbc-init.sh b/scripts/dmaap-buscontroller/dmaapbc-init.sh index 804603f2..5e9cbb1e 100755 --- a/scripts/dmaap-buscontroller/dmaapbc-init.sh +++ b/scripts/dmaap-buscontroller/dmaapbc-init.sh @@ -1,56 +1,38 @@ #!/bin/bash # $1 is the IP address of the buscontroller -# $2 is the IP address of the DRPS -# $3 is the IP address of the MRC -# $4 is the protocol (defaults to http) - -PROTO=${4:-http} -if [ "$PROTO" = "http" ] -then - PORT=8080 - CURLOPT="-v" - MRPORT=3904 - DRPORT=8080 -else - PORT=8443 - CURLOPT="-v -k" - MRPORT=3905 - DRPORT=8443 -fi # INITIALIZE: dmaap object JSON=/tmp/$$.dmaap cat << EOF > $JSON { - "version": "1", - "topicNsRoot": "org.onap.dmaap", - "drProvUrl": "${PROTO}://dmaap-dr-prov:${DRPORT}", - "dmaapName": "onapCSIT", - "bridgeAdminTopic": "MM_AGENT_PROV" + "version": "1", + "topicNsRoot": "org.onap.dmaap", + "drProvUrl": "https://dmaap-dr-prov:8443", + "dmaapName": "onapCSIT", + "bridgeAdminTopic": "MM_AGENT_PROV" } EOF echo "Initializing /dmaap endpoint" -curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dmaap - +curl -v -k -X POST -d @${JSON} -H "Content-Type: application/json" https://$1:8443/webapi/dmaap # INITIALIZE: dcaeLocation object JSON=/tmp/$$.loc cat << EOF > $JSON { - "dcaeLocationName": "csit-sanfrancisco", - "dcaeLayer": "central-cloud", - "clli": "CSIT12345", - "zone": "zoneA" + "dcaeLocationName": "csit-sanfrancisco", + "dcaeLayer": "central-cloud", + "clli": "CSIT12345", + "zone": "zoneA" } EOF echo "Initializing /dcaeLocations endpoint" -curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dcaeLocations +curl -v -k -X POST -d @${JSON} -H "Content-Type: application/json" https://$1:8443/webapi/dcaeLocations # INITIALIZE: MR object in 1 site @@ -64,13 +46,13 @@ DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+' | head -1 ) JSON=/tmp/$$.mrc cat << EOF > $JSON { - "dcaeLocationName": "csit-sanfrancisco", - "fqdn": "$DOCKER_HOST", - "topicProtocol" : "http", - "topicPort": "${MRPORT}" + "dcaeLocationName": "csit-sanfrancisco", + "fqdn": "message-router", + "topicProtocol" : "http", + "topicPort": "3904" } EOF echo "Initializing /mr_clusters endpoint" -curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/mr_clusters +curl -v -k -X POST -d @${JSON} -H "Content-Type: application/json" https://$1:8443/webapi/mr_clusters diff --git a/scripts/dmaap-buscontroller/dmaapbc-launch.sh b/scripts/dmaap-buscontroller/dmaapbc-launch.sh index 0a653fa1..3e446d89 100755 --- a/scripts/dmaap-buscontroller/dmaapbc-launch.sh +++ b/scripts/dmaap-buscontroller/dmaapbc-launch.sh @@ -4,34 +4,23 @@ # sets global var IP with assigned IP address function dmaapbc_launch() { - TAG="nexus3.onap.org:10001/onap/dmaap/buscontroller" - CONTAINER_NAME=dmaapbc - IP="" + export dmaap_prov_ip=$1 + export dmaap_mr_ip=$1 + cd ${WORKSPACE}/scripts/dmaap-buscontroller/docker-compose + docker-compose -f docker-compose-bc.yml up -d - cd ${WORKSPACE}/scripts/dmaap-buscontroller + sleep 10 - TMP_CFG=/tmp/docker-databus-controller.conf - . ./onapCSIT.env > $TMP_CFG - ADDHOSTS="" - if [ ! -z "$2" ] - then - ADDHOSTS="$ADDHOSTS --add-host=message-router:$2" - fi - if [ ! -z "$3" ] - then - ADDHOSTS="$ADDHOSTS --add-host=dmaap-dr-prov:$3" - fi - docker run -d $ADDHOSTS --name $CONTAINER_NAME -v $TMP_CFG:/opt/app/config/conf $TAG - IP=`get-instance-ip.sh ${CONTAINER_NAME}` + DMAAP_BC_IP=`get-instance-ip.sh dmaap-bc` source ${SCRIPTS}/common_functions.sh - bypass_ip_adress ${IP} + bypass_ip_adress ${DMAAP_BC_IP} - # Wait for initialization - for i in {1..10}; do - curl -sS ${IP}:8080 && break - echo sleep $i - sleep $i - done + # Wait for initialization + for i in 1 2 3 4 5 6 7 8 9 10; do + curl -sS ${DMAAP_BC_IP}:8080 && break + echo sleep ${i} + sleep ${i} + done } diff --git a/scripts/dmaap-buscontroller/docker-compose/buscontroller.env b/scripts/dmaap-buscontroller/docker-compose/buscontroller.env new file mode 100644 index 00000000..cc3a3c7d --- /dev/null +++ b/scripts/dmaap-buscontroller/docker-compose/buscontroller.env @@ -0,0 +1,4 @@ +DMAAPBC_WAIT_TO_EXIT=Y +DMAAPBC_PG_ENABLED=false +DMAAPBC_CSIT=Yes +DMAAPBC_KSTOREFILE=/opt/app/osaaf/local/org.onap.dmaap-bc.jks \ No newline at end of file diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.cred.props b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.cred.props new file mode 100644 index 00000000..52536a14 --- /dev/null +++ b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.cred.props @@ -0,0 +1,17 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2021-03-12T11:38:49.244+0000 +# @copyright 2019, AT&T +############################################################ +Challenge=secret +cadi_alias=dmaap-bc@dmaap-bc.onap.org +cadi_key_password=secret +#cadi_keyfile=/opt/app/osaaf/local/org.onap.dmaap-dr.keyfile +cadi_keystore=/opt/app/osaaf/local/org.onap.dmaap-bc.jks +cadi_keystore_password=secret +cadi_keystore_password_jks=secret +cadi_keystore_password_p12=secret +cadi_truststore=/opt/app/osaaf/local/truststore.jks +cadi_truststore_password=secret +cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jks b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jks new file mode 100644 index 00000000..ca8301ca Binary files /dev/null and b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.jks differ diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.location.props b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.location.props new file mode 100644 index 00000000..a8374dc7 --- /dev/null +++ b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.location.props @@ -0,0 +1,8 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2021-03-12T11:25:54.608+0000 +# @copyright 2019, AT&T +############################################################ +cadi_latitude=38.0 +cadi_longitude=-72.0 diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.props b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.props new file mode 100644 index 00000000..f3747fad --- /dev/null +++ b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/org.onap.dmaap-bc.props @@ -0,0 +1,24 @@ +############################################################ +# Properties Generated by AT&T Certificate Manager +# by root +# on 2021-03-12T11:25:54.617+0000 +# @copyright 2019, AT&T +############################################################ +aaf_env=DEV +aaf_id=dmaap-bc@dmaap-bc.onap.org +aaf_locate_url=https://aaf-locate.onap:8095 +aaf_locator_app_ns=org.osaaf.aaf +aaf_locator_container=oom +aaf_locator_container_ns=onap +aaf_locator_fqdn=dmaap-bc +aaf_locator_public_fqdn=aaf.osaaf.org +aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.introspect:2.1/introspect +aaf_oauth2_token_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.token:2.1/token +aaf_url=https://AAF_LOCATE_URL/%CNS.%AAF_NS.service:2.1 +aaf_url_cm=https://AAF_LOCATE_URL/%CNS.%AAF_NS.cm:2.1 +aaf_url_fs=https://AAF_LOCATE_URL/%CNS.%AAF_NS.fs:2.1 +aaf_url_gui=https://AAF_LOCATE_URL/%CNS.%AAF_NS.gui:2.1 +aaf_url_hello=https://aaf-locate.onap:8095/locate/onap.org.osaaf.aaf.hello:2.1 +aaf_url_oauth=https://AAF_LOCATE_URL/%CNS.%AAF_NS.oauth:2.1 +cadi_prop_files=/opt/app/osaaf/local/org.onap.dmaap-bc.location.props:/opt/app/osaaf/local/org.onap.dmaap-bc.cred.props +cadi_protocols=TLSv1.1,TLSv1.2 diff --git a/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jks b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jks new file mode 100644 index 00000000..91547c60 Binary files /dev/null and b/scripts/dmaap-buscontroller/docker-compose/cadi_aaf/truststore.jks differ diff --git a/scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties b/scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties new file mode 100644 index 00000000..611a172f --- /dev/null +++ b/scripts/dmaap-buscontroller/docker-compose/dmaapbc.properties @@ -0,0 +1,168 @@ + +##################################################### +# +# Hooks for specific environment configurations +# +##################################################### +# Indicator for whether to use AAF for authentication +UseAAF: false + +# Stub out southbound calls for Unit Test cases to run. e.g. not timeout +# Comment out in other environments to get default (No) +#UnitTest: Yes + + +##################################################### +# +# Settings for Southbound API: Datarouter +# +##################################################### + +# URI to retrieve dynamic DR configuration +ProvisioningURI: /internal/prov + +# indicator for handling feed delete: +# DeleteOnDR - means use the DR API to DELETE a feed. (default for backwards compatibility) +# SimulateDelete - means preserve the feed on DR (after cleaning it up), and mark as DELETED in DBCL. Better for cloudify environments. +Feed.deleteHandling: SimulateDelete + +########################################################### +# The following properties default to match ONAP DR instance. +# However, there are some non-ONAP DR instances that require other values. +# Sets the X-DR-ON-BEHALF-OF HTTP Header value +#DR.onBehalfHeader: +# Value for the Content-Type Header in DR Feed API +#DR.feedContentType: +# Value for the Content-Type Header in DR Subscription API +#DR.subContentType: +# +# END OF properties helpful for non-ONAP DR instance. +############################################################ + +##################################################### +# +# Settings for Soutbound API: Postgresql +# +##################################################### +# flag indicates if we are using postgresql +UsePGSQL: false + + +##################################################### +# +# Settings for Soutbound API: Message Router +# +##################################################### +# indicator for multi-site (locations) deployment. Give clue to buscontroller whether +# there is a need for message replication between edge and central. +# ONAP Casablanca is a single site deployment +MR.multisite: false + +# FQDN of primary message router. +# In ONAP Casablanca, there is only 1 message router service, so use that. +# In a multi-site, MR cluster deployment, use the CNAME DNS entry which resolves to the primary central MR +MR.CentralCname: message-router + +# Indicator for whether we want hostname verification on SSL connection to MR +MR.hostnameVerify: false + + +# MR Client Delete Level thoroughness: +# 0 = don't delete +# 1 = delete from persistent store +# 2 = delete from persistent store (DB) and authorization store (AAF) +MR.ClientDeleteLevel: 1 + +# namespace of MR Topic Factory +MR.TopicFactoryNS: org.onap.dmaap.mr.topicFactory + +# AAF Role assigned to Topic Manager Identity +MR.TopicMgrRole: org.onap.dmaap-bc-topic-mgr.client + +# MR topic ProjectID (used in certain topic name generation formats) +MR.projectID: mr + +# Use Basic Authentication when provisioning topics +MR.authentication: basicAuth + +# MR topic name style (default is FQTN_LEGACY_FORMAT) +#MR.topicStyle: FQTN_LEGACY_FORMAT +# +# end of MR Related Properties +################################################################################ + + +##################################################### +# +# Settings for Southbound API: AAF proxy +# +##################################################### +# URL of the AAF server +aaf.URL: {{ .Values.aafURL }} + +# TopicMgr Identity +aaf.TopicMgrUser: {{ .Values.topicMgrUser }} + +# Password for TopicMgr identity +aaf.TopicMgrPassword: {{ .Values.topicMgrPwd }} + +# Buscontroller Admin Identity +aaf.AdminUser: {{ .Values.adminUser }} + +# Admin Password +aaf.AdminPassword: {{ .Values.adminPwd }} + +# Identity that is owner of any created namespaces for topics +aaf.NsOwnerIdentity: {{ .Values.adminUser }} + + +# +# endof AAF Properties +#################################################### + + +##################################################### +# +# Settings for authorization of DBCAPI +# +##################################################### +# Namespace for URI values for the API used to create AAF permissions +# e.g. if ApiNamespace is X.Y.dmaapbc.api then for URI /mr_clients we create AAF perm X.Y.dmaapbc.api.mr_clients +ApiNamespace: org.onap.dmaap-bc.api + +# If API authorization is required, then implement a class to enforce it. +# This overrides the Class used for API permission check. +ApiPermission.Class: org.onap.dmaap.dbcapi.authentication.AllowAll + + +##################################################### +# +# Certificate Management +# +##################################################### + +# Indicates how we are expecting certificates to be provided: +# cadi - a set of artifacts will be downloaded from AAF at deployment time, and details will be in a cadi properties file +# legacy (default) - artifacts will be installed manually or some other way and details will be in this file +CertificateManagement: cadi + +# When CertificateManagement is cadi, then this is where all the cadi properties will be. +# Note that the cadi properties include where the cert is, and the encrypted passwords to read. +cadi.properties: /opt/app/osaaf/local/org.onap.dmaap-bc.props + + +##################################################### +# +# HTTP Server Configuration +# +##################################################### + +# Allow http access to dbcapi +HttpAllowed: true + +# listen to http port within this container (server) +IntHttpPort: 8080 + +# listen to https port within this container (server) +# set to 0 if no certificates are available. +IntHttpsPort: 8443 diff --git a/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml b/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml new file mode 100644 index 00000000..7357f900 --- /dev/null +++ b/scripts/dmaap-buscontroller/docker-compose/docker-compose-bc.yml @@ -0,0 +1,25 @@ +version: '2.1' +services: + dmaap-bc: + container_name: dmaap-bc + hostname: dmaap-bc + image: nexus3.onap.org:10001/onap/dmaap/dmaap-bc + ports: + - "30241:8080" + - "30242:8443" + volumes: + - ./buscontroller.env:/opt/app/config/conf/buscontroller.env + - ./dmaapbc.properties:/opt/app/config/conf/dmaapbc.properties + - ./cadi_aaf:/opt/app/osaaf/local + - ./logback.xml:/opt/app/dmaapbc/etc/logback.xml + networks: + dockercompose_net: + aliases: + - dmaap-bc + extra_hosts: + - dmaap-dr-prov:$dmaap_prov_ip + - message-router:$dmaap_prov_ip + +networks: + dockercompose_net: + external: true diff --git a/scripts/dmaap-buscontroller/docker-compose/logback.xml b/scripts/dmaap-buscontroller/docker-compose/logback.xml new file mode 100644 index 00000000..9e8492b1 --- /dev/null +++ b/scripts/dmaap-buscontroller/docker-compose/logback.xml @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${defaultPattern} + + + + + + + + + + + + ${logDirectory}/${generalLogName}.log + + ${logDirectory}/${generalLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${defaultPattern} + + + + + 256 + + + + + + ${logDirectory}/${securityLogName}.log + + ${logDirectory}/${securityLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${defaultPattern} + + + + + 256 + 0 + + + + + + ${logDirectory}/${performanceLogName}.log + + ${logDirectory}/${performanceLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${defaultPattern} + + + + 256 + + + + + + ${logDirectory}/${serverLogName}.log + + ${logDirectory}/${serverLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${defaultPattern} + + + + 256 + + + + + + + ${logDirectory}/${policyLogName}.log + + ${logDirectory}/${policyLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${defaultPattern} + + + + 256 + + + + + + + + ${logDirectory}/${auditLogName}.log + + ${logDirectory}/${auditLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${auditLoggerPattern} + + + + 256 + + + + + ${logDirectory}/${metricsLogName}.log + + ${logDirectory}/${metricsLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${metricsLoggerPattern} + + + + + + 256 + + + + + ${logDirectory}/${errorLogName}.log + + ${logDirectory}/${errorLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${errorLoggerPattern} + + + + + 256 + + + + + ${debugLogDirectory}/${debugLogName}.log + + ${debugLogDirectory}/${debugLogName}.%i.log.zip + + 1 + 9 + + + 5MB + + + ${debugLoggerPattern} + + + + + 256 + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/scripts/dmaap-buscontroller/dr-launch.sh b/scripts/dmaap-buscontroller/dr-launch.sh deleted file mode 100644 index bba1b73d..00000000 --- a/scripts/dmaap-buscontroller/dr-launch.sh +++ /dev/null @@ -1,58 +0,0 @@ - -#!/bin/bash - -#!/bin/bash - -# script to launch DMaaP DR docker containers -# sets global var IP with assigned IP address of DR Prov - -function dmaap_dr_launch() { - IP="" - - - # This next section was copied from scripts/dmaap-datarouter/dr-suite/setup.sh - # and slightly modified... - - # Clone DMaaP Data Router repo - mkdir -p $WORKSPACE/archives/dmaapdr - cd $WORKSPACE/archives/dmaapdr - - git clone --depth 1 https://gerrit.onap.org/r/dmaap/datarouter -b master - cd datarouter - git pull - cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources - - # start DMaaP DR containers with docker compose and configuration from docker-compose.yml - docker login -u docker -p docker nexus3.onap.org:10001 - docker-compose up -d - - # Wait for initialization of Docker container for datarouter-node, datarouter-prov and mariadb - for i in {1..50}; do - if [ $(docker inspect --format '{{ .State.Running }}' datarouter-node) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' datarouter-prov) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' mariadb) ] - then - echo "DR Service Running" - break - else - echo sleep $i - sleep $i - fi - done - - DR_PROV_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-prov) - DR_NODE_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' datarouter-node) - DR_GATEWAY_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' datarouter-prov) - - echo DR_PROV_IP=${DR_PROV_IP} - echo DR_NODE_IP=${DR_NODE_IP} - echo DR_GATEWAY_IP=${DR_GATEWAY_IP} - - docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/NODES?val=dmaap-dr-node\|$DR_GATEWAY_IP" - docker exec -i datarouter-prov sh -c "curl -k -X PUT https://$DR_PROV_IP:8443/internal/api/PROV_AUTH_ADDRESSES?val=dmaap-dr-prov\|$DR_GATEWAY_IP" - - #Pass any variables required by Robot test suites in ROBOT_VARIABLES - ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP}" - - IP=${DR_GATEWAY_IP} -} diff --git a/scripts/dmaap-buscontroller/init-mock-aaf.sh b/scripts/dmaap-buscontroller/init-mock-aaf.sh deleted file mode 100755 index f25404ce..00000000 --- a/scripts/dmaap-buscontroller/init-mock-aaf.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash - -# $1 is the IP address of the AAF mock server - -#curl -v -X PUT -d @- http://$1:1080/expectation << EOF -#{ -# "httpRequest": { -# "method": "GET", -# "path": "/hello" -# }, -# "httpResponse": { -# "body": "Hello world!", -# "statusCode": 200 -# }, -# "times" : { -# "unlimited" : true -# } -#} -#EOF -# "httpRequest": { -# "method": "POST", -# "path": "/proxy/authz/.*" -# }, - -curl -v -X PUT -d @- http://$1:1080/expectation << EOF -{ - "httpRequest": { - "method": ".*", - "path": "/.*" - }, - "httpResponse": { - "body": "Hello world!", - "statusCode": 200 - }, - "times" : { - "unlimited" : true - } -} -EOF - -#curl -v -X PUT -d @- http://$1:1080/expectation << EOF -#{ -# "httpRequest": { -# "method": "POST", -# "path": "/proxy/authz/role/perm" -# }, -# "httpResponse": { -# "body": "Hello world!", -# "statusCode": 200 -# } -#} -#EOF - diff --git a/scripts/dmaap-buscontroller/init-mock-drps.sh b/scripts/dmaap-buscontroller/init-mock-drps.sh deleted file mode 100755 index e0f1d0f1..00000000 --- a/scripts/dmaap-buscontroller/init-mock-drps.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# $1 is the IP address of the DRPS (Data Router Provisioning Server) mock server - -curl -v -X PUT -d @- http://$1:1080/expectation << EOF -{ - "httpRequest": { - "method": "GET", - "path": "/hello" - }, - "httpResponse": { - "body": "Hello world!", - "statusCode": 200 - } -} -EOF - diff --git a/scripts/dmaap-buscontroller/init-mock-mrc.sh b/scripts/dmaap-buscontroller/init-mock-mrc.sh deleted file mode 100755 index 75c1a419..00000000 --- a/scripts/dmaap-buscontroller/init-mock-mrc.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# $1 is the IP address of the MRC (MR Central) mock server - -curl -v -X PUT -d @- http://$1:1080/expectation << EOF -{ - "httpRequest": { - "method": "GET", - "path": "/hello" - }, - "httpResponse": { - "body": "Hello world!", - "statusCode": 200 - } -} -EOF - diff --git a/scripts/dmaap-buscontroller/onapCSIT.env b/scripts/dmaap-buscontroller/onapCSIT.env deleted file mode 100644 index db865818..00000000 --- a/scripts/dmaap-buscontroller/onapCSIT.env +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# environment settings for Dmaap Bus Controller Integration Test. -# assumes args are: -# $1 - FQDN of AAF server -# $2 - FQDN of MR server -# $3 - FQDN of DRPS Server -# Only need to set values where defaults aren't appropriate -# -cat </zookeeper/' /var/tmp/MsgRtrApi.properties - sed -i -e 's/:/kafka:9092/' /var/tmp/MsgRtrApi.properties - - docker-compose build - docker login -u docker -p docker nexus3.onap.org:10001 - docker-compose up -d - docker ps - - # Wait for initialization of Docker containers - for i in {1..50}; do - if [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_zookeeper_1) ] && \ - [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] - then - echo "DMaaP Service Running" - break - else - echo sleep $i - sleep $i - fi - done - DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_dmaap_1) - IP=${DMAAP_MR_IP} - KAFKA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_kafka_1) - ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_zookeeper_1) - - echo "After restart of ZK and Kafka..." - echo DMAAP_MR_IP=${DMAAP_MR_IP} - echo IP=${IP} - echo KAFKA_IP=${KAFKA_IP} - echo ZOOKEEPER_IP=${ZOOKEEPER_IP} + # + # the default prefix for docker containers is the directory name containing the docker-compose.yml file. + # It can be over-written by an env variable COMPOSE_PROJECT_NAME. This env var seems to be set in the Jenkins CSIT environment + COMPOSE_PREFIX=${COMPOSE_PROJECT_NAME:-dockercompose} + export COMPOSE_PROJECT_NAME=$COMPOSE_PREFIX + echo "COMPOSE_PROJECT_NAME=$COMPOSE_PROJECT_NAME" + echo "COMPOSE_PREFIX=$COMPOSE_PREFIX" + + # Clone DMaaP Message Router repo + mkdir -p $WORKSPACE/archives/dmaapmr + cd $WORKSPACE/archives/dmaapmr + #unset http_proxy https_proxy + git clone --depth 1 http://gerrit.onap.org/r/dmaap/messagerouter/messageservice -b master + cd messageservice + git pull + cd $WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose + cp $WORKSPACE/archives/dmaapmr/messageservice/bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/ + + + # start DMaaP MR containers with docker compose and configuration from docker-compose.yml + docker login -u docker -p docker nexus3.onap.org:10001 + docker-compose up -d + docker ps + + # Wait for initialization of Docker contaienr for DMaaP MR, Kafka and Zookeeper + for i in {1..50}; do + if [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_zookeeper_1) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] + then + echo "DMaaP Service Running" + break + else + echo sleep $i + sleep $i + fi + done + + + DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_dmaap_1) + IP=${DMAAP_MR_IP} + KAFKA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_kafka_1) + ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_zookeeper_1) + + echo DMAAP_MR_IP=${DMAAP_MR_IP} + echo IP=${IP} + echo KAFKA_IP=${KAFKA_IP} + echo ZOOKEEPER_IP=${ZOOKEEPER_IP} + + # Initial docker-compose up and down is for populating kafka and zookeeper IPs in /var/tmp/MsgRtrApi.properites + docker-compose down + + # Update kafkfa and zookeeper properties in MsgRtrApi.propeties which will be copied to DMaaP Container + sed -i -e 's//zookeeper/' /var/tmp/MsgRtrApi.properties + sed -i -e 's/:/kafka:9092/' /var/tmp/MsgRtrApi.properties + + docker-compose build + docker login -u docker -p docker nexus3.onap.org:10001 + docker-compose up -d + docker ps + + # Wait for initialization of Docker containers + for i in {1..50}; do + if [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_zookeeper_1) ] && \ + [ $(docker inspect --format '{{ .State.Running }}' ${COMPOSE_PREFIX}_dmaap_1) ] + then + echo "DMaaP Service Running" + break + else + echo sleep $i + sleep $i + fi + done + DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_dmaap_1) + IP=${DMAAP_MR_IP} + KAFKA_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_kafka_1) + ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ${COMPOSE_PREFIX}_zookeeper_1) + + echo "After restart of ZK and Kafka..." + echo DMAAP_MR_IP=${DMAAP_MR_IP} + echo IP=${IP} + echo KAFKA_IP=${KAFKA_IP} + echo ZOOKEEPER_IP=${ZOOKEEPER_IP} source ${SCRIPTS}/common_functions.sh bypass_ip_adress ${DMAAP_MR_IP} bypass_ip_adress ${KAFKA_IP} bypass_ip_adress ${ZOOKEEPER_IP} - # Wait for initialization of docker services - for i in {1..50}; do - curl -sS -m 1 ${DMAAP_MR_IP}:3904/events/TestTopic && break - echo sleep $i - sleep $i - done + # Wait for initialization of docker services + for i in {1..50}; do + curl -sS -m 1 ${DMAAP_MR_IP}:3904/events/TestTopic && break + echo sleep $i + sleep $i + done } diff --git a/scripts/integration/nfsimulator/netconf-server/docker-compose.yml b/scripts/integration/nfsimulator/netconf-server/docker-compose.yml index b8d4e5a6..c1c7333a 100644 --- a/scripts/integration/nfsimulator/netconf-server/docker-compose.yml +++ b/scripts/integration/nfsimulator/netconf-server/docker-compose.yml @@ -40,4 +40,4 @@ services: networks: netconfnetwork: - driver: bridge \ No newline at end of file + driver: bridge diff --git a/tests/dmaap-buscontroller/single-mr-suite/__init__.robot b/tests/dmaap-buscontroller/single-mr-suite/__init__.robot deleted file mode 100644 index 41c7a003..00000000 --- a/tests/dmaap-buscontroller/single-mr-suite/__init__.robot +++ /dev/null @@ -1,3 +0,0 @@ -*** Settings *** -Documentation dmaap-buscontroller - Suite 1 - diff --git a/tests/dmaap-buscontroller/ssl_suite/__init__.robot b/tests/dmaap-buscontroller/ssl_suite/__init__.robot deleted file mode 100644 index 41c7a003..00000000 --- a/tests/dmaap-buscontroller/ssl_suite/__init__.robot +++ /dev/null @@ -1,3 +0,0 @@ -*** Settings *** -Documentation dmaap-buscontroller - Suite 1 - diff --git a/tests/dmaap-buscontroller/ssl_suite/test1.robot b/tests/dmaap-buscontroller/ssl_suite/test1.robot deleted file mode 100644 index b5723377..00000000 --- a/tests/dmaap-buscontroller/ssl_suite/test1.robot +++ /dev/null @@ -1,77 +0,0 @@ -*** Settings *** -Library OperatingSystem -Library RequestsLibrary -Library HttpLibrary.HTTP -Library Collections -Library String - -*** Variables *** -${MESSAGE} Hello, world! -${DBC_URI} /webapi - -*** Test Cases *** -String Equality Test - Should Be Equal ${MESSAGE} Hello, world! - -Dir Test - [Documentation] Check if /tmp exists - Log ${MESSAGE} - CheckDir /tmp - -Url Test - [Documentation] Check if www.onap.org can be reached - Create Session openo http://www.onap.org disable_warnings=True - CheckUrl openo / 200 - -HTTPS Heartbeat Test - [Documentation] Check ${DBC_URI}/info SSL endpoint - Create Session heartbeat https://${DMAAPBC_IP}:8443 disable_warnings=True - CheckUrl heartbeat ${DBC_URI}/info 204 - -HTTPS Dmaap Init Test - [Documentation] Check ${DBC_URI}/dmaap SSL endpoint - Create Session heartbeat https://${DMAAPBC_IP}:8443 disable_warnings=True - CheckStatus heartbeat ${DBC_URI}/dmaap "VALID" - -HTTPS Dmaap dcaeLocations Test - [Documentation] Check ${DBC_URI}/dcaeLocations SSL endpoint - Create Session heartbeat https://${DMAAPBC_IP}:8443 disable_warnings=True - CheckStatus0 heartbeat ${DBC_URI}/dcaeLocations "VALID" - -HTTPS Dmaap mr_clusters Test - [Documentation] Check ${DBC_URI}/mr_clusters SSL endpoint - Create Session heartbeat https://${DMAAPBC_IP}:8443 disable_warnings=True - CheckStatus0 heartbeat ${DBC_URI}/mr_clusters "VALID" - - -*** Keywords *** -CheckDir - [Arguments] ${path} - Directory Should Exist ${path} - -CheckUrl - [Arguments] ${session} ${path} ${expect} - ${resp}= RequestsLibrary.Get On Session ${session} ${path} - Should Be Equal As Integers ${resp.status_code} ${expect} - -CheckStatus - [Arguments] ${session} ${path} ${expect} - ${resp}= RequestsLibrary.Get On Session ${session} ${path} - log ${resp.content} - ${val}= Get Json value ${resp.content} /status - log ${val} - should be equal as strings ${val} ${expect} - -CheckStatus0 - [Arguments] ${session} ${path} ${expect} - ${resp}= RequestsLibrary.Get On Session ${session} ${path} - log ${resp.json()} - log ${resp.content} -# silliness to strip off the brackets returned for a List to get a Dict - ${t1}= Remove String ${resp.content} [ - ${dict}= Remove String ${t1} ] - log ${dict} - ${val}= Get Json value ${dict} /status - log ${val} - should be equal as strings ${val} ${expect} - diff --git a/tests/dmaap-buscontroller/suite1/__init__.robot b/tests/dmaap-buscontroller/suite1/__init__.robot deleted file mode 100644 index 41c7a003..00000000 --- a/tests/dmaap-buscontroller/suite1/__init__.robot +++ /dev/null @@ -1,3 +0,0 @@ -*** Settings *** -Documentation dmaap-buscontroller - Suite 1 - diff --git a/tests/dmaap-buscontroller/suite1/test1.robot b/tests/dmaap-buscontroller/suite1/test1.robot deleted file mode 100644 index be4e8cc6..00000000 --- a/tests/dmaap-buscontroller/suite1/test1.robot +++ /dev/null @@ -1,42 +0,0 @@ -*** Settings *** -Library OperatingSystem -Library RequestsLibrary - -*** Variables *** -${MESSAGE} Hello, world! -${DBC_URI} /webapi - -*** Test Cases *** -String Equality Test - Should Be Equal ${MESSAGE} Hello, world! - -Dir Test - [Documentation] Check if /tmp exists - Log ${MESSAGE} - CheckDir /tmp - -Url Test - [Documentation] Check if www.onap.org can be reached - Create Session openo http://www.onap.org - CheckUrl openo / 200 - -Mock Hello Server Test - [Documentation] Check /hello endpoint - Create Session hello http://${AAF_IP}:1080 - CheckUrl hello /hello 200 - -Heartbeat Test - [Documentation] Check ${DBC_URI}/info endpoint - Create Session heartbeat http://${DMAAPBC_IP}:8080 - CheckUrl heartbeat ${DBC_URI}/info 204 - -*** Keywords *** -CheckDir - [Arguments] ${path} - Directory Should Exist ${path} - -CheckUrl - [Arguments] ${session} ${path} ${expect} - ${resp}= Get Request ${session} ${path} - Should Be Equal As Integers ${resp.status_code} ${expect} - diff --git a/tests/dmaap-buscontroller/with_dr/__init__.robot b/tests/dmaap-buscontroller/with_dr/__init__.robot new file mode 100644 index 00000000..2d404124 --- /dev/null +++ b/tests/dmaap-buscontroller/with_dr/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation dmaap-buscontroller - dr diff --git a/tests/dmaap-buscontroller/with_dr/orig b/tests/dmaap-buscontroller/with_dr/orig deleted file mode 100755 index fcac2026..00000000 --- a/tests/dmaap-buscontroller/with_dr/orig +++ /dev/null @@ -1,116 +0,0 @@ -*** Settings *** -Library OperatingSystem -Library RequestsLibrary -Library requests -Library Collections -Library String - -*** Variables *** -${TARGET_URL} https://${DR_PROV_IP}:8443 -${TARGET_URL_FEED} https://${DR_PROV_IP}:8443/feed/1 -${TARGET_URL_SUBSCRIBE} https://${DR_PROV_IP}:8443/subscribe/1 -${TARGET_URL_SUBSCRIPTION} https://${DR_PROV_IP}:8443/subs/1 -${TARGET_URL_PUBLISH} https://${DR_NODE_IP}:8443/publish/1/csit_test -${CREATE_FEED_DATA} {"name": "CSIT_Test", "version": "m1.0", "description": "CSIT_Test", "business_description": "CSIT_Test", "suspend": false, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [], "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}} -${UPDATE_FEED_DATA} {"name": "CSIT_Test", "version": "m1.0", "description": "UPDATED-CSIT_Test", "business_description": "CSIT_Test", "suspend": true, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [], "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}} -${SUBSCRIBE_DATA} {"delivery":{ "url":"https://${DR_PROV_IP}:8080/", "user":"rs873m", "password":"rs873m", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"sg481n"} -${UPDATE_SUBSCRIPTION_DATA} {"delivery":{ "url":"https://${DR_PROV_IP}:8080/", "user":"sg481n", "password":"sg481n", "use100":true}, "metadataOnly":false, "suspend":true, "groupid":29, "subscriber":"sg481n"} -${FEED_CONTENT_TYPE} application/vnd.att-dr.feed -${SUBSCRIBE_CONTENT_TYPE} application/vnd.att-dr.subscription -${PUBLISH_FEED_CONTENT_TYPE} application/octet-stream - -*** Test Cases *** -Run Feed Creation - [Documentation] Feed Creation - [Timeout] 1 minute - ${resp}= PostCall ${TARGET_URL} ${CREATE_FEED_DATA} ${FEED_CONTENT_TYPE} rs873m - log ${TARGET_URL} - log ${resp.text} - Should Be Equal As Strings ${resp.status_code} 201 - log 'JSON Response Code:'${resp} - -Run Subscribe to Feed - [Documentation] Subscribe to Feed - [Timeout] 1 minute - ${resp}= PostCall ${TARGET_URL_SUBSCRIBE} ${SUBSCRIBE_DATA} ${SUBSCRIBE_CONTENT_TYPE} sg481n - log ${TARGET_URL_SUBSCRIBE} - log ${resp.text} - Should Be Equal As Strings ${resp.status_code} 201 - log 'JSON Response Code:'${resp} - -Run Publish Feed - [Documentation] Publish to Feed - [Timeout] 1 minute - Sleep 10s Behaviour was noticed where feed was not created in time for publish to be sent - ${resp}= PutCall ${TARGET_URL_PUBLISH} ${CREATE_FEED_DATA} ${PUBLISH_FEED_CONTENT_TYPE} rs873m - log ${TARGET_URL_PUBLISH} - log ${resp.text} - Should Be Equal As Strings ${resp.status_code} 204 - log 'JSON Response Code:'${resp} - -Run Update Subscription - [Documentation] Update Subscription to suspend and change delivery credentials - [Timeout] 1 minute - ${resp}= PutCall ${TARGET_URL_SUBSCRIPTION} ${UPDATE_SUBSCRIPTION_DATA} ${SUBSCRIBE_CONTENT_TYPE} sg481n - log ${TARGET_URL_SUBSCRIPTION} - log ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - log 'JSON Response Code:'${resp} - ${resp}= GetCall ${TARGET_URL_SUBSCRIPTION} ${SUBSCRIBE_CONTENT_TYPE} sg481n - log ${resp.text} - Should Contain ${resp.text} "password":"sg481n","user":"sg481n" - log 'JSON Response Code:'${resp} - -Run Update Feed - [Documentation] Update Feed description and suspend - [Timeout] 1 minute - ${resp}= PutCall ${TARGET_URL_FEED} ${UPDATE_FEED_DATA} ${FEED_CONTENT_TYPE} rs873m - log ${TARGET_URL_FEED} - log ${resp.text} - Should Be Equal As Strings ${resp.status_code} 200 - log 'JSON Response Code:'${resp} - ${resp}= GetCall ${TARGET_URL_FEED} ${FEED_CONTENT_TYPE} rs873m - log ${resp.text} - Should Contain ${resp.text} "UPDATED-CSIT_Test" - log 'JSON Response Code:'${resp} - -Run Delete Subscription - [Documentation] Delete Subscription - [Timeout] 1 minute - ${resp}= DeleteCall ${TARGET_URL_SUBSCRIPTION} sg481n - log ${resp.text} - Should Be Equal As Strings ${resp.status_code} 204 - log 'JSON Response Code:'${resp} - -Run Delete Feed - [Documentation] Delete Feed - [Timeout] 1 minute - ${resp}= DeleteCall ${TARGET_URL_FEED} rs873m - log ${resp.text} - Should Be Equal As Strings ${resp.status_code} 204 - log 'JSON Response Code:'${resp} - -*** Keywords *** -PostCall - [Arguments] ${url} ${data} ${content_type} ${user} - ${headers}= Create Dictionary X-ATT-DR-ON-BEHALF-OF=${user} Content-Type=${content_type} - ${resp}= Evaluate requests.post('${url}',data='${data}', headers=${headers},verify=False) requests - [Return] ${resp} - -PutCall - [Arguments] ${url} ${data} ${content_type} ${user} - ${headers}= Create Dictionary X-ATT-DR-ON-BEHALF-OF=${user} Content-Type=${content_type} Authorization=Basic cnM4NzNtOnJzODczbQ== - ${resp}= Evaluate requests.put('${url}',data='${data}', headers=${headers},verify=False) requests - [Return] ${resp} - -GetCall - [Arguments] ${url} ${content_type} ${user} - ${headers}= Create Dictionary X-ATT-DR-ON-BEHALF-OF=${user} Content-Type=${content_type} - ${resp}= Evaluate requests.get('${url}', headers=${headers},verify=False) requests - [Return] ${resp} - -DeleteCall - [Arguments] ${url} ${user} - ${headers}= Create Dictionary X-ATT-DR-ON-BEHALF-OF=${user} - ${resp}= Evaluate requests.delete('${url}', headers=${headers},verify=False) requests - [Return] ${resp} diff --git a/tests/dmaap-buscontroller/with_dr/test1.robot b/tests/dmaap-buscontroller/with_dr/test1.robot index a3aef42b..671e89b7 100644 --- a/tests/dmaap-buscontroller/with_dr/test1.robot +++ b/tests/dmaap-buscontroller/with_dr/test1.robot @@ -9,127 +9,60 @@ Library String *** Variables *** -${MESSAGE} Hello, world! -${DBC_URI} webapi -${DBC_URL} http://${DMAAPBC_IP}:8080/${DBC_URI} +${DBC_URI} webapi +${DBC_URL} http://${DMAAPBC_IP}:8080/${DBC_URI} ${LOC} csit-sanfrancisco -${PUB_CORE} "dcaeLocationName": "${LOC}", "clientRole": "org.onap.dmaap.client.pub", "action": [ "pub", "view" ] -${SUB_CORE} "dcaeLocationName": "${LOC}", "clientRole": "org.onap.dmaap.client.sub", "action": [ "sub", "view" ] -${PUB} { ${PUB_CORE} } -${SUB} { ${SUB_CORE} } ${FEED1_DATA} { "feedName":"feed1", "feedVersion": "csit", "feedDescription":"generated for CSIT", "owner":"dgl", "asprClassification": "unclassified" } ${FEED2_DATA} { "feedName":"feed2", "feedVersion": "csit", "feedDescription":"generated for CSIT", "owner":"dgl", "asprClassification": "unclassified" } ${PUB2_DATA} { "dcaeLocationName": "${LOC}", "username": "pub2", "userpwd": "topSecret123", "feedId": "2" } ${SUB2_DATA} { "dcaeLocationName": "${LOC}", "username": "sub2", "userpwd": "someSecret123", "deliveryURL": "https://${DMAAPBC_IP}:8443/webapi/noURI", "feedId": "2" } -${TOPIC2_DATA} { "topicName":"singleMRtopic2", "topicDescription":"generated for CSIT", "owner":"dgl", "clients": [ ${PUB}, ${SUB}] } -${TOPIC3_DATA} { "topicName":"singleMRtopic3", "topicDescription":"generated for CSIT", "owner":"dgl"} -#${PUB3_DATA} { "fqtn": "${TOPIC_NS}.singleMRtopic3", ${PUB_CORE} } -#${SUB3_DATA} { "fqtn": "${TOPIC_NS}.singleMRtopic3", ${SUB_CORE} } - *** Test Cases *** -Url Test - [Documentation] Check if www.onap.org can be reached - Create Session sanity http://onap.readthedocs.io - ${resp}= Get Request sanity / - Should Be Equal As Integers ${resp.status_code} 200 - (DMAAP-441c1) [Documentation] Create Feed w no clients POST ${DBC_URI}/feeds endpoint - ${resp}= PostCall ${DBC_URL}/feeds ${FEED1_DATA} - Should Be Equal As Integers ${resp.status_code} 200 + ${resp}= PostCall ${DBC_URL}/feeds ${FEED1_DATA} + Should Be Equal As Integers ${resp.status_code} 200 (DMAAP-441c2) [Documentation] Create Feed w clients POST ${DBC_URI}/feeds endpoint - ${resp}= PostCall ${DBC_URL}/feeds ${FEED2_DATA} - Should Be Equal As Integers ${resp.status_code} 200 + ${resp}= PostCall ${DBC_URL}/feeds ${FEED2_DATA} + Should Be Equal As Integers ${resp.status_code} 200 (DMAAP-441c3) [Documentation] Add Publisher to existing feed - ${resp}= PostCall ${DBC_URL}/dr_pubs ${PUB2_DATA} - Should Be Equal As Integers ${resp.status_code} 201 - ${tmp}= Get Json Value ${resp.text} /pubId - ${tmp}= Remove String ${tmp} \" - Set Suite Variable ${pubId} ${tmp} + ${resp}= PostCall ${DBC_URL}/dr_pubs ${PUB2_DATA} + Should Be Equal As Integers ${resp.status_code} 201 + ${JSON}= Evaluate json.loads(r"""${resp.content}""", strict=False) + ${result}= Set Variable ${JSON['pubId']} + Set Suite Variable ${pubId} ${result} (DMAAP-441c4) [Documentation] Add Subscriber to existing feed - ${resp}= PostCall ${DBC_URL}/dr_subs ${SUB2_DATA} - Should Be Equal As Integers ${resp.status_code} 201 - ${tmp}= Get Json Value ${resp.text} /subId - ${tmp}= Remove String ${tmp} \" - Set Suite Variable ${subId} ${tmp} + ${resp}= PostCall ${DBC_URL}/dr_subs ${SUB2_DATA} + Should Be Equal As Integers ${resp.status_code} 201 + ${JSON}= Evaluate json.loads(r"""${resp.content}""", strict=False) + ${result}= Set Variable ${JSON['subId']} + Set Suite Variable ${subId} ${result} (DMAAP-443) [Documentation] List existing feeds Create Session get ${DBC_URL} - ${resp}= Get Request get /feeds - Should Be Equal As Integers ${resp.status_code} 200 + ${resp}= GET On Session get /feeds + Should Be Equal As Integers ${resp.status_code} 200 (DMAAP-444) [Documentation] Delete existing subscriber - ${resp}= DelCall ${DBC_URL}/dr_subs/${subId} - Should Be Equal As Integers ${resp.status_code} 204 + ${resp}= DelCall ${DBC_URL}/dr_subs/${subId} + Should Be Equal As Integers ${resp.status_code} 204 (DMAAP-445) [Documentation] Delete existing publisher - ${resp}= DelCall ${DBC_URL}/dr_pubs/${pubId} - Should Be Equal As Integers ${resp.status_code} 204 - -#(DMAAP-294) -# [Documentation] Create Topic w pub and sub clients POST ${DBC_URI}/topics endpoint -# ${resp}= PostCall ${DBC_URL}/topics ${TOPIC2_DATA} -# Should Be Equal As Integers ${resp.status_code} 201 -# -#(DMAAP-295) -# [Documentation] Create Topic w no clients and then add a client POST ${DBC_URI}/mr_clients endpoint -# ${resp}= PostCall ${DBC_URL}/topics ${TOPIC3_DATA} -# Should Be Equal As Integers ${resp.status_code} 201 -# ${resp}= PostCall ${DBC_URL}/mr_clients ${PUB3_DATA} -# Should Be Equal As Integers ${resp.status_code} 200 -# ${resp}= PostCall ${DBC_URL}/mr_clients ${SUB3_DATA} -# Should Be Equal As Integers ${resp.status_code} 200 -# -#(DMAAP-297) -# [Documentation] Query for all topics and specific topic -# Create Session get ${DBC_URL} -# ${resp}= Get Request get /topics -# Should Be Equal As Integers ${resp.status_code} 200 -# ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 -# Should Be Equal As Integers ${resp.status_code} 200 -# -#(DMAAP-301) -# [Documentation] Delete a subscriber -# Create Session get ${DBC_URL} -# ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 -# Should Be Equal As Integers ${resp.status_code} 200 -# ${tmp}= Get Json Value ${resp.text} /clients/1/mrClientId -# ${clientId}= Remove String ${tmp} \" -# ${resp}= DelCall ${DBC_URL}/mr_clients/${clientId} -# Should Be Equal As Integers ${resp.status_code} 204 -# -#(DMAAP-302) -# [Documentation] Delete a publisher -# Create Session get ${DBC_URL} -# ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 -# Should Be Equal As Integers ${resp.status_code} 200 -# ${tmp}= Get Json Value ${resp.text} /clients/0/mrClientId -# ${clientId}= Remove String ${tmp} \" -# ${resp}= DelCall ${DBC_URL}/mr_clients/${clientId} -# Should Be Equal As Integers ${resp.status_code} 204 + ${resp}= DelCall ${DBC_URL}/dr_pubs/${pubId} + Should Be Equal As Integers ${resp.status_code} 204 *** Keywords *** -CheckDir - [Arguments] ${path} - Directory Should Exist ${path} - -CheckUrl - [Arguments] ${session} ${path} ${expect} - ${resp}= Get Request ${session} ${path} - Should Be Equal As Integers ${resp.status_code} ${expect} - PostCall [Arguments] ${url} ${data} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json diff --git a/tests/dmaap-buscontroller/with_mr/__init__.robot b/tests/dmaap-buscontroller/with_mr/__init__.robot new file mode 100644 index 00000000..ffcec41b --- /dev/null +++ b/tests/dmaap-buscontroller/with_mr/__init__.robot @@ -0,0 +1,3 @@ +*** Settings *** +Documentation dmaap-buscontroller - mr + diff --git a/tests/dmaap-buscontroller/single-mr-suite/test1.robot b/tests/dmaap-buscontroller/with_mr/test1.robot similarity index 74% rename from tests/dmaap-buscontroller/single-mr-suite/test1.robot rename to tests/dmaap-buscontroller/with_mr/test1.robot index d68b9ed1..37d3e158 100644 --- a/tests/dmaap-buscontroller/single-mr-suite/test1.robot +++ b/tests/dmaap-buscontroller/with_mr/test1.robot @@ -9,9 +9,8 @@ Library String *** Variables *** -${MESSAGE} Hello, world! -${DBC_URI} webapi -${DBC_URL} http://${DMAAPBC_IP}:8080/${DBC_URI} +${DBC_URI} webapi +${DBC_URL} http://${DMAAP_BC_IP}:8080/${DBC_URI} ${TOPIC_NS} org.onap.dmaap.onapCSIT ${LOC} csit-sanfrancisco ${PUB_CORE} "dcaeLocationName": "${LOC}", "clientRole": "org.onap.dmaap.client.pub", "action": [ "pub", "view" ] @@ -25,14 +24,7 @@ ${PUB3_DATA} { "fqtn": "${TOPIC_NS}.singleMRtopic3", ${PUB_CORE} } ${SUB3_DATA} { "fqtn": "${TOPIC_NS}.singleMRtopic3", ${SUB_CORE} } - *** Test Cases *** -Url Test - [Documentation] Check if www.onap.org can be reached - Create Session sanity http://onap.readthedocs.io - ${resp}= Get Request sanity / - Should Be Equal As Integers ${resp.status_code} 200 - (DMAAP-293) [Documentation] Create Topic w no clients POST ${DBC_URI}/topics endpoint ${resp}= PostCall ${DBC_URL}/topics ${TOPIC1_DATA} @@ -55,42 +47,33 @@ Url Test (DMAAP-297) [Documentation] Query for all topics and specific topic Create Session get ${DBC_URL} - ${resp}= Get Request get /topics + ${resp}= GET On Session get /topics Should Be Equal As Integers ${resp.status_code} 200 - ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 + ${resp}= GET On Session get /topics/${TOPIC_NS}.singleMRtopic3 Should Be Equal As Integers ${resp.status_code} 200 (DMAAP-301) [Documentation] Delete a subscriber Create Session get ${DBC_URL} - ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 + ${resp}= GET On Session get /topics/${TOPIC_NS}.singleMRtopic3 Should Be Equal As Integers ${resp.status_code} 200 - ${tmp}= Get Json Value ${resp.text} /clients/1/mrClientId - ${clientId}= Remove String ${tmp} \" + ${JSON}= Evaluate json.loads(r"""${resp.content}""", strict=False) + ${clientId}= Set Variable ${JSON['clients'][1]['mrClientId']} ${resp}= DelCall ${DBC_URL}/mr_clients/${clientId} Should Be Equal As Integers ${resp.status_code} 204 (DMAAP-302) [Documentation] Delete a publisher Create Session get ${DBC_URL} - ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 + ${resp}= GET On Session get /topics/${TOPIC_NS}.singleMRtopic3 Should Be Equal As Integers ${resp.status_code} 200 - ${tmp}= Get Json Value ${resp.text} /clients/0/mrClientId - ${clientId}= Remove String ${tmp} \" + ${JSON}= Evaluate json.loads(r"""${resp.content}""", strict=False) + ${clientId}= Set Variable ${JSON['clients'][0]['mrClientId']} ${resp}= DelCall ${DBC_URL}/mr_clients/${clientId} Should Be Equal As Integers ${resp.status_code} 204 *** Keywords *** -CheckDir - [Arguments] ${path} - Directory Should Exist ${path} - -CheckUrl - [Arguments] ${session} ${path} ${expect} - ${resp}= Get Request ${session} ${path} - Should Be Equal As Integers ${resp.status_code} ${expect} - PostCall [Arguments] ${url} ${data} ${headers}= Create Dictionary Accept=application/json Content-Type=application/json diff --git a/tests/integration/nfsimulator/netconf-server/assets/pnf-simulator-data.xml b/tests/integration/nfsimulator/netconf-server/assets/pnf-simulator-data.xml new file mode 100644 index 00000000..ff4879e5 --- /dev/null +++ b/tests/integration/nfsimulator/netconf-server/assets/pnf-simulator-data.xml @@ -0,0 +1,4 @@ + + 42 + 35 + diff --git a/tests/integration/nfsimulator/netconf-server/netconf-server-rest-test.robot b/tests/integration/nfsimulator/netconf-server/netconf-server-rest-test.robot index 0d3ebdec..fea34b43 100644 --- a/tests/integration/nfsimulator/netconf-server/netconf-server-rest-test.robot +++ b/tests/integration/nfsimulator/netconf-server/netconf-server-rest-test.robot @@ -6,12 +6,21 @@ Resource ./resources/netconf-server-keywords.robot *** Test Cases *** -Netconf Server Rest API Health Check +Netconf Server Healthy Check [Tags] Netconf-Server - [Documentation] Run healthcheck - Run Healthcheck + [Documentation] Server Should be healthy + Verify That Server Is Healthy -Netconf Server Rest API Readiness Check +Netconf Server Readiness Check [Tags] Netconf-Server - [Documentation] Run readiness - Run Readiness \ No newline at end of file + [Documentation] Server Should be ready + Verify That Server Is Ready + +Netconf Module Configuration Update + [Tags] Netconf-Server + [Documentation] Update Should Be Distributed + Update NetConf Module Configuration pnf-simulator ${PNF_SIMULATOR_DATA_XML} 202 + Sleep 20s Wait for message distribution in Kafka + Verify That Change Is Available In NetConf Module Change Configuration History 200 + + diff --git a/tests/integration/nfsimulator/netconf-server/resources/netconf-server-keywords.robot b/tests/integration/nfsimulator/netconf-server/resources/netconf-server-keywords.robot index fd54487a..9dccd048 100644 --- a/tests/integration/nfsimulator/netconf-server/resources/netconf-server-keywords.robot +++ b/tests/integration/nfsimulator/netconf-server/resources/netconf-server-keywords.robot @@ -1,21 +1,39 @@ *** Settings *** -Library RequestsLibrary +Library RequestsLibrary +Resource ../../../../common.robot Resource ./netconf-server-properties.robot *** Keywords *** -Run Healthcheck - [Documentation] Run Healthcheck +Verify That Server Is Healthy + [Documentation] Verify that server is healthy Create Session netconf_server_session ${NETCONF_SERVER_URL} ${resp}= GET On Session netconf_server_session /healthcheck - Should Be Equal As Strings ${resp.status_code} 200 + Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As Strings ${resp.text} UP -Run Readiness - [Documentation] Run Readiness +Verify That Server Is Ready + [Documentation] Verify that server is ready Create Session netconf_server_session ${NETCONF_SERVER_URL} - ${resp}= GET On Session netconf_server_session /readiness - Should Be Equal As Strings ${resp.status_code} 200 + ${resp}= GET On Session netconf_server_session /readiness + Should Be Equal As Strings ${resp.status_code} 200 Should Be Equal As Strings ${resp.text} Ready +Update NetConf Module Configuration + [Documentation] Update module configuration + [Arguments] ${module} ${path_to_data} ${resp_code} + ${data}= Get Data From File ${path_to_data} + Create Session netconf_server_session ${NETCONF_SERVER_URL} + ${resp}= POST On Session netconf_server_session /change_config/${module} data=${data} + Should Be Equal As Strings ${resp.status_code} ${resp_code} + +Verify That Change Is Available In NetConf Module Change Configuration History + [Documentation] Verify that configuration was distributed to Kafka + [Arguments] ${resp_code} + + Create Session netconf_server_session ${NETCONF_SERVER_URL} + ${resp}= GET On Session netconf_server_session /change_history + Should Be Equal As Strings ${resp.status_code} ${resp_code} + ${actual_data}= Convert To String ${resp.json()} + Should Be Equal ${actual_data} [{u'new': {u'path': u'/pnf-simulator:config/itemValue1', u'value': 42}, u'type': u'ChangeCreated'}, {u'new': {u'path': u'/pnf-simulator:config/itemValue2', u'value': 35}, u'type': u'ChangeCreated'}] diff --git a/tests/integration/nfsimulator/netconf-server/resources/netconf-server-properties.robot b/tests/integration/nfsimulator/netconf-server/resources/netconf-server-properties.robot index 3903da7d..c10fe24c 100644 --- a/tests/integration/nfsimulator/netconf-server/resources/netconf-server-properties.robot +++ b/tests/integration/nfsimulator/netconf-server/resources/netconf-server-properties.robot @@ -1,3 +1,4 @@ *** Variables *** ${NETCONF_SERVER_URL} http://%{NETCONF_SERVER_IP}:%{NETCONF_SERVER_REST_PORT} +${PNF_SIMULATOR_DATA_XML} %{WORKSPACE}/tests/integration/nfsimulator/netconf-server/assets/pnf-simulator-data.xml diff --git a/tests/sdc/sdc-helm-validator/sdc-helm-validator.robot b/tests/sdc/sdc-helm-validator/sdc-helm-validator.robot index 04b570f9..b4051051 100644 --- a/tests/sdc/sdc-helm-validator/sdc-helm-validator.robot +++ b/tests/sdc/sdc-helm-validator/sdc-helm-validator.robot @@ -34,7 +34,7 @@ ${RESP_KEY_LINT_WARNING} lintWarning *** Test Cases *** Verify That Sdc Helm Validator Correctly Responds With Supported Versions Array - [Tags] SDC_HELM_VALIDATOR_1 + [Tags] VERSIONS_ENDPOINT [Documentation] Verify that validator correctly responds with supported helm versions array. ... Send GET request to ask for supported versions array. ... Should reply with JSON containing an array of Helm versions that are supported by the validator. @@ -51,7 +51,7 @@ Verify That Sdc Helm Validator Correctly Responds With Supported Versions Array END Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation Request With Default Version - [Tags] SDC_HELM_VALIDATOR_2 + [Tags] VALIDATE_ENDPOINT DEPLOYABLE [Documentation] Verify that validator correctly responds for correct chart validation request with default version. ... Send POST request to validate correct chart. Input: Helm chart with api version v2, no additional data. ... Should reply with JSON containing the following information: used version = 3.x.x, deployable = true, render errors = [] @@ -76,7 +76,7 @@ Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation R Should Be Empty ${errors} Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation Request With Given V3 Version - [Tags] SDC_HELM_VALIDATOR_3 + [Tags] VALIDATE_ENDPOINT DEPLOYABLE [Documentation] Verify that validator correctly responds for correct chart validation request with given v3 version. ... Send POST request to validate correct chart. Input: Helm chart with api version v2, desired version = v3. ... Should reply with JSON containing the following information: used version = 3.x.x, deployable = true, render errors = []. @@ -97,7 +97,7 @@ Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation R Should Be Empty ${errors} Verify That Sdc Helm Validator Responds With Error For Chart Validation Request With Invalid Version - [Tags] SDC_HELM_VALIDATOR_4 + [Tags] VALIDATE_ENDPOINT ERROR [Documentation] Verify that validator responds with error and 400 status code for validation request with invalid version. ... Send POST request with correct chart but not supported Helm version. Input: Correct helm chart, desired version = v10. ... Should reply with JSON containing error message with information regarding not supported Helm version. Response code should be 400. @@ -112,7 +112,7 @@ Verify That Sdc Helm Validator Responds With Error For Chart Validation Request Should Be Equal As Strings ${resp.text} {"message":"Version: 10 is not supported"} Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation Request With Random Supported Version - [Tags] SDC_HELM_VALIDATOR_5 + [Tags] VERSIONS_ENDPOINT VALIDATE_ENDPOINT [Documentation] Verify that validator correctly responds for correct chart validation request with random supported version. ... Send GET request to ask for supported versions array. ... Should reply with JSON containing an array of Helm versions that are supported by the validator. @@ -133,7 +133,7 @@ Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation R Status Should Be 200 ${resp} Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation Request With Lint - [Tags] SDC_HELM_VALIDATOR_6 + [Tags] VALIDATE_ENDPOINT LINT DEPLOYABLE VALID [Documentation] Verify that validator correctly responds for correct chart validation request with lint. ... Send POST request to validate correct chart and lint. Input: Helm chart with api version v2, linted = true. ... Should reply with JSON containing the following information: deployable = true, valid = true, render errors = [], lint errors = [], lint warnings = []. @@ -160,7 +160,7 @@ Verify That Sdc Helm Validator Correctly Responds For Correct Chart Validation R Should Be Empty ${lintWarnings} Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request With Lint Warnings - [Tags] SDC_HELM_VALIDATOR_7 + [Tags] VALIDATE_ENDPOINT LINT DEPLOYABLE VALID [Documentation] Verify that validator correctly responds for chart validation request with lint warnings. ... Send POST request to validate chart and lint. Input: Helm chart that should cause lint warning, linted = true. ... Should reply with JSON containing the following information: deployable = true, valid = true, render errors = [], lint warning = [not empty] @@ -188,7 +188,7 @@ Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request W Should Contain @{lintWarnings} [WARNING] templates/: directory not found Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request With Lint Strict Checking - [Tags] SDC_HELM_VALIDATOR_8 + [Tags] VALIDATE_ENDPOINT STRICT_LINT DEPLOYABLE NON_VALID [Documentation] Verify that validator correctly responds for chart validation request with lint strict checking. ... Send POST request to validate chart and strictly lint. Input: Helm chart that should cause lint warning, linted = true, strict linted = true. ... Should reply with JSON containing the following information: deployable = true, valid = false, render errors = [], lint warning = [not empty]. @@ -216,7 +216,7 @@ Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request W Should Contain @{lintWarnings} [WARNING] templates/: directory not found Verify That Sdc Helm Validator Correctly Responds For Chart Validation Request With Lint And Render Errors - [Tags] SDC_HELM_VALIDATOR_9 + [Tags] VALIDATE_ENDPOINT STRICT_LINT NON_DEPLOYABLE NON_VALID [Documentation] Verify that validator correctly responds for chart validation request with lint and render errors. ... Send POST request to validate chart and strictly lint. Input: Helm chart that should cause lint and render errors, linted = true, strict linted = true. ... Should reply with JSON containing the following information: deployable = false, valid = false, render errors = [not empty], lint errors = [not empty], lint warnings = []. diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/BulkpmE2E.robot b/tests/usecases-5G-bulkpm/5G-bulkpm/BulkpmE2E.robot deleted file mode 100644 index 660c5f64..00000000 --- a/tests/usecases-5G-bulkpm/5G-bulkpm/BulkpmE2E.robot +++ /dev/null @@ -1,125 +0,0 @@ -*** Settings *** -Documentation Testing E2E VES,Dmaap,DFC,DR with File Ready event feed from xNF -Library RequestsLibrary -Library OperatingSystem -Library Collections -Library Process -Resource resources/bulkpm_keywords.robot -Library resources/JsonValidatorLibrary.py -Library resources/xNFLibrary.py - - -*** Variables *** -${VESC_URL} http://%{VESC_IP}:%{VESC_PORT} -${GLOBAL_APPLICATION_ID} robot-ves -${VES_ANY_EVENT_PATH} /eventListener/v7 -${HEADER_STRING} content-type=application/json -${EVENT_DATA_FILE} %{WORKSPACE}/tests/usecases-5G-bulkpm/5G-bulkpm/assets/json_events/FileExistNotification.json - -${TARGETURL_TOPICS} http://${DMAAP_MR_IP}:3904/topics -${TARGETURL_SUBSCR} http://${DMAAP_MR_IP}:3904/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12?timeout=1000 -${CLI_EXEC_CLI} curl -k https://${DR_PROV_IP}:8443/internal/prov -${CLI_EXEC_CLI_FILECONSUMER} docker exec fileconsumer-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep .xml" -${CLI_EXEC_CLI_DFC_LOG} docker exec dcaegen2-datafile-collector /bin/sh -c "cat /var/log/ONAP/application.log" > %{WORKSPACE}/archives/dfc_docker.log -${CLI_EXEC_CLI_DFC_LOG_GREP} grep "Datafile file published" %{WORKSPACE}/archives/dfc_docker.log -${CLI_EXEC_CLI_FILECONSUMER_CP} docker cp fileconsumer-node:/opt/app/subscriber/delivery/A20181002.0000-1000-0015-1000_5G.xml.M %{WORKSPACE} -${CLI_EXEC_RENAME_METADATA} mv %{WORKSPACE}/A20181002.0000-1000-0015-1000_5G.xml.M %{WORKSPACE}/archives/metadata.json -${CLI_EXEC_CLI_PMMAPPER_LOG} docker exec dcaegen2-pm-mapper /bin/sh -c "cat /var/log/ONAP/dcaegen2/services/pm-mapper/pm-mapper_output.log" > %{WORKSPACE}/archives/pmmapper_docker.log -${CLI_EXEC_CLI_PMMAPPER_LOG_GREP} grep "XML validation successful" %{WORKSPACE}/archives/pmmapper_docker.log -${CLI_EXEC_CLI_PMMAPPER_LOG_GREP_VES} grep "Successfully published VES events to messagerouter" %{WORKSPACE}/archives/pmmapper_docker.log -${metadataSchemaPath} %{WORKSPACE}/tests/usecases-5G-bulkpm/5G-bulkpm/assets/metadata.schema.json -${metadataJsonPath} %{WORKSPACE}/archives/metadata.json - -*** Test Cases *** - -Send VES File Ready Event to VES Collector - [Tags] Bulk_PM_E2E_01 - [Documentation] Send VES File Ready Event - ${evtdata}= Get Event Data From File ${EVENT_DATA_FILE} - ${headers}= Create Header From String ${HEADER_STRING} - ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} - Sleep 15s - ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} - Sleep 5s - ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} - Sleep 5s - ${resp}= Publish Event To VES Collector ${VESC_URL} ${VES_ANY_EVENT_PATH} ${headers} ${evtdata} - Sleep 5s - Log Receive HTTP Status code ${resp.status_code} - Should Be Equal As Strings ${resp.status_code} 202 - -Check VES Notification Topic is existing in Message Router - [Tags] Bulk_PM_E2E_02 - [Documentation] Get the VES Notification topic on message router - [Timeout] 1 minute - Sleep 10s - ${resp}= GetCall ${TARGETURL_TOPICS} - log ${TARGETURL_TOPICS} - log 'JSON Response Code :'${resp} - ${topics}= Evaluate $resp.json().get('topics') - log ${topics} - ${ListLength}= Get Length ${topics} - log ${ListLength} - List Should Contain Value ${topics} unauthenticated.VES_NOTIFICATION_OUTPUT - -Verify Data File Collector successfully publishes the PM XML file to the Data Router - [Tags] Bulk_PM_E2E_03 - [Documentation] Check that DFC publishes the PM XML to the Data Router - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_DFC_LOG} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_DFC_LOG_GREP} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - Should Contain ${cli_cmd_output.stdout} Datafile file published - - -Verify Default Feed And File Consumer Subscription On Datarouter - [Tags] Bulk_PM_E2E_04 - [Documentation] Verify Default Feed And File Consumer Subscription On Datarouter - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - Should Contain ${cli_cmd_output.stdout} https://dmaap-dr-prov/publish/1 - Should Contain ${cli_cmd_output.stdout} http://datarouter-subscriber:7070 - - -Verify Fileconsumer Receive PM file from Data Router - [Tags] Bulk_PM_E2E_05 - [Documentation] Check PM XML file exists on the File Consumer Simulator - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_FILECONSUMER} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - Should Contain ${cli_cmd_output.stdout} A20181002.0000-1000-0015-1000_5G.xml - -Verify File Consumer Receive valid metadata from Data Router - [Tags] Bulk_PM_E2E_06 - [Documentation] Check PM XML file is delivered to the FileConsumer Simulator with valid metadata - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_FILECONSUMER} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - Should Contain ${cli_cmd_output.stdout} A20181002.0000-1000-0015-1000_5G.xml.M - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_FILECONSUMER_CP} shell=yes - ${cli_cmd_output}= Run Process ${CLI_EXEC_RENAME_METADATA} shell=yes - ${validation_result}= Validate ${metadataSchemaPath} ${metadataJsonPath} - Should Be Equal As Strings ${validation_result} 0 - -Verify PM-Mapper successfully receives uncompressed the PM XML file - [Tags] Bulk_PM_E2E_07 - [Documentation] Check that PM-Mapper receives the uncompressed PM XML file - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_PMMAPPER_LOG} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_PMMAPPER_LOG_GREP} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - Should Contain ${cli_cmd_output.stdout} XML validation successful - -Verify PM-Mapper successfully publishes VES event the Message Router - [Tags] Bulk_PM_E2E_08 - [Documentation] Check that PM-Mapper publishes VES onto the Message Router - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_PMMAPPER_LOG} shell=yes - Log ${cli_cmd_output.stdout} - Should Be Equal As Strings ${cli_cmd_output.rc} 0 - ${cli_cmd_output}= Run Process ${CLI_EXEC_CLI_PMMAPPER_LOG_GREP_VES} shell=yes - Should Contain ${cli_cmd_output.stdout} Successfully published VES events to messagerouter \ No newline at end of file diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/__init__.robot b/tests/usecases-5G-bulkpm/5G-bulkpm/__init__.robot deleted file mode 100644 index 7114fd44..00000000 --- a/tests/usecases-5G-bulkpm/5G-bulkpm/__init__.robot +++ /dev/null @@ -1,2 +0,0 @@ -*** Settings *** -Documentation 5G Bulk PM E2E Testcases diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/assets/json_events/FileExistNotification.json b/tests/usecases-5G-bulkpm/5G-bulkpm/assets/json_events/FileExistNotification.json deleted file mode 100644 index 02f092df..00000000 --- a/tests/usecases-5G-bulkpm/5G-bulkpm/assets/json_events/FileExistNotification.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "event": { - "commonEventHeader": { - "version": "4.0.1", - "vesEventListenerVersion": "7.0.1", - "domain": "notification", - "eventName": "Noti_RnNode-Ericsson_FileReady", - "eventId": "FileReady_1797490e-10ae-4d48-9ea7-3d7d790b25e1", - "lastEpochMicrosec": 8745745764578, - "priority": "Normal", - "reportingEntityName": "otenb5309", - "sequence": 0, - "sourceName": "oteNB5309", - "startEpochMicrosec": 8745745764578, - "timeZoneOffset": "UTC+05.30" - }, - "notificationFields": { - "changeIdentifier": "PM_MEAS_FILES", - "changeType": "FileReady", - "notificationFieldsVersion": "2.0", - "arrayOfNamedHashMap": [ - { "name": "A20181002.0000-1000-0015-1000_5G.xml.gz", - "hashMap":{ - "location": "sftp://admin:admin@sftp:22/A20181002.0000-1000-0015-1000_5G.xml.gz", - "compression": "gzip", - "fileFormatType": "org.3GPP.32.435#measCollec", - "fileFormatVersion": "V10" - } - } - ] - } -} -} \ No newline at end of file diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/assets/metadata.schema.json b/tests/usecases-5G-bulkpm/5G-bulkpm/assets/metadata.schema.json deleted file mode 100644 index a41b3544..00000000 --- a/tests/usecases-5G-bulkpm/5G-bulkpm/assets/metadata.schema.json +++ /dev/null @@ -1,74 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "metadata.schema.json", - "title": "DataRouter PM File Metadata", - "description": "Metadata for 3GPP PM files that are placed on the DMaaP Data Router by the Data File Collector (VES 7.1)", - "type": "object", - - "properties": { - "productName": { - "description": "from the FileReady event eventName", - "type": "string" - }, - - "vendorName": { - "description": "from the FileReady event eventName", - "type": "string" - }, - - "lastEpochMicrosec": { - "description": "the latest unix epoch time associated with the FileReady event", - "type": "string" - }, - - "sourceName": { - "description": "the name of the entity experiencing the event", - "type": "string" - }, - - "startEpochMicrosec": { - "description": "the earliest unix epoch time associated with the FileReady event", - "type": "string" - }, - - "timeZoneOffset": { - "description": "the timezone offset from UTC", - "type": "string", - "pattern": "^(?:(?:[a-zA-Z]{3})[+-](?:[01][0-9]|2[0-3]).[0-5][0-9])$" - }, - - "location": { - "description": "follows the format ://://, the IP address is the node ip address, the port of the protocol server", - "type": "string" - }, - - "compression": { - "description": "specifies if the file is compressed", - "type": "string", - "enum": [ "gzip" ] - }, - - "fileFormatType": { - "description": "the file format", - "type": "string" - }, - - "fileFormatVersion": { - "description": "the version of the file format", - "type": "string" - } - }, - - "required": [ - "productName", - "vendorName", - "lastEpochMicrosec", - "sourceName", - "startEpochMicrosec", - "timeZoneOffset", - "location", - "compression", - "fileFormatType", - "fileFormatVersion" - ] -} diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py deleted file mode 100644 index ed376ff2..00000000 --- a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/JsonValidatorLibrary.py +++ /dev/null @@ -1,40 +0,0 @@ -# -*- coding: utf-8 -*- - -import logging - -from jsonschema import validate, ValidationError, SchemaError -from simplejson import load - - -class JsonValidatorLibrary(object): - - def __init__(self): - pass - - @staticmethod - def validate(schema_path, json_path): - logging.info("Schema path: " + schema_path) - logging.info("JSON path: " + json_path) - schema = None - data = None - try: - schema = load(open(schema_path, 'r')) - data = load(open(json_path, 'r')) - except (IOError, ValueError, OSError) as e: - logging.error(e.message) - return 1 - - try: - validate(data, schema) - except (ValidationError, SchemaError) as e: - logging.error(e.message) - return 1 - - # logger.log("JSON validation successful") - print("JSON validation successful") - return 0 - - -if __name__ == '__main__': - lib = JsonValidatorLibrary() -# sys.exit(JsonValidatorLibrary().validate(sys.argv[1], sys.argv[2])) diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/bulkpm_keywords.robot b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/bulkpm_keywords.robot deleted file mode 100644 index 9ef56c83..00000000 --- a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/bulkpm_keywords.robot +++ /dev/null @@ -1,39 +0,0 @@ - *** Settings *** -Documentation The main interface for interacting with VES. It handles low level stuff like managing the http request library and VES required fields -Library RequestsLibrary -Library ../resources/xNFLibrary.py -Library ../resources/JsonValidatorLibrary.py -Library OperatingSystem -Library Collections -Library requests -Library Collections -Library String - -*** Variables *** - -*** Keywords *** - -Get Event Data From File - [Arguments] ${jsonfile} - ${data}= OperatingSystem.Get File ${jsonfile} - #Should Not Be_Equal ${data} None - [return] ${data} - -Publish Event To VES Collector - [Documentation] Send an event to VES Collector - [Arguments] ${url} ${evtpath} ${httpheaders} ${evtdata} - Log Creating session ${url} - ${session}= Create Session dcaegen2-d1 ${url} - ${resp}= Post Request dcaegen2-d1 ${evtpath} data=${evtdata} headers=${httpheaders} - #Log Received response from dcae ${resp.json()} - [return] ${resp} -PostCall - [Arguments] ${url} ${data} - ${headers}= Create Dictionary Accept=application/json Content-Type=application/json - ${resp}= Evaluate requests.post('${url}',data='${data}', headers=${headers},verify=False) requests - [Return] ${resp} - -GetCall - [Arguments] ${url} - ${resp}= Evaluate requests.get('${url}') requests - [Return] ${resp} diff --git a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/xNFLibrary.py b/tests/usecases-5G-bulkpm/5G-bulkpm/resources/xNFLibrary.py deleted file mode 100644 index b70d8095..00000000 --- a/tests/usecases-5G-bulkpm/5G-bulkpm/resources/xNFLibrary.py +++ /dev/null @@ -1,30 +0,0 @@ -''' -Created on Aug 18, 2017 - -@author: sw6830 -''' -import time -import uuid - -from robot.api import logger - - -class xNFLibrary(object): - - def __init__(self): - pass - - @staticmethod - def create_header_from_string(dict_str): - logger.info("Enter create_header_from_string: dictStr") - return dict(u.split("=") for u in dict_str.split(",")) - - @staticmethod - def Generate_UUID(self): - """generate a uuid""" - return uuid.uuid4() - - -if __name__ == '__main__': - lib = xNFLibrary() - time.sleep(100000)