diff options
-rw-r--r-- | plans/aaf/certservice/cmpServers.json | 24 | ||||
-rw-r--r-- | plans/aaf/certservice/setup.sh | 19 | ||||
-rw-r--r-- | plans/usecases/5G-bulkpm/assets/config.json | 35 | ||||
-rw-r--r-- | plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml | 2 | ||||
-rw-r--r-- | plans/usecases/5G-bulkpm/setup.sh | 92 | ||||
-rw-r--r-- | tests/aaf/certservice/cert-service-test.robot | 12 | ||||
-rw-r--r-- | tests/aaf/certservice/resources/cert-service-properties.robot | 2 |
7 files changed, 88 insertions, 98 deletions
diff --git a/plans/aaf/certservice/cmpServers.json b/plans/aaf/certservice/cmpServers.json new file mode 100644 index 00000000..f461edc7 --- /dev/null +++ b/plans/aaf/certservice/cmpServers.json @@ -0,0 +1,24 @@ +{ + "cmpv2Servers": [ + { + "caName": "TEST", + "url": "http://127.0.0.1/ejbca/publicweb/cmp/cmp", + "issuerDN": "CN=ManagementCA", + "caMode": "CLIENT", + "authentication": { + "iak": "xxx", + "rv": "yyy" + } + }, + { + "caName": "TEST2", + "url": "http://127.0.0.1/ejbca/publicweb/cmp/cmpRA", + "issuerDN": "CN=ManagementCA2", + "caMode": "RA", + "authentication": { + "iak": "xxx", + "rv": "yyy" + } + } + ] +} diff --git a/plans/aaf/certservice/setup.sh b/plans/aaf/certservice/setup.sh index 48bf00b9..1bf57470 100644 --- a/plans/aaf/certservice/setup.sh +++ b/plans/aaf/certservice/setup.sh @@ -1,6 +1,6 @@ #!/bin/bash # -# Copyright 2017 ZTE Corporation. +# Copyright 2020 Nokia. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,8 +19,23 @@ AAFCERT_IMAGE=nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservic echo AAFCERT_IMAGE=${AAFCERT_IMAGE} +# ------------------------------------ +# Resolve path to cmp servers configuration + +SCRIPT=`realpath $0` +CURRENT_WORKDIR_PATH=`dirname $SCRIPT` + +CONFIGURATION_FILE="cmpServers.json" +if test -f "$CURRENT_WORKDIR_PATH/plans/aaf/certservice/$CONFIGURATION_FILE"; then + CONFIGURATION_PATH="$CURRENT_WORKDIR_PATH/plans/aaf/certservice/$CONFIGURATION_FILE" +else test -f "$CURRENT_WORKDIR_PATH/$CONFIGURATION_FILE"; + CONFIGURATION_PATH=$CURRENT_WORKDIR_PATH/$CONFIGURATION_FILE +fi +echo "Use configuration from: $CONFIGURATION_PATH" +# ------------------------------------- + # Start AAF Cert Srevice -docker run -p 8080:8080 -d --name aafcert ${AAFCERT_IMAGE} +docker run -p 8080:8080 -d --mount type=bind,source=${CONFIGURATION_PATH},target=/etc/onap/aaf/certservice/cmpServers.json --name aafcert ${AAFCERT_IMAGE} AAFCERT_IP=`get-instance-ip.sh aafcert` export AAFCERT_IP=${AAFCERT_IP} diff --git a/plans/usecases/5G-bulkpm/assets/config.json b/plans/usecases/5G-bulkpm/assets/config.json new file mode 100644 index 00000000..aacbb5b0 --- /dev/null +++ b/plans/usecases/5G-bulkpm/assets/config.json @@ -0,0 +1,35 @@ +{ + "pm-mapper-filter": { "filters":[]}, + "key_store_path": "/opt/app/pm-mapper/etc/cert.jks.b64", + "key_store_pass_path": "/opt/app/pm-mapper/etc/jks.pass", + "trust_store_path": "/opt/app/pm-mapper/etc/trust.jks.b64", + "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://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 + } + } + } +}
\ No newline at end of file diff --git a/plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml b/plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml index f2d7a420..fb999ce3 100644 --- a/plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml +++ b/plans/usecases/5G-bulkpm/composefile/docker-compose-pmmapper.yml @@ -2,7 +2,7 @@ version: '2.1' services: pmmapper: container_name: pmmapper - image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:1.1.3 + image: nexus3.onap.org:10001/onap/org.onap.dcaegen2.services.pm-mapper:latest ports: - "8081:8081" environment: diff --git a/plans/usecases/5G-bulkpm/setup.sh b/plans/usecases/5G-bulkpm/setup.sh index 00993b72..cc638be4 100644 --- a/plans/usecases/5G-bulkpm/setup.sh +++ b/plans/usecases/5G-bulkpm/setup.sh @@ -1,14 +1,6 @@ #!/bin/bash # Place the scripts in run order: source ${SCRIPTS}/common_functions.sh - -CSIT=TRUE -if [ ${CSIT} = "TRUE" ] ; then -#################################################### -#Executes the below setup in an Docker Environment # -#################################################### - -echo "CSIT Test get executed in here" SFTP_PORT=22 VESC_PORT=8080 export VESC_PORT=${VESC_PORT} @@ -80,7 +72,8 @@ sleep 10 CONSUL_IP=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' consul ) sed -i -e '/CONSUL_HOST:/ s/:.*/: '$CONSUL_IP'/' docker-compose.yml HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') -sed -i -e '/DMAAPHOST:/ s/:.*/: '$HOST_IP'/' docker-compose.yml +DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $DMAAP) +sed -i -e '/DMAAPHOST:/ s/:.*/: '$DMAAP_MR_IP'/' docker-compose.yml MARIADB=$(docker inspect '--format={{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mariadb ) sed -i 's/datarouter-mariadb/'$MARIADB'/g' $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/prov_data/provserver.properties docker-compose up -d @@ -197,7 +190,7 @@ curl -k https://$DR_PROV_IP:8443/internal/prov cp $WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/cbs.json /tmp/cbs.json sed -i 's/ipaddress/'${CBS_IP}'/g' /tmp/cbs.json curl --request PUT --data @/tmp/cbs.json http://$CONSUL_IP:8500/v1/agent/service/register -curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @$WORKSPACE/plans/dcaegen2-pmmapper/pmmapper/assets/config.json +curl 'http://'$CONSUL_IP':8500/v1/kv/pmmapper?dc=dc1' -X PUT -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'X-Requested-With: XMLHttpRequest' --data @$WORKSPACE/plans/usecases/5G-bulkpm/assets/config.json # PM Mapper startup and configuration mkdir /tmp/docker-compose @@ -247,81 +240,4 @@ sleep 10 curl -k https://$DR_PROV_IP:8443/internal/prov #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} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v VESC_IP:${VESC_IP} -v VESC_PORT:${VESC_PORT} -v DR_SUBSCIBER_IP:${DR_SUBSCIBER_IP} -v SFTP_IP:${SFTP_IP}" - -else -############################################################ -############################################################ -# Executes the below setup in an ONAP Environment # -# Make sure the steps in the README are completed first !! # -############################################################ -############################################################ -SFTP_PORT=2222 - -cp $WORKSPACE/plans/usecases/5G-bulkpm/teardown.sh $WORKSPACE/plans/usecases/5G-bulkpm/teardown.sh.orig -cp $WORKSPACE/plans/usecases/5G-bulkpm/onap.teardown.sh $WORKSPACE/plans/usecases/5G-bulkpm/teardown.sh - -#Get DataFileCollector POD name in this ONAP Deployment -DFC_POD=$(kubectl -n onap get pods | grep datafile-collector | awk '{print $1}') -export DFC_POD=${DFC_POD} -export CLI_EXEC_CLI_DFC="kubectl exec -n onap ${DFC_POD} -it ls /target | grep .gz" - -# Get IP address of datarrouter-prov -DR_PROV_IP=$(kubectl -n onap -o wide get pods | grep dmaap-dr-prov | awk '{print $6}') -echo DR_PROV_IP=${DR_PROV_IP} -DR_NODE_IP=$(kubectl -n onap -o=wide get pods | grep dmaap-dr-node | awk '{print $6}') -echo DR_NODE_IP=${DR_NODE_IP} - -# Get IP address of exposed Ves and its port -DMAAP_MR_IP=$(kubectl -n onap -o=wide get pods | grep dev-dmaap-message-router | grep -Ev "kafka|zookeeper" | awk '{print $6}') -VESC_IP=$(kubectl get svc -n onap | grep vesc | awk '{print $4}') -VESC_PORT=$(kubectl get svc -n onap | grep vesc | awk '{print $5}' | cut -d ":" -f2 | cut -d "/" -f1) -echo VESC_IP=${VESC_IP} -echo VESC_PORT=${VESC_PORT} - -export VESC_IP=${VESC_IP} -export VESC_PORT=${VESC_PORT} -export HOST_IP=${HOST_IP} -export DMAAP_MR_IP=${DMAAP_MR_IP} - -#Get DataFileCollector POD name in this ONAP Deployment -DFC_POD=$(kubectl -n onap get pods | grep datafile-collector | awk '{print $1}') -export DFC_POD=${DFC_POD} - -pip install jsonschema uuid simplejson - -# 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 $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources -mkdir docker-compose -cd $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose -cp $WORKSPACE/plans/usecases/5G-bulkpm/composefile/onap.docker-compose-e2e $WORKSPACE/archives/dmaapdr/datarouter/datarouter-docker-compose/src/main/resources/docker-compose/docker-compose.yml - -#Statup the SFTP and FileConsumer containers. -docker login -u docker -p docker nexus3.onap.org:10001 -docker-compose up -d - -# Wait container ready -sleep 2 -HOST_IP=$(ip route get 8.8.8.8 | awk '/8.8.8.8/ {print $NF}') -# SFTP Configuration: -# Update the File Ready Notification with actual sftp ip address and copy pm files to sftp server. -cp $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotification.json $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json -sed -i 's/sftpserver/'${HOST_IP}'/g' $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json -sed -i 's/sftpport/'${SFTP_PORT}'/g' $WORKSPACE/tests/usecases/5G-bulkpm/assets/json_events/FileExistNotificationUpdated.json -docker cp $WORKSPACE/plans/usecases/5G-bulkpm/assets/xNF.pm.xml.gz sftp:/home/admin/ - -# Create default feed and create file consumer subscriber on 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/assets/createFeed.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443 -cp $WORKSPACE/plans/usecases/5G-bulkpm/assets/addSubscriber.json /tmp/addSubscriber.json -sed -i 's/fileconsumer/'${HOST_IP}'/g' /tmp/addSubscriber.json -curl -v -X POST -H "Content-Type:application/vnd.dmaap-dr.subscription" -H "X-DMAAP-DR-ON-BEHALF-OF:dradmin" --data-ascii @/tmp/addSubscriber.json --post301 --location-trusted -k https://${DR_PROV_IP}:8443/subscribe/1 -sleep 10 -curl -k https://$DR_PROV_IP:8443/internal/prov - -#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} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v VESC_IP:${VESC_IP} -v VESC_PORT:${VESC_PORT} -v DR_SUBSCIBER_IP:${DR_SUBSCIBER_IP} -v DFC_POD:${DFC_POD} -v HOST_IP:${HOST_IP} " - -fi;
\ No newline at end of file +ROBOT_VARIABLES="-v DR_PROV_IP:${DR_PROV_IP} -v DR_NODE_IP:${DR_NODE_IP} -v DMAAP_MR_IP:${DMAAP_MR_IP} -v VESC_IP:${VESC_IP} -v VESC_PORT:${VESC_PORT} -v DR_SUBSCIBER_IP:${DR_SUBSCIBER_IP} -v SFTP_IP:${SFTP_IP}"
\ No newline at end of file diff --git a/tests/aaf/certservice/cert-service-test.robot b/tests/aaf/certservice/cert-service-test.robot index aa2691a7..daaa07ca 100644 --- a/tests/aaf/certservice/cert-service-test.robot +++ b/tests/aaf/certservice/cert-service-test.robot @@ -1,6 +1,6 @@ *** Settings *** -Documentation Run healthcheck +Documentation AAF test case scenarios Library RequestsLibrary Resource ./resources/cert-service-keywords.robot @@ -20,7 +20,7 @@ AAF Cert Service API Reload Configuration AAF Cert Service API Send Valid CSR and Valid PK [Tags] AAF-CERT-SERVICE - [Documentation] Send request to /v1/certificate/test endpoint and expect 200 + [Documentation] Send request to ${CERT_PATH} endpoint and expect 200 Send Get Request with Header And Validate Response ${CERT_PATH} ${VALID_CSR_FILE} ${VALID_PK_FILE} 200 AAF Cert Service API Send Valid CSR and Valid PK to Wrong Path @@ -30,15 +30,15 @@ AAF Cert Service API Send Valid CSR and Valid PK to Wrong Path AAF Cert Service API Send Request without Header [Tags] AAF-CERT-SERVICE - [Documentation] Send request to /v1/certificate/ endpoint and expect 400 + [Documentation] Send request without header to ${CERT_PATH} endpoint and expect 400 Send Get Request And Validate Response ${CERT_PATH} 400 AAF Cert Service API Send Invalid CSR and Valid PK [Tags] AAF-CERT-SERVICE - [Documentation] Send request to /v1/certificate/test endpoint and expect 400 + [Documentation] Send request to ${CERT_PATH} endpoint and expect 400 Send Get Request with Header And Validate Response ${CERT_PATH} ${INVALID_CSR_FILE} ${VALID_PK_FILE} 400 AAF Cert Service API Send Valid CSR and Invalid PK [Tags] AAF-CERT-SERVICE - [Documentation] Send request to /v1/certificate/test endpoint and expect 400 - Send Get Request with Header And Validate Response ${CERT_PATH} ${VALID_CSR_FILE} ${INVALID_PK_FILE} 400
\ No newline at end of file + [Documentation] Send request to ${CERT_PATH} endpoint and expect 400 + Send Get Request with Header And Validate Response ${CERT_PATH} ${VALID_CSR_FILE} ${INVALID_PK_FILE} 400 diff --git a/tests/aaf/certservice/resources/cert-service-properties.robot b/tests/aaf/certservice/resources/cert-service-properties.robot index e911133d..1049695e 100644 --- a/tests/aaf/certservice/resources/cert-service-properties.robot +++ b/tests/aaf/certservice/resources/cert-service-properties.robot @@ -1,7 +1,7 @@ *** Variables *** ${AAFCERT_URL} http://%{AAFCERT_IP}:8080 -${CAName} test +${CAName} TEST ${CERT_PATH} /v1/certificate/${CAName} ${VALID_CSR_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/valid.csr ${VALID_PK_FILE} %{WORKSPACE}/tests/aaf/certservice/assets/valid.key |