From: Dan Timoney Date: Mon, 17 May 2021 14:20:29 +0000 (-0400) Subject: Remove SDNC CSIT tests X-Git-Url: https://gerrit.onap.org/r/gitweb?p=integration%2Fcsit.git;a=commitdiff_plain;h=9a7128436b8d7c292dd8de849883c0cce18e5e68 Remove SDNC CSIT tests SDNC CSIT tests have been moved to SDNC project repo (sdnc/oam), so tests in integration/csit are no longer needed. Change-Id: Iae8b2e5b609e50ea7f6a215e82fb8344fea0fe69 Issue-ID: SDNC-1545 Signed-off-by: Dan Timoney --- diff --git a/plans/sdnc/healthcheck/health_check.sh b/plans/sdnc/healthcheck/health_check.sh deleted file mode 100644 index e8b5056d..00000000 --- a/plans/sdnc/healthcheck/health_check.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash -############################################################################### -# Copyright 2017 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -############################################################################### -SCRIPTS="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -echo $SCRIPTS - -unset http_proxy https_proxy - -response=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-sdnc" -H "X-TransactionId: csit-sdnc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck ) - -if [ "$response" == "200" ]; then - echo "SDNC health check passed." - exit 0; -fi - -echo "SDNC health check failed with response code ${response}." -exit 1 diff --git a/plans/sdnc/healthcheck/setup.sh b/plans/sdnc/healthcheck/setup.sh deleted file mode 100755 index 0006621f..00000000 --- a/plans/sdnc/healthcheck/setup.sh +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Modifications copyright (c) 2017 AT&T Intellectual Property -# Modifications copyright (c) 2020 Samsung Electronics Co., Ltd. -# -# Place the scripts in run order: -set -x -export NEXUS_USERNAME=docker -export NEXUS_PASSWD=docker -export NEXUS_DOCKER_REPO=nexus3.onap.org:10001 -export DMAAP_TOPIC=AUTO -export DOCKER_IMAGE_VERSION=2.2-STAGING-latest -export CCSDK_DOCKER_IMAGE_VERSION=1.1.5 - -# Set credentials -export MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-mySecretPassword} -export MYSQL_USER=${MYSQL_USER:-sdnc} -export MYSQL_PASSWORD=${MYSQL_PASSWORD:-test123} -export MYSQL_DATABASE=${MYSQL_DATABASE:-sdncdb} -export ODL_USER=${ODL_USER:-admin} -export ODL_PASSWORD=${ODL_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} -export ODL_ADMIN_USER=${ODL_ADMIN_USER:-${ODL_USER}} -export ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-${ODL_PASSWORD}} -export DMAAP_USER=${DMAAP_USER:-admin} -export DMAAP_PASSWORD=${DMAAP_PASSWORD:-admin} -export DMAAP_AUTHKEY=${DMAAP_AUTHKEY:-""} -export AAI_TRUSTSTORE_PASSWORD=${AAI_TRUSTSTORE_PASSWORD:-changeit} -export AAI_CLIENT_NAME=${AAI_CLIENT_NAME:-sdnc@sdnc.onap.org} -export AAI_CLIENT_PASSWORD=${AAI_CLIENT_PASSWORD:-demo123456!} -export ANSIBLE_TRUSTSTORE_PASSWORD=${ANSIBLE_TRUSTSTURE_PASSWORD:-changeit} -export HONEYCOMB_USER=${HONEYCOMB_USER:-admin} -export HONEYCOMB_PASSWORD=${HONEYCOMB_PASSWORD:-admin} -export TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD:-changeit} -export KEYSTORE_PASSWORD=${KEYSTORE_PASSWORD:-adminadmin} -export NENG_USER=${NENG_USER:-ccsdkapps} -export NENG_PASSWORD=${NENG_PASSWORD:-ccsdkapps} -export SO_USER=${SO_USER:-sdncaBpmn} -export SO_PASSWORD=${SO_PASSWORD:-password1$} -export CDS_USER=${CDS_USER:-ccsdkapps} -export CDS_PASSWORD=${CDS_PASSWORD:-ccsdkapps} -export ANSIBLE_USER=${ANSIBLE_USER:-sdnc} -export ANSIBLE_PASSWORD=${ANSIBLE_PASSWORD:-sdnc} -export SQL_CRYPTKEY=${SQL_CRYPTKEY:-fakECryptKey} -export ASDC_USER=${ASDC_USER:-sdnc} -export ASDC_PASSWORD=${ASDC_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} - - -export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) - -if [ "$MTU" == "" ]; then - export MTU="1450" -fi - - -# Clone SDNC repo to get docker-compose for SDNC -mkdir -p $WORKSPACE/archives/sdnc -cd $WORKSPACE/archives -git clone -b master --single-branch --depth=1 http://gerrit.onap.org/r/sdnc/oam.git sdnc -cd $WORKSPACE/archives/sdnc -git pull -unset http_proxy https_proxy -cd $WORKSPACE/archives/sdnc/installation/src/main/yaml - -sed -i "s/DMAAP_TOPIC_ENV=.*/DMAAP_TOPIC_ENV="AUTO"/g" docker-compose.yml -docker login -u $NEXUS_USERNAME -p $NEXUS_PASSWD $NEXUS_DOCKER_REPO - -docker pull $NEXUS_DOCKER_REPO/onap/sdnc-image:$DOCKER_IMAGE_VERSION -docker tag $NEXUS_DOCKER_REPO/onap/sdnc-image:$DOCKER_IMAGE_VERSION onap/sdnc-image:latest - -docker pull $NEXUS_DOCKER_REPO/onap/sdnc-ansible-server-image:$DOCKER_IMAGE_VERSION -docker tag $NEXUS_DOCKER_REPO/onap/sdnc-ansible-server-image:$DOCKER_IMAGE_VERSION onap/sdnc-ansible-server-image:latest - -docker pull $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION -docker tag $NEXUS_DOCKER_REPO/onap/ccsdk-dgbuilder-image:$CCSDK_DOCKER_IMAGE_VERSION onap/ccsdk-dgbuilder-image:latest - -docker pull $NEXUS_DOCKER_REPO/onap/sdnc-ueb-listener-image:$DOCKER_IMAGE_VERSION -docker tag $NEXUS_DOCKER_REPO/onap/sdnc-ueb-listener-image:$DOCKER_IMAGE_VERSION onap/sdnc-ueb-listener-image:latest - -docker pull $NEXUS_DOCKER_REPO/onap/sdnc-dmaap-listener-image:$DOCKER_IMAGE_VERSION - -docker tag $NEXUS_DOCKER_REPO/onap/sdnc-dmaap-listener-image:$DOCKER_IMAGE_VERSION onap/sdnc-dmaap-listener-image:latest - - -# start SDNC containers with docker compose and configuration from docker-compose.yml -docker-compose up -d - -# WAIT 5 minutes maximum and check karaf.log for readiness every 10 seconds - -TIME_OUT=300 -INTERVAL=10 - -TIME=0 -while [ "$TIME" -lt "$TIME_OUT" ]; do - -docker exec sdnc_controller_container cat /opt/opendaylight/data/log/karaf.log | grep 'warp coils' - - if [ $? == 0 ] ; then - echo SDNC karaf started in $TIME seconds - break; - fi - - echo Sleep: $INTERVAL seconds before testing if SDNC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds - sleep $INTERVAL - TIME=$(($TIME+$INTERVAL)) -done - -if [ "$TIME" -ge "$TIME_OUT" ]; then - echo TIME OUT: karaf session not started in $TIME_OUT seconds, setup failed - exit 1; -fi - -num_bundles=$(docker exec -i sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | tail -1 | cut -d' ' -f1) -num_failed_bundles=$(docker exec -i sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure | wc -l) -failed_bundles=$(docker exec -i sdnc_controller_container /opt/opendaylight/current/bin/client bundle:list | grep Failure) -echo There is/are $num_failed_bundles failed bundles out of $num_bundles installed bundles. - -if [ "$num_failed_bundles" -ge 1 ]; then - echo "The following bundle(s) are in a failed state: " - echo " $failed_bundles" -fi - -# Pass any variables required by Robot test suites in ROBOT_VARIABLES -ROBOT_VARIABLES="-v SCRIPTS:${SCRIPTS}" diff --git a/plans/sdnc/healthcheck/teardown.sh b/plans/sdnc/healthcheck/teardown.sh deleted file mode 100644 index dd465bb3..00000000 --- a/plans/sdnc/healthcheck/teardown.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Modifications copyright (c) 2017 AT&T Intellectual Property -# - -kill-instance.sh sdnc_controller_container -kill-instance.sh sdnc_dgbuilder_container -kill-instance.sh sdnc_portal_container -kill-instance.sh sdnc_db_container -kill-instance.sh sdnc_ueblistener_container -kill-instance.sh sdnc_dmaaplistener_container - -# $WORKSPACE/archives/appc deleted with archives folder when tests starts so we keep it at the end for debugging diff --git a/plans/sdnc/healthcheck/testplan.txt b/plans/sdnc/healthcheck/testplan.txt deleted file mode 100644 index 789104a9..00000000 --- a/plans/sdnc/healthcheck/testplan.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -sdnc/healthcheck - diff --git a/plans/sdnc/sdnc_netconf_tls_post_deploy/certs/Makefile b/plans/sdnc/sdnc_netconf_tls_post_deploy/certs/Makefile deleted file mode 100644 index b284e61e..00000000 --- a/plans/sdnc/sdnc_netconf_tls_post_deploy/certs/Makefile +++ /dev/null @@ -1,110 +0,0 @@ -all: step_1 step_2 step_3 step_4 step_5 step_6 step_7 step_8 step_9 step_10 step_11 step_12 step_13 step_14 step_15 -.PHONY: all -#Clear certificates -clear: - @echo "***** Clear certificates *****" - rm -f certServiceClient-keystore.jks certServiceServer-keystore.jks root.crt truststore.jks certServiceServer-keystore.p12 - @echo "***** done *****" - -#Generate root private and public keys -step_1: - @echo "***** Generate root private and public keys *****" - keytool -genkeypair -v -alias root -keyalg RSA -keysize 4096 -validity 3650 -keystore root-keystore.jks \ - -dname "CN=root.com, OU=Root Org, O=Root Company, L=Wroclaw, ST=Dolny Slask, C=PL" -keypass secret \ - -storepass secret -ext BasicConstraints:critical="ca:true" - @echo "***** done *****" - -#Export public key as certificate -step_2: - @echo "***** Export public key as certificate *****" - keytool -exportcert -alias root -keystore root-keystore.jks -storepass secret -file root.crt -rfc - @echo "***** done *****" - -#Self-signed root (import root certificate into truststore) -step_3: - @echo "***** Self-signed root import root certificate into truststore *****" - keytool -importcert -alias root -keystore truststore.jks -file root.crt -storepass secret -noprompt - @echo "***** done *****" - -#Generate certService's client private and public keys -step_4: - @echo "***** Generate certService's client private and public keys *****" - keytool -genkeypair -v -alias certServiceClient -keyalg RSA -keysize 2048 -validity 730 \ - -keystore certServiceClient-keystore.jks -storetype JKS \ - -dname "CN=certServiceClient.com,OU=certServiceClient company,O=certServiceClient org,L=Wroclaw,ST=Dolny Slask,C=PL" \ - -keypass secret -storepass secret - @echo "***** done *****" - -#Generate certificate signing request for certService's client -step_5: - @echo "***** Generate certificate signing request for certService's client *****" - keytool -certreq -keystore certServiceClient-keystore.jks -alias certServiceClient -storepass secret -file certServiceClient.csr - @echo "***** done *****" - -#Sign certService's client certificate by root CA -step_6: - @echo "***** Sign certService's client certificate by root CA *****" - keytool -gencert -v -keystore root-keystore.jks -storepass secret -alias root -infile certServiceClient.csr \ - -outfile certServiceClientByRoot.crt -rfc -ext bc=0 -ext ExtendedkeyUsage="serverAuth,clientAuth" - @echo "***** done *****" - -#Import root certificate into client -step_7: - @echo "***** Import root certificate into intermediate *****" - cat root.crt >> certServiceClientByRoot.crt - @echo "***** done *****" - -#Import signed certificate into certService's client -step_8: - @echo "***** Import signed certificate into certService's client *****" - keytool -importcert -file certServiceClientByRoot.crt -destkeystore certServiceClient-keystore.jks -alias certServiceClient -storepass secret -noprompt - @echo "***** done *****" - -#Generate certService private and public keys -step_9: - @echo "***** Generate certService private and public keys *****" - keytool -genkeypair -v -alias aaf-cert-service -keyalg RSA -keysize 2048 -validity 730 \ - -keystore certServiceServer-keystore.jks -storetype JKS \ - -dname "CN=aaf-cert-service,OU=certServiceServer company,O=certServiceServer org,L=Wroclaw,ST=Dolny Slask,C=PL" \ - -keypass secret -storepass secret -ext BasicConstraints:critical="ca:false" - @echo "***** done *****" - -#Generate certificate signing request for certService -step_10: - @echo "***** Generate certificate signing request for certService***** " - keytool -certreq -keystore certServiceServer-keystore.jks -alias aaf-cert-service -storepass secret -file certServiceServer.csr - @echo "***** done *****" - -#Sign certService certificate by root CA -step_11: - @echo "***** Sign certService certificate by root CA *****" - keytool -gencert -v -keystore root-keystore.jks -storepass secret -alias root -infile certServiceServer.csr \ - -outfile certServiceServerByRoot.crt -rfc -ext bc=0 -ext ExtendedkeyUsage="serverAuth,clientAuth" \ - -ext SubjectAlternativeName:="DNS:aaf-cert-service,DNS:localhost" - @echo "***** done *****" - -#Import root certificate into server -step_12: - @echo "***** Import root certificate into intermediate *****" - cat root.crt >> certServiceServerByRoot.crt - @echo "***** done *****" - -#Import signed certificate into certService -step_13: - @echo "***** Import signed certificate into certService *****" - keytool -importcert -file certServiceServerByRoot.crt -destkeystore certServiceServer-keystore.jks -alias aaf-cert-service \ - -storepass secret -noprompt - @echo "***** done *****" - -#Convert certServiceServer-keystore(.jks) to PCKS12 format(.p12) -step_14: - @echo "***** Convert certServiceServer-keystore(.jks) to PCKS12 format(.p12) *****" - keytool -importkeystore -srckeystore certServiceServer-keystore.jks -srcstorepass secret \ - -destkeystore certServiceServer-keystore.p12 -deststoretype PKCS12 -deststorepass secret - @echo "***** done *****" - -#Clear unused certificates -step_15: - @echo "***** Clear unused certificates *****" - rm -f certServiceClientByRoot.crt certServiceClient.csr root-keystore.jks certServiceServerByRoot.crt certServiceServer.csr - @echo "***** done *****" diff --git a/plans/sdnc/sdnc_netconf_tls_post_deploy/sdnc-csit.env b/plans/sdnc/sdnc_netconf_tls_post_deploy/sdnc-csit.env deleted file mode 100644 index d10b9b1c..00000000 --- a/plans/sdnc/sdnc_netconf_tls_post_deploy/sdnc-csit.env +++ /dev/null @@ -1,48 +0,0 @@ -GERRIT_BRANCH=master -NEXUS_USERNAME=docker -NEXUS_PASSWD=docker -SDNC_CONTAINER_NAME=sdnc -SDNC_IMAGE_TAG=2.1-STAGING-latest -NEXUS_DOCKER_REPO=nexus3.onap.org:10001 -CLIENT_CONTAINER_NAME=CertServiceClient -SDNC_CERT_PATH=${SCRIPTS}/sdnc/sdnc/certs -REQUEST_DATA_PATH=${SCRIPTS}/sdnc/sdnc/config -NETCONF_PNP_SIM_CONTAINER_NAME=netconf-simulator -EJBCA_CERTPROFILE_PATH=${SCRIPTS}/sdnc/certservice/certprofile -AAF_CERTSERVICE_SCRIPTS_PATH=${SCRIPTS}/sdnc/certservice/scripts -TEMP_DIR_PATH=${WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/tmp -NETCONF_CONFIG_PATH=${SCRIPTS}/sdnc/netconf-pnp-simulator/netconf-config -AAF_INITIAL_CERTS=${WORKSPACE}/plans/sdnc/sdnc_netconf_tls_post_deploy/certs -AAF_CERTSERVICE_CONFIG_PATH=${SCRIPTS}/sdnc/certservice/config/cmpServers.json - -# Set vars with default credentials -export MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-mySecretPassword} -export MYSQL_USER=${MYSQL_USER:-sdnc} -export MYSQL_PASSWORD=${MYSQL_PASSWORD:-test123} -export MYSQL_DATABASE=${MYSQL_DATABASE:-sdncdb} -export ODL_USER=${ODL_USER:-admin} -export ODL_PASSWORD=${ODL_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} -export ODL_ADMIN_USER=${ODL_ADMIN_USER:-${ODL_USER}} -export ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-${ODL_PASSWORD}} -export DMAAP_USER=${DMAAP_USER:-admin} -export DMAAP_PASSWORD=${DMAAP_PASSWORD:-admin} -export DMAAP_AUTHKEY=${DMAAP_AUTHKEY:-""} -export AAI_TRUSTSTORE_PASSWORD=${AAI_TRUSTSTORE_PASSWORD:-changeit} -export AAI_CLIENT_NAME=${AAI_CLIENT_NAME:-sdnc@sdnc.onap.org} -export AAI_CLIENT_PASSWORD=${AAI_CLIENT_PASSWORD:-demo123456!} -export ANSIBLE_TRUSTSTORE_PASSWORD=${ANSIBLE_TRUSTSTURE_PASSWORD:-changeit} -export HONEYCOMB_USER=${HONEYCOMB_USER:-admin} -export HONEYCOMB_PASSWORD=${HONEYCOMB_PASSWORD:-admin} -export TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD:-changeit} -export KEYSTORE_PASSWORD=${KEYSTORE_PASSWORD:-adminadmin} -export NENG_USER=${NENG_USER:-ccsdkapps} -export NENG_PASSWORD=${NENG_PASSWORD:-ccsdkapps} -export SO_USER=${SO_USER:-sdncaBpmn} -export SO_PASSWORD=${SO_PASSWORD:-password1$} -export CDS_USER=${CDS_USER:-ccsdkapps} -export CDS_PASSWORD=${CDS_PASSWORD:-ccsdkapps} -export ANSIBLE_USER=${ANSIBLE_USER:-sdnc} -export ANSIBLE_PASSWORD=${ANSIBLE_PASSWORD:-sdnc} -export SQL_CRYPTKEY=${SQL_CRYPTKEY:-fakECryptKey} -export ASDC_USER=${ASDC_USER:-sdnc} -export ASDC_PASSWORD=${ASDC_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U} diff --git a/plans/sdnc/sdnc_netconf_tls_post_deploy/setup.sh b/plans/sdnc/sdnc_netconf_tls_post_deploy/setup.sh deleted file mode 100644 index 6f4e547e..00000000 --- a/plans/sdnc/sdnc_netconf_tls_post_deploy/setup.sh +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash -# -# ============LICENSE_START======================================================= -# Copyright (C) 2020 Nordix Foundation. -# Modification copyright (C) 2021 Samsung Electronics, Co., Ltd. -# ================================================================================ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -# @author Ajay Deep Singh (ajay.deep.singh@est.tech) - -# Source SDNC, AAF-CertService, Netconf-Pnp-Simulator config env -source "${WORKSPACE}"/plans/sdnc/sdnc_netconf_tls_post_deploy/sdnc-csit.env - -chmod +x "${WORKSPACE}"/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config.sh -chmod +x "${WORKSPACE}"/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config_tls.sh - -# Export temp directory -export TEMP_DIR_PATH=${TEMP_DIR_PATH} - - -export MTU=$(/sbin/ifconfig | grep MTU | sed 's/.*MTU://' | sed 's/ .*//' | sort -n | head -1) - -if [ "$MTU" == "" ]; then - export MTU="1450" -fi - -# Export default Networking bridge created on the host machine -export LOCAL_IP=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+') - -# Prepare enviroment -echo "Uninstall docker-py and reinstall docker." -pip uninstall -y docker-py -pip uninstall -y docker -pip install -U docker==2.7.0 - -# Reinstall pyOpenSSL library -echo "Reinstall pyOpenSSL library." -pip uninstall pyopenssl -y -pip install pyopenssl==17.5.0 - -# Install PYJKS for .jks files management -pip install pyjks - -# Disable Proxy - for local run -unset http_proxy https_proxy - -###################### Netconf Simulator Setup ###################### - -# Get integration/simulators -if [ -d ${SCRIPTS}/sdnc/pnf-simulator ] -then - rm -rf ${SCRIPTS}/sdnc/pnf-simulator -fi -mkdir ${SCRIPTS}/sdnc/pnf-simulator -git clone "https://gerrit.onap.org/r/integration/simulators/pnf-simulator" ${SCRIPTS}/sdnc/pnf-simulator - -# Fix docker-compose to add nexus repo for onap dockers -mv ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/docker-compose.yml ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/docker-compose.yml.orig -cat ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/docker-compose.yml.orig | sed -e "s/image: onap/image: nexus3.onap.org:10001\/onap/" > ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/docker-compose.yml - -# Remove carriage returns (if any) from netopeer start script -mv ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/netconf/initialize_netopeer.sh ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/netconf/initialize_netopeer.sh.orig -cat ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/netconf/initialize_netopeer.sh.orig | sed -e "s/\r$//g" > ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/netconf/initialize_netopeer.sh -chmod 755 ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/netconf/initialize_netopeer.sh - - -# Start Netconf Simulator Container with docker-compose and configuration from docker-compose.yml -docker-compose -f "${SCRIPTS}"/sdnc/pnf-simulator/netconfsimulator/docker-compose.yml up -d - -# Add test user in netopeer container -sleep 60 -docker exec netconfsimulator_netopeer_1 useradd --system test - - -############################## SDNC Setup ############################## - -# Copy client certs from netconf simulator to SDNC certs directory -mkdir /tmp/keys0 -cp ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/tls/client.crt /tmp/keys0 -cp ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/tls/client.key /tmp/keys0 -cp ${SCRIPTS}/sdnc/pnf-simulator/netconfsimulator/tls/ca.crt /tmp/keys0/trustedCertificates.crt -cwd=$(pwd) -cd /tmp -zip -r $SDNC_CERT_PATH/keys0.zip keys0 -rm -rf /tmp/keys0 - -# Export Mariadb, SDNC tmp, cert directory path -export SDNC_CERT_PATH=${SDNC_CERT_PATH} - -docker pull "${NEXUS_DOCKER_REPO}"/onap/sdnc-image:"${SDNC_IMAGE_TAG}" -docker tag "${NEXUS_DOCKER_REPO}"/onap/sdnc-image:"${SDNC_IMAGE_TAG}" onap/sdnc-image:latest - -# Fix permissions on certs directory to guarantee directory is read/ -# writable and that files are readable -chmod ugo+rwx ${SCRIPTS}/sdnc/sdnc/certs -chmod ugo+r ${SCRIPTS}/sdnc/sdnc/certs/* - -# Start Mariadb, SDNC Containers with docker-compose and configuration from docker-compose.yml -docker-compose -f "${SCRIPTS}"/sdnc/sdnc/docker-compose.yml up -d - -# Check if SDNC Service is healthy and ready -for i in {1..10}; do - SDNC_IP=$(get-instance-ip.sh sdnc) - RESP_CODE=$(curl --write-out '%{http_code}' --silent --output /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -X POST -H "X-FromAppId: csit-sdnc" -H "X-TransactionId: csit-sdnc" -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:8282/restconf/operations/SLI-API:healthcheck) - if [[ "${RESP_CODE}" == '200' ]]; then - echo "SDNC Service is Ready." - break - fi - echo "Waiting for SDNC Service to Start Up..." - sleep 30s -done - -if [[ "${SDNC_IP}" == 'none' || "${SDNC_IP}" == '' || "${RESP_CODE}" != '200' ]]; then - echo "SDNC Service not started, setup failed" - exit 1 -fi - -# Check if SDNC-ODL Karaf Session started -TIME_OUT=300 -INTERVAL=10 -TIME=0 -while [ "$TIME" -lt "$TIME_OUT" ]; do - - docker exec sdnc cat /opt/opendaylight/data/log/karaf.log | grep 'warp coils' - - if [ $? == 0 ] ; then - echo SDNC karaf started in $TIME seconds - break; - fi - - echo Sleep: $INTERVAL seconds before testing if SDNC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds - sleep $INTERVAL - TIME=$(($TIME+$INTERVAL)) -done - -if [ "$TIME" -ge "$TIME_OUT" ]; then - echo TIME OUT: karaf session not started in $TIME_OUT seconds, setup failed - exit 1; -fi - -# Check if certificate installation is done -TIME_OUT=300 -INTERVAL=10 -TIME=0 -while [ "$TIME" -lt "$TIME_OUT" ]; do - - docker-compose -f "${SCRIPTS}"/sdnc/sdnc/docker-compose.yml logs sdnc | grep 'Everything OK in Certificate Installation' - - if [ $? == 0 ] ; then - echo SDNC karaf started in $TIME seconds - break; - fi - - echo Sleep: $INTERVAL seconds before testing if SDNC is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds - sleep $INTERVAL - TIME=$(($TIME+$INTERVAL)) -done - -if [ "$TIME" -ge "$TIME_OUT" ]; then - echo TIME OUT: karaf session not started in $TIME_OUT seconds, setup failed - exit 1; -fi - -# Update default Networking bridge IP in mount.json file -sed -i "s/pnfaddr/${LOCAL_IP}/g" "${REQUEST_DATA_PATH}"/mount.xml - -######################################################################### - -# Export SDNC, AAF-Certservice-Cient, Netconf-Pnp-Simulator Continer Names -export REQUEST_DATA_PATH="${REQUEST_DATA_PATH}" -export SDNC_CONTAINER_NAME="${SDNC_CONTAINER_NAME}" -export CLIENT_CONTAINER_NAME="${CLIENT_CONTAINER_NAME}" -export NETCONF_PNP_SIM_CONTAINER_NAME="${NETCONF_PNP_SIM_CONTAINER_NAME}" - -REPO_IP='127.0.0.1' -ROBOT_VARIABLES+=" -v REPO_IP:${REPO_IP} " -ROBOT_VARIABLES+=" -v SCRIPTS:${SCRIPTS} " - -echo "Finished executing setup for SDNC-Netconf-TLS-Post-Deploy" diff --git a/plans/sdnc/sdnc_netconf_tls_post_deploy/teardown.sh b/plans/sdnc/sdnc_netconf_tls_post_deploy/teardown.sh deleted file mode 100644 index bbf4d075..00000000 --- a/plans/sdnc/sdnc_netconf_tls_post_deploy/teardown.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -# -# Copyright 2017 ZTE, Inc. and others. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - - -docker-compose -f "${SCRIPTS}"/sdnc/sdnc/docker-compose.yml down -v -docker-compose -f "${SCRIPTS}"/sdnc/pnf-simulator/netconfsimulator/docker-compose.yml down -v - - diff --git a/plans/sdnc/sdnc_netconf_tls_post_deploy/testplan.txt b/plans/sdnc/sdnc_netconf_tls_post_deploy/testplan.txt deleted file mode 100644 index a0bffe5c..00000000 --- a/plans/sdnc/sdnc_netconf_tls_post_deploy/testplan.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Test suites are relative paths under [integration/csit.git]/tests/. -# Place the suites in run order. -sdnc/sdnc_netconf_tls_post_deploy - diff --git a/scripts/sdnc/certservice/certprofile/certprofile_MY_ENDUSER-1667220921.xml b/scripts/sdnc/certservice/certprofile/certprofile_MY_ENDUSER-1667220921.xml deleted file mode 100644 index 92fbdee5..00000000 --- a/scripts/sdnc/certservice/certprofile/certprofile_MY_ENDUSER-1667220921.xml +++ /dev/null @@ -1,594 +0,0 @@ - - - - - version - 46.0 - - - type - 1 - - - certversion - X509v3 - - - encodedvalidity - 2y - - - usecertificatevalidityoffset - false - - - certificatevalidityoffset - -10m - - - useexpirationrestrictionforweekdays - false - - - expirationrestrictionforweekdaysbefore - true - - - expirationrestrictionweekdays - - - true - - - true - - - false - - - false - - - false - - - true - - - true - - - - - allowvalidityoverride - false - - - allowextensionoverride - false - - - allowdnoverride - false - - - allowdnoverridebyeei - false - - - allowbackdatedrevokation - false - - - usecertificatestorage - true - - - storecertificatedata - true - - - storesubjectaltname - true - - - usebasicconstrants - true - - - basicconstraintscritical - true - - - usesubjectkeyidentifier - true - - - subjectkeyidentifiercritical - false - - - useauthoritykeyidentifier - true - - - authoritykeyidentifiercritical - false - - - usesubjectalternativename - true - - - subjectalternativenamecritical - false - - - useissueralternativename - true - - - issueralternativenamecritical - false - - - usecrldistributionpoint - false - - - usedefaultcrldistributionpoint - false - - - crldistributionpointcritical - false - - - crldistributionpointuri - - - - usefreshestcrl - false - - - usecadefinedfreshestcrl - false - - - freshestcrluri - - - - crlissuer - - - - usecertificatepolicies - false - - - certificatepoliciescritical - false - - - certificatepolicies - - - - availablekeyalgorithms - - - DSA - - - ECDSA - - - RSA - - - - - availableeccurves - - - ANY_EC_CURVE - - - - - availablebitlengths - - - 0 - - - 192 - - - 224 - - - 239 - - - 256 - - - 384 - - - 512 - - - 521 - - - 1024 - - - 1536 - - - 2048 - - - 3072 - - - 4096 - - - 6144 - - - 8192 - - - - - minimumavailablebitlength - 0 - - - maximumavailablebitlength - 8192 - - - signaturealgorithm - - - - usekeyusage - true - - - keyusage - - - true - - - true - - - true - - - false - - - false - - - false - - - false - - - false - - - false - - - - - allowkeyusageoverride - false - - - keyusagecritical - true - - - useextendedkeyusage - true - - - extendedkeyusage - - - 1.3.6.1.5.5.7.3.2 - - - 1.3.6.1.5.5.7.3.4 - - - 1.3.6.1.5.5.7.3.1 - - - - - extendedkeyusagecritical - false - - - usedocumenttypelist - false - - - documenttypelistcritical - false - - - documenttypelist - - - - availablecas - - - -1 - - - 1295313472 - - - - - usedpublishers - - - - useocspnocheck - false - - - useldapdnorder - true - - - usecustomdnorder - false - - - usemicrosofttemplate - false - - - microsofttemplate - - - - usecardnumber - false - - - usecnpostfix - false - - - cnpostfix - - - - usesubjectdnsubset - false - - - subjectdnsubset - - - - usesubjectaltnamesubset - false - - - subjectaltnamesubset - - - - usepathlengthconstraint - false - - - pathlengthconstraint - 0 - - - useqcstatement - false - - - usepkixqcsyntaxv2 - false - - - useqcstatementcritical - false - - - useqcstatementraname - - - - useqcsematicsid - - - - useqcetsiqccompliance - false - - - useqcetsisignaturedevice - false - - - useqcetsivaluelimit - false - - - qcetsivaluelimit - 0 - - - qcetsivaluelimitexp - 0 - - - qcetsivaluelimitcurrency - - - - useqcetsiretentionperiod - false - - - qcetsiretentionperiod - 0 - - - useqccustomstring - false - - - qccustomstringoid - - - - qccustomstringtext - - - - qcetsipds - - - - qcetsitype - - - - usecertificatetransparencyincerts - false - - - usecertificatetransparencyinocsp - false - - - usecertificatetransparencyinpublisher - false - - - usesubjectdirattributes - false - - - usenameconstraints - false - - - useauthorityinformationaccess - false - - - caissuers - - - - usedefaultcaissuer - false - - - usedefaultocspservicelocator - false - - - ocspservicelocatoruri - - - - cvcaccessrights - 3 - - - usedcertificateextensions - - - - approvals - - - - org.cesecore.certificates.ca.ApprovalRequestType - KEYRECOVER - - -1 - - - - org.cesecore.certificates.ca.ApprovalRequestType - ADDEDITENDENTITY - - -1 - - - - org.cesecore.certificates.ca.ApprovalRequestType - REVOCATION - - -1 - - - - - useprivkeyusageperiodnotbefore - false - - - useprivkeyusageperiod - false - - - useprivkeyusageperiodnotafter - false - - - privkeyusageperiodstartoffset - 0 - - - privkeyusageperiodlength - 63072000 - - - usesingleactivecertificateconstraint - false - - - overridableextensionoids - - - - nonoverridableextensionoids - - - - usecustomdnorderldap - false - - - diff --git a/scripts/sdnc/certservice/certprofile/entityprofile_My_EndEntity-161023208.xml b/scripts/sdnc/certservice/certprofile/entityprofile_My_EndEntity-161023208.xml deleted file mode 100644 index cad4ca7f..00000000 --- a/scripts/sdnc/certservice/certprofile/entityprofile_My_EndEntity-161023208.xml +++ /dev/null @@ -1,917 +0,0 @@ - - - - - version - 14.0 - - - NUMBERARRAY - - - 1 - - - 1 - - - 0 - - - 0 - - - 0 - - - 1 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - 1 - - - 0 - - - 2 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 1 - - - 0 - - - 0 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - 0 - - - 1 - - - 1 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 1 - - - 1 - - - 0 - - - 1 - - - 0 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - 0 - - - 0 - - - - - SUBJECTDNFIELDORDER - - - 500 - - - 1100 - - - 1200 - - - 1300 - - - 1400 - - - 1600 - - - - - SUBJECTALTNAMEFIELDORDER - - - 1800 - - - 1801 - - - - - SUBJECTDIRATTRFIELDORDER - - - - 0 - - - - 20000 - true - - - 10000 - true - - - 30000 - true - - - 1 - - - - 20001 - true - - - 10001 - true - - - 30001 - true - - - 95 - - - - 20095 - false - - - 10095 - true - - - 30095 - true - - - 96 - - - - 20096 - false - - - 10096 - true - - - 30096 - true - - - 5 - - - - 20005 - true - - - 10005 - true - - - 30005 - true - - - 26 - - - - 20026 - false - - - 10026 - true - - - 30026 - true - - - 29 - 1667220921 - - - 20029 - true - - - 10029 - true - - - 30029 - true - - - 30 - 1667220921 - - - 20030 - true - - - 10030 - true - - - 30030 - true - - - 31 - 1 - - - 20031 - true - - - 10031 - true - - - 30031 - true - - - 32 - 1;2;3;4 - - - 20032 - true - - - 10032 - true - - - 30032 - true - - - 33 - - - - 20033 - true - - - 10033 - true - - - 30033 - true - - - 34 - - - - 20034 - true - - - 10034 - false - - - 30034 - true - - - 38 - 1295313472 - - - 20038 - true - - - 10038 - true - - - 30038 - true - - - 37 - 1295313472 - - - 20037 - true - - - 10037 - true - - - 30037 - true - - - 98 - - - - 20098 - false - - - 10098 - false - - - 30098 - true - - - 99 - - - - 20099 - false - - - 10099 - false - - - 30099 - true - - - 97 - - - - 20097 - false - - - 10097 - false - - - 30097 - true - - - 91 - false - - - 20091 - false - - - 10091 - false - - - 30091 - true - - - 94 - -1 - - - 20094 - true - - - 10094 - false - - - 30094 - false - - - 93 - -1 - - - 20093 - false - - - 10093 - false - - - 30093 - false - - - 89 - - - - 20089 - false - - - 10089 - false - - - 30089 - true - - - 88 - - - - 20088 - false - - - 10088 - false - - - 30088 - true - - - ALLOW_MERGEDN_WEBSERVICES - false - - - 2 - - - - 20002 - false - - - 10002 - false - - - 10090 - true - - - 90 - 0 - - - REVERSEFFIELDCHECKS - false - - - 28 - false - - - 20028 - false - - - 10028 - false - - - REUSECERTIFICATE - false - - - 35 - false - - - 20035 - false - - - 10035 - false - - - 10092 - false - - - USEEXTENSIONDATA - false - - - PRINTINGUSE - false - - - PRINTINGDEFAULT - false - - - PRINTINGREQUIRED - false - - - PRINTINGCOPIES - 1 - - - PRINTINGPRINTERNAME - - - - PRINTINGSVGDATA - - - - PRINTINGSVGFILENAME - - - - 11 - - - - 20011 - true - - - 10011 - true - - - 30011 - true - - - 12 - - - - 20012 - true - - - 10012 - true - - - 30012 - true - - - 13 - - - - 20013 - true - - - 10013 - true - - - 30013 - true - - - 14 - - - - 20014 - true - - - 10014 - true - - - 30014 - true - - - 16 - - - - 20016 - true - - - 10016 - true - - - 30016 - true - - - 18 - - - - 20018 - true - - - 10018 - true - - - 30018 - true - - - 118 - - - - 20118 - true - - - 10118 - true - - - 30118 - true - - - diff --git a/scripts/sdnc/certservice/config/cmpServers.json b/scripts/sdnc/certservice/config/cmpServers.json deleted file mode 100644 index ce427c53..00000000 --- a/scripts/sdnc/certservice/config/cmpServers.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "cmpv2Servers": [ - { - "caName": "Client", - "url": "http://aafcert-ejbca:8080/ejbca/publicweb/cmp/cmp", - "issuerDN": "CN=My_ManagementCA", - "caMode": "CLIENT", - "authentication": { - "iak": "mypassword", - "rv": "mypassword" - } - }, - { - "caName": "RA", - "url": "http://aafcert-ejbca:8080/ejbca/publicweb/cmp/cmpRA", - "issuerDN": "CN=My_ManagementCA", - "caMode": "RA", - "authentication": { - "iak": "mypassword", - "rv": "mypassword" - } - } - ] -} diff --git a/scripts/sdnc/certservice/docker-compose.yml b/scripts/sdnc/certservice/docker-compose.yml deleted file mode 100644 index 6e4c4b60..00000000 --- a/scripts/sdnc/certservice/docker-compose.yml +++ /dev/null @@ -1,46 +0,0 @@ -version: "2.1" - -services: - ejbca: - image: primekey/ejbca-ce:6.15.2.5 - hostname: cahostname - container_name: aafcert-ejbca - ports: - - "80:8080" - - "443:8443" - volumes: - - $SCRIPTS_PATH:/opt/primekey/scripts - - $CERT_PROFILE:/opt/primekey/certprofile - healthcheck: - test: ["CMD-SHELL", "curl -kI https://localhost:8443/ejbca/publicweb/healthcheck/ejbcahealth"] - interval: 20s - timeout: 3s - retries: 9 - networks: - - certservice - - aaf-cert-service: - image: nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-api:latest - volumes: - - $CONFIGURATION_PATH:/etc/onap/aaf/certservice/cmpServers.json - - $AAF_INITIAL_CERTS/truststore.jks:/etc/onap/aaf/certservice/certs/truststore.jks - - $AAF_INITIAL_CERTS/root.crt:/etc/onap/aaf/certservice/certs/root.crt - - $AAF_INITIAL_CERTS/certServiceServer-keystore.jks:/etc/onap/aaf/certservice/certs/certServiceServer-keystore.jks - - $AAF_INITIAL_CERTS/certServiceServer-keystore.p12:/etc/onap/aaf/certservice/certs/certServiceServer-keystore.p12 - container_name: aaf-cert-service - ports: - - "8443:8443" - depends_on: - ejbca: - condition: service_healthy - healthcheck: - test: ["CMD-SHELL", "curl https://localhost:8443/actuator/health --cacert /etc/onap/aaf/certservice/certs/root.crt --cert-type p12 --cert /etc/onap/aaf/certservice/certs/certServiceServer-keystore.p12 --pass secret"] - interval: 10s - timeout: 3s - retries: 15 - networks: - - certservice - -networks: - certservice: - driver: bridge \ No newline at end of file diff --git a/scripts/sdnc/certservice/scripts/cmp.cmpRA.dump b/scripts/sdnc/certservice/scripts/cmp.cmpRA.dump deleted file mode 100644 index 900e676d..00000000 --- a/scripts/sdnc/certservice/scripts/cmp.cmpRA.dump +++ /dev/null @@ -1,6 +0,0 @@ -cmpRA.operationmode = ra -cmpRA.responseprotection = pbe -cmpRA.ra.endentityprofileid = 161023208 -cmpRA.ra.certificateprofile = MY_ENDUSER -cmpRA.ra.caname = My_ManagementCA -cmpRA.allowautomatickeyupdate = true \ No newline at end of file diff --git a/scripts/sdnc/certservice/scripts/ejbca-configuration.sh b/scripts/sdnc/certservice/scripts/ejbca-configuration.sh deleted file mode 100755 index 64045a7f..00000000 --- a/scripts/sdnc/certservice/scripts/ejbca-configuration.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -configureEjbca() { - ejbca.sh ca init My_ManagementCA "C=SE,O=PrimeKey,CN=My_ManagementCA" soft foo123 2048 RSA 365 --policy 2.5.29.32.0 SHA256WithRSA - ejbca.sh ca editca --caname My_ManagementCA --field cmpRaAuthSecret --value mypassword - ejbca.sh config cmp addalias --alias cmpRA - ejbca.sh ca importprofiles -d /opt/primekey/certprofile - ejbca.sh config cmp uploadfile --alias cmpRA --file /opt/primekey/scripts/cmp.cmpRA.dump - ejbca.sh config cmp dumpalias --alias cmpRA - ejbca.sh ca getcacert --caname My_ManagementCA -f /dev/stdout > cacert.pem -} - -configureEjbca diff --git a/scripts/sdnc/script1.sh b/scripts/sdnc/script1.sh deleted file mode 100644 index 9bd1a225..00000000 --- a/scripts/sdnc/script1.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# -# Copyright 2016-2017 Huawei Technologies Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Modifications copyright (c) 2017 AT&T Intellectual Property -# - -echo "This is ${WORKSPACE}/scripts/sdnc/script1.sh" diff --git a/scripts/sdnc/sdnc/certs/certs.properties b/scripts/sdnc/sdnc/certs/certs.properties deleted file mode 100644 index f8f3fa72..00000000 --- a/scripts/sdnc/sdnc/certs/certs.properties +++ /dev/null @@ -1,2 +0,0 @@ -keys0.zip -***** diff --git a/scripts/sdnc/sdnc/certs/keys0.zip b/scripts/sdnc/sdnc/certs/keys0.zip deleted file mode 100644 index 6f7f756b..00000000 Binary files a/scripts/sdnc/sdnc/certs/keys0.zip and /dev/null differ diff --git a/scripts/sdnc/sdnc/config/mount.xml b/scripts/sdnc/sdnc/config/mount.xml deleted file mode 100644 index 04305252..00000000 --- a/scripts/sdnc/sdnc/config/mount.xml +++ /dev/null @@ -1,14 +0,0 @@ - - PNFDemo - - ODL_private_key_0 - netconf - - pnfaddr - 6513 - false - - TLS - - 5 - diff --git a/scripts/sdnc/sdnc/docker-compose.yml b/scripts/sdnc/sdnc/docker-compose.yml deleted file mode 100755 index 61bf8b6e..00000000 --- a/scripts/sdnc/sdnc/docker-compose.yml +++ /dev/null @@ -1,75 +0,0 @@ -version: '3' - -services: - mariadb: - image: nexus3.onap.org:10001/mariadb:10.1.11 - ports: - - "3306:3306" - container_name: mariadb - volumes: - - /etc/localtime:/etc/localtime:ro - environment: - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - - MYSQL_USER=${MYSQL_USER} - - MYSQL_PASSWORD=${MYSQL_PASSWORD} - - MYSQL_DATABASE=${MYSQL_DATABASE} - hostname: - mariadb.so.testlab.onap.org - logging: - driver: "json-file" - options: - max-size: "30m" - max-file: "5" - - sdnc: - image: onap/sdnc-image:latest - container_name: sdnc - volumes: - - /etc/localtime:/etc/localtime:ro - - $SDNC_CERT_PATH:/opt/opendaylight/current/certs - entrypoint: ["/opt/onap/sdnc/bin/startODL.sh"] - ports: - - "8282:8181" - hostname: - sdnc - links: - - mariadb:dbhost - - mariadb:sdnctldb01 - - mariadb:sdnctldb02 - environment: - - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD} - - MYSQL_USER=${MYSQL_USER} - - MYSQL_PASSWORD=${MYSQL_PASSWORD} - - MYSQL_DATABASE=${MYSQL_DATABASE} - - SDNC_CONFIG_DIR=/opt/onap/sdnc/data/properties - - SDNC_BIN=/opt/onap/sdnc/bin - - ODL_CERT_DIR=/tmp - - ODL_ADMIN_USERNAME=${ODL_USER} - - ODL_ADMIN_PASSWORD=${ODL_PASSWORD} - - ODL_USER=${ODL_USER} - - ODL_PASSWORD=${ODL_PASSWORD} - - ODL_CERT_DIR=/opt/opendaylight/current/certs - - SDNC_DB_INIT=true - - HONEYCOMB_USER=${HONEYCOMB_USER} - - HONEYCOMB_PASSWORD=${HONEYCOMB_PASSWORD} - - TRUSTSTORE_PASSWORD=${TRUSTSTORE_PASSWORD} - - KEYSTORE_PASSWORD=${KEYSTORE_PASSWORD} - - SO_USER=${SO_USER} - - SO_PASSWORD=${SO_PASSWORD} - - NENG_USER=${NENG_USER} - - NENG_PASSWORD=${NENG_PASSWORD} - - CDS_USER=${CDS_USER} - - CDS_PASSWORD=${CDS_PASSWORD} - - ANSIBLE_USER=${ANSIBLE_USER} - - ANSIBLE_PASSWORD=${ANSIBLE_PASSWORD} - - SQL_CRYPTKEY=${SQL_CRYPTKEY} - - A1_TRUSTSTORE_PASSWORD=a1adapter - depends_on: - - mariadb - dns: - - ${DNS_IP_ADDR-10.0.100.1} - logging: - driver: "json-file" - options: - max-size: "30m" - max-file: "5" diff --git a/tests/sdnc/healthcheck/__init__.robot b/tests/sdnc/healthcheck/__init__.robot deleted file mode 100644 index 8dac1b6a..00000000 --- a/tests/sdnc/healthcheck/__init__.robot +++ /dev/null @@ -1,2 +0,0 @@ -*** Settings *** -Documentation SDNC - healthcheck diff --git a/tests/sdnc/healthcheck/data/data.json b/tests/sdnc/healthcheck/data/data.json deleted file mode 100644 index 583e26fb..00000000 --- a/tests/sdnc/healthcheck/data/data.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "input" : { - } -} diff --git a/tests/sdnc/healthcheck/data/preload.json b/tests/sdnc/healthcheck/data/preload.json deleted file mode 100644 index b53afa85..00000000 --- a/tests/sdnc/healthcheck/data/preload.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "input": { - "vnf-topology-information": { - "vnf-topology-identifier": { - "service-type": "robot_demo", - "vnf-name": "vf_robot_module", - "vnf-type": "vf_robot_type", - "generic-vnf-name": "generic_vnf_name", - "generic-vnf-type": "generic_vnf_type" - }, - "vnf-assignments": { - "availability-zones": [], - "vnf-networks": [], - "vnf-vms": [] - }, - "vnf-parameters": [ - { - "vnf-parameter-name": "ngm1_management_ip_0", - "vnf-parameter-value":"127.0.0.1" - }, - { - "vnf-parameter-name": "ngm2_management_ip_1", - "vnf-parameter-value":"127.0.0.2" - } - ] - }, - "request-information": { - "request-id": "robot12", - "order-version": "1", - "notification-url": "openecomp.org", - "order-number": "1", - "request-action": "PreloadVNFRequest" - }, - "sdnc-request-header": { - "svc-request-id": "robot12", - "svc-notification-url": "http:\/\/openecomp.org:8080\/adapters\/rest\/SDNCNotify", - "svc-action": "reserve" - } - } -} - diff --git a/tests/sdnc/healthcheck/test1.robot b/tests/sdnc/healthcheck/test1.robot deleted file mode 100644 index 85783a79..00000000 --- a/tests/sdnc/healthcheck/test1.robot +++ /dev/null @@ -1,27 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library json -Library String - -*** Variables *** -${SDN_APIDOCS_URI} /apidoc/openapi3/18/apis/single -${SDN_HEALTHCHECK_OPERATION_PATH} /operations/SLI-API:healthcheck - -*** Test Cases *** - -Healthcheck API - Create Session sdnc http://localhost:8282/restconf - ${data}= Get File ${CURDIR}${/}data${/}data.json - &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json - ${resp}= Post Request sdnc ${SDN_HEALTHCHECK_OPERATION_PATH} data=${data} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 200 - Should Be Equal As Strings ${resp.json()['output']['response-code']} 200 - -Check SLI-API - Create Session sdnc http://localhost:8282 - &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json - ${resp}= Get Request sdnc ${SDN_APIDOCS_URI} headers=${headers} - Log ${resp.text} - Should Contain ${resp.text} SLI-API diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/__init__.robot b/tests/sdnc/sdnc_netconf_tls_post_deploy/__init__.robot deleted file mode 100644 index d7353060..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/__init__.robot +++ /dev/null @@ -1,2 +0,0 @@ -1 *** Settings *** -2 Documentation SDNC - keystorecheck diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/csr/netconf_pnp_simulator_csr.env b/tests/sdnc/sdnc_netconf_tls_post_deploy/csr/netconf_pnp_simulator_csr.env deleted file mode 100644 index e85ab6cc..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/csr/netconf_pnp_simulator_csr.env +++ /dev/null @@ -1,17 +0,0 @@ -#Client Envs -REQUEST_TIMEOUT=30000 -OUTPUT_PATH=/var/certs -CA_NAME=RA -OUTPUT_TYPE=P12 -KEYSTORE_PATH=/etc/onap/aaf/certservice/certs/certServiceClient-keystore.jks -KEYSTORE_PASSWORD=secret -TRUSTSTORE_PATH=/etc/onap/aaf/certservice/certs/truststore.jks -TRUSTSTORE_PASSWORD=secret -#CSR Config Envs -COMMON_NAME=netconf.pnp.simulator.onap.org -ORGANIZATION=Linux-Foundation -ORGANIZATION_UNIT=ONAP -LOCATION=San-Francisco -STATE=California -COUNTRY=US -SANS=netconf.com:netconfsimulator.com diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/csr/sdnc_csr.env b/tests/sdnc/sdnc_netconf_tls_post_deploy/csr/sdnc_csr.env deleted file mode 100644 index 5d647de6..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/csr/sdnc_csr.env +++ /dev/null @@ -1,17 +0,0 @@ -#Client CSR -REQUEST_TIMEOUT=30000 -OUTPUT_PATH=/var/certs -CA_NAME=RA -OUTPUT_TYPE=PEM -KEYSTORE_PATH=/etc/onap/aaf/certservice/certs/certServiceClient-keystore.jks -KEYSTORE_PASSWORD=secret -TRUSTSTORE_PATH=/etc/onap/aaf/certservice/certs/truststore.jks -TRUSTSTORE_PASSWORD=secret -#CSR Config Envs -COMMON_NAME=sdnc.onap.org -ORGANIZATION=Linux-Foundation -ORGANIZATION_UNIT=ONAP -LOCATION=San-Francisco -STATE=California -COUNTRY=US -SANS=example.com:sample.com \ No newline at end of file diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/ClientManager.py b/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/ClientManager.py deleted file mode 100644 index b1c024ff..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/ClientManager.py +++ /dev/null @@ -1,207 +0,0 @@ -# ============LICENSE_START======================================================= -# Copyright (C) 2020 Nordix Foundation. -# ================================================================================ -# 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -__author__ = "Ajay Deep Singh (ajay.deep.singh@est.tech)" -__copyright__ = "Copyright (C) 2020 Nordix Foundation" -__license__ = "Apache 2.0" - -import os -import shutil -import subprocess - -import docker -from OpenSSL import crypto -from docker.types import Mount - -DEV_NULL = open(os.devnull, 'wb') -NETCONF_PNP_SIM_CONTAINER_NAME = 'netconf-simulator' -ARCHIVES_PATH = os.getenv("WORKSPACE") + "/archives/" - - -class ClientManager: - - def __init__(self, mount_path, truststore_path): - self.mount_path = mount_path - self.truststore_path = truststore_path - self.keyPem = mount_path + '/key.pem' - self.caCertPem = mount_path + '/ca.pem' - self.serverKeyPem = mount_path + '/server_key.pem' - self.serverCertPem = mount_path + '/server_cert.pem' - self.keystorePemPath = mount_path + '/keystore.pem' - self.keystoreP12Path = mount_path + '/keystore.p12' - self.keystorePassPath = mount_path + '/keystore.pass' - self.truststorePemPath = mount_path + '/truststore.pem' - self.truststoreP12Path = mount_path + '/truststore.p12' - self.truststorePassPath = mount_path + '/truststore.pass' - - # Function Create docker container. - def run_client_container(self, client_image, container_name, path_to_env, request_url, network): - self.create_mount_dir() - client = docker.from_env() - environment = self.read_env_list_from_file(path_to_env) - environment.append("REQUEST_URL=" + request_url) - container = client.containers.run( - image=client_image, - name=container_name, - environment=environment, - network=network, - user='root', - mounts=[Mount(target='/var/certs', source=self.mount_path, type='bind'), - Mount(target='/etc/onap/aaf/certservice/certs/', source=self.truststore_path, type='bind')], - detach=True - ) - exitcode = container.wait() - return exitcode - - # Function to validate keystore/truststore can be opened with generated pass-phrase. - def can_open_keystore_and_truststore_with_pass(self, container_name): - if container_name != NETCONF_PNP_SIM_CONTAINER_NAME: - return self.can_open_keystore_and_truststore_pem_files() - else: - return self.can_open_keystore_and_truststore_p12_files() - - # Function to validate keystore.pem/truststore.pem exist and are not empty. - def can_open_keystore_and_truststore_pem_files(self): - try: - private_key = self.file_exist_and_not_empty(self.keyPem) - keystore_pem = self.file_exist_and_not_empty(self.keystorePemPath) - truststore_pem = self.file_exist_and_not_empty(self.truststorePemPath) - return private_key and keystore_pem and truststore_pem - except Exception as e: - print("UnExpected Error in validating keystore.pem/truststore.pem: {0}".format(e)) - return False - - # Function to validate keystore.p12/truststore.p12 can be opened with generated pass-phrase. - def can_open_keystore_and_truststore_p12_files(self): - can_open_keystore = self.can_open_p12_file_with_pass_file(self.keystorePassPath, self.keystoreP12Path) - can_open_truststore = self.can_open_p12_file_with_pass_file(self.truststorePassPath, self.truststoreP12Path) - return can_open_keystore & can_open_truststore - - # Method for Uploading Certificate in SDNC-Container. - # Creating/Uploading Server-key, Server-cert, Ca-cert PEM files in Netconf-Pnp-Simulator. - def can_install_keystore_and_truststore_certs(self, cmd, cmd_tls, container_name): - continue_exec = True - if container_name == NETCONF_PNP_SIM_CONTAINER_NAME: - print("Generating PEM files for {0} from P12 files".format(container_name)) - continue_exec = self.create_pem(self.keystorePassPath, self.keystoreP12Path, self.truststorePassPath, - self.truststoreP12Path) - else: - cmd = cmd_tls - if continue_exec: - print("Initiate Configuration Push for : {0}".format(container_name)) - resp_code = self.execute_bash_config(cmd, container_name) - if resp_code == 0: - print("Execution Successful for: {0}".format(container_name)) - return True - else: - print("Execution Failed for: {0}".format(container_name)) - return False - - def create_pem(self, keystore_pass_path, keystore_p12_path, truststore_pass_path, truststore_p12_path): - # Create [server_key.pem, server_cert.pem, ca.pem] files for Netconf-Pnp-Simulation/TLS Configuration. - try: - with open(self.serverKeyPem, "wb+") as key_file: - key_file.write(crypto.dump_privatekey(crypto.FILETYPE_PEM, - self.get_pkcs12(keystore_pass_path, - keystore_p12_path).get_privatekey())) - with open(self.serverCertPem, "wb+") as server_cert_file: - server_cert_file.write(crypto.dump_certificate(crypto.FILETYPE_PEM, - self.get_pkcs12(keystore_pass_path, - keystore_p12_path).get_certificate())) - with open(self.caCertPem, "wb+") as ca_cert_file: - ca_cert_file.write( - crypto.dump_certificate(crypto.FILETYPE_PEM, - self.get_pkcs12(truststore_pass_path, - truststore_p12_path).get_ca_certificates()[0])) - return True - except IOError as err: - print("I/O Error: {0}".format(err)) - return False - except Exception as e: - print("UnExpected Error: {0}".format(e)) - return False - - def can_open_p12_file_with_pass_file(self, pass_file_path, p12_file_path): - try: - if p12_file_path.split('/')[-1] == 'truststore.p12': - pkcs12 = self.get_pkcs12(pass_file_path, p12_file_path).get_ca_certificates()[0] - else: - pkcs12 = self.get_pkcs12(pass_file_path, p12_file_path).get_certificate() - if pkcs12 is None: - return False - return True - except IOError as err: - print("I/O Error PKCS12 Creation failed: {0}".format(err)) - return False - except Exception as e: - print("UnExpected Error PKCS12 Creation failed: {0}".format(e)) - return False - - def remove_client_container_and_save_logs(self, container_name, log_file_name): - client = docker.from_env() - container = client.containers.get(container_name) - text_file = open(ARCHIVES_PATH + container_name + '_' + log_file_name + ".log", "w") - text_file.write(container.logs()) - text_file.close() - container.remove() - self.remove_mount_dir() - - def create_mount_dir(self): - if not os.path.exists(self.mount_path): - os.makedirs(self.mount_path) - - def remove_mount_dir(self): - shutil.rmtree(self.mount_path) - - def file_exist_and_not_empty(self, path_to_file): - return os.path.isfile(path_to_file) and os.path.getsize(path_to_file) > 0 - - @staticmethod - def get_pkcs12(pass_file_path, p12_file_path): - # Load PKCS12 Object - password = open(pass_file_path, 'rb').read() - return crypto.load_pkcs12(open(p12_file_path, 'rb').read(), password) - - @staticmethod - def execute_bash_config(cmd, container_name): - # Run command with arguments. Wait for command to complete or timeout, return code attribute. - try: - resp_code = subprocess.call(["%s %s" % (cmd, container_name)], shell=True, stdout=DEV_NULL, - stderr=subprocess.STDOUT) - print("Response Code from Config.sh execution: {0}".format(resp_code)) - return resp_code - except subprocess.CalledProcessError as e: - print("CalledProcessError Certificate installation failed in SDNC-ODL Container: {0}".format(e)) - return 1 # Return Error Code - - @staticmethod - def get_container_logs(container_name): - client = docker.from_env() - container = client.containers.get(container_name) - logs = container.logs() - return logs - - @staticmethod - def read_env_list_from_file(path): - f = open(path, "r") - r_list = [] - for line in f: - line = line.strip() - if line[0] != "#": - r_list.append(line) - return r_list diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config.sh b/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config.sh deleted file mode 100755 index cc6bf188..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/bash - -# -# ============LICENSE_START======================================================= -# Copyright (C) 2020 Nordix Foundation. -# ================================================================================ -# 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. -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -# @author Ajay Deep Singh (ajay.deep.singh@est.tech) - -CONTAINER_NAME="$1" -LOGFILE="${WORKSPACE}"/archives/config.log -CONTAINER_ID=$(docker inspect --format="{{.Id}}" "$CONTAINER_NAME") - -OWNER="odl" -DEST_DIR="/tmp" - -CERT_DIR="${WORKSPACE}"/tests/sdnc/sdnc_netconf_tls_post_deploy/cert-data/* - -function now_ms() { - date +"%Y-%m-%d %H:%M:%S.%3N" -} - -function log() { - local level=$1 - shift - local message="$*" - printf "%s %-5s %s\n" "$(now_ms)" "$level" "$message" >>"$LOGFILE" -} - -# Copy [keystore.jks, truststore.jks, truststore.pass, keystore.pass] files into SDNC container. -function docker_cp() { - local file=$1 - docker cp "$file" "$CONTAINER_ID":"$DEST_DIR" - docker exec -u 0 "$CONTAINER_ID" chown "$OWNER":"$OWNER" "$DEST_DIR"/"${file##*/}" -} - -# Run installCerts.py script to push X509 Certificates to SDNC-ODL Keystore/Truststore. -function sdnc_conf() { - log INFO "Configuring SDNC-ODL Keystore..." - count=0 - exit_code=false - for i in {1..4}; do - for file in $CERT_DIR; do - if [[ -f $file ]]; then - log INFO "Uploading file :" "$file" - docker_cp "$file" - count=$((count + 1)) - fi - done - if [[ $count -eq 4 ]]; then - log INFO "SDNC JKS files upload successful" - exit_code=true - break - fi - log DEBUG "Waiting for JKS files to be uploaded to SDNC container.." - sleep 2m - done - if [[ "$exit_code" != "true" ]]; then - log DEBUG "JKS files Not found in $CERT_DIR" - exit 1 # Return error code - fi - sleep 2m - docker exec "$CONTAINER_ID" rm -rf /tmp/certs.properties - docker exec "$CONTAINER_ID" rm -rf /tmp/keys0.zip - if ! docker exec "$CONTAINER_ID" /usr/bin/python /opt/onap/sdnc/bin/installCerts.py; then - log DEBUG "Issue executing installCerts.py script" - docker cp "$CONTAINER_ID":/opt/opendaylight/data/log/installCerts.log "${WORKSPACE}"/archives - exit 1 # Return error code - fi - log INFO "Configuring SDNC-ODL Keystore successful" -} - -# Copy [Server_key.pem, Server_cert.pem, Ca.pem] files into Netconf-Simulator container. -# Reconfigure TLS config by invoking reconfigure-tls.sh script. -function netconf-simulator_conf() { - log INFO "Configuring Netconf-Pnp-Simulator..." - count=0 - exit_code=false - for i in {1..4}; do - for file in $CERT_DIR; do - if [[ -f $file && ${file: -4} == ".pem" ]]; then - log INFO "Uploading file :" "$file" - docker cp "$file" "$CONTAINER_ID":/config/tls - count=$((count + 1)) - fi - done - if [[ $count -eq 3 ]]; then - log INFO "PEM files upload successful" - exit_code=true - break - fi - log DEBUG "Waiting for PEM files to be uploaded to Netconf-Pnp-Simulator.." - sleep 2m - done - if [[ "$exit_code" != "true" ]]; then - log DEBUG "PEM files Not found in $CERT_DIR" - exit 1 # Return error code - fi - sleep 2m - if ! docker exec "$CONTAINER_ID" /opt/bin/reconfigure-tls.sh; then - log DEBUG "Issue executing reconfigure-tls.sh script" - docker logs "$CONTAINER_ID" > "${WORKSPACE}"/archives/simulator.log - exit 1 # Return error code - fi - log INFO "Configuring Netconf-Pnp-Simulator successful" -} - -# Push Config on SDNC, Netconf-Simulator. -if [[ -n $CONTAINER_ID ]]; then - log INFO "Container Name: $CONTAINER_NAME, Container Id: $CONTAINER_ID" - if [[ "$CONTAINER_NAME" == "sdnc" ]]; then - sdnc_conf - elif [[ "$CONTAINER_NAME" == "netconf-simulator" ]]; then - netconf-simulator_conf - fi -fi diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config_tls.sh b/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config_tls.sh deleted file mode 100755 index 323f8100..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config_tls.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash - -# ============LICENSE_START======================================================= -# Copyright (C) 2020 Nordix Foundation. -# ================================================================================ -# 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= - -set -o errexit -set -o pipefail -set -o nounset -[ "${SHELL_XTRACE:-false}" = "true" ] && set -o xtrace - -CONFIG=${CONFIG:-"${WORKSPACE}"/tests/sdnc/sdnc_netconf_tls_post_deploy/cert-data} -CONTAINER_IP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.Gateway}}{{end}}' sdnc) -ODL_URL=${ODL_URL:-http://"${CONTAINER_IP}":8282} -PROC_NAME=${0##*/} -PROC_NAME=${PROC_NAME%.sh} - -function now_ms() { - # Requires coreutils package - date +"%Y-%m-%d %H:%M:%S.%3N" -} - -function log() { - local level=$1 - shift - local message="$*" - printf "%s %-5s [%s] %s\n" "$(now_ms)" $level $PROC_NAME "$message" -} - -# Extracts the body of a PEM file by removing the dashed header and footer -pem_body() { - grep -Fv -- ----- $1 -} - -CA_CERT_ID=xNF_CA_certificate_0_0 -CA_CERT=$(pem_body $CONFIG/truststore.pem) - -SERVER_PRIV_KEY_ID=ODL_private_key_0 -SERVER_KEY=$(pem_body $CONFIG/key.pem) -SERVER_CERT=$(pem_body $CONFIG/keystore.pem) - -RESTCONF_URL=$ODL_URL/restconf -NETCONF_KEYSTORE_PATH=$RESTCONF_URL/config/netconf-keystore:keystore - -xcurl() { - curl -s -o /dev/null -H "Authorization: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==" -w %{http_code} "$@" -} - -log INFO Delete Keystore -sc=$(xcurl -X DELETE $NETCONF_KEYSTORE_PATH) - -if [ "$sc" != "200" -a "$sc" != "404" ]; then - log ERROR "Keystore deletion failed with SC=$sc" - exit 1 -fi - -log INFO Load CA certificate -sc=$(xcurl -X POST $NETCONF_KEYSTORE_PATH --header "Content-Type: application/json" --data " -{ - \"trusted-certificate\": [ - { - \"name\": \"$CA_CERT_ID\", - \"certificate\": \"$CA_CERT\" - } - ] -} -") - -if [ "$sc" != "200" -a "$sc" != "204" ]; then - log ERROR Trusted-certificate update failed with SC=$sc - exit 1 -fi - -log INFO Load server private key and certificate -sc=$(xcurl -X POST $NETCONF_KEYSTORE_PATH --header "Content-Type: application/json" --data " -{ - \"private-key\": { - \"name\": \"$SERVER_PRIV_KEY_ID\", - \"certificate-chain\": [ - \"$SERVER_CERT\" - ], - \"data\": \"$SERVER_KEY\" - } -} -") - -if [ "$sc" != "200" -a "$sc" != "204" ]; then - log ERROR Private-key update failed with SC=$sc - exit 1 -fi \ No newline at end of file diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/resources/sdnc-keywords.robot b/tests/sdnc/sdnc_netconf_tls_post_deploy/resources/sdnc-keywords.robot deleted file mode 100644 index 3ea61649..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/resources/sdnc-keywords.robot +++ /dev/null @@ -1,82 +0,0 @@ -*** Settings *** - -Resource ../../../common.robot -Resource ./sdnc-properties.robot - -Library Collections -Library RequestsLibrary -Library HttpLibrary.HTTP -Library ../libraries/ClientManager.py ${MOUNT_PATH} ${TRUSTSTORE_PATH} - -*** Keywords *** - -Create sessions - [Documentation] Create all required sessions - ${certs}= Create List ${CERTSERVICE_SERVER_CRT} ${CERTSERVICE_SERVER_KEY} - Create Client Cert Session alias ${AAFCERT_URL} client_certs=${certs} verify=${ROOTCA} disable_warnings=1 - Set Suite Variable ${https_valid_cert_session} alias - -Run Healthcheck - [Documentation] Run Healthcheck - ${resp}= Get Request ${https_valid_cert_session} /actuator/health - Should Be Equal As Strings ${resp.status_code} 200 - Validate Recieved Response ${resp} status UP - -Validate Recieved Response - [Documentation] Validate message that has been received - [Arguments] ${resp} ${key} ${expected_value} - ${json}= Parse Json ${resp.content} - ${value}= Get From Dictionary ${json} ${key} - Should Be Equal As Strings ${value} ${expected_value} - -Send Get Request And Validate Response - [Documentation] Send request to passed url and validate received response - [Arguments] ${path} ${resp_code} - ${resp}= Get Request ${https_valid_cert_session} ${path} - Should Be Equal As Strings ${resp.status_code} ${resp_code} - -Send Get Request And Validate Response Sdnc - [Documentation] Send request to passed url and validate received response - [Arguments] ${path} ${resp_code} - Create Session sdnc_restconf ${SDNC_RESTCONF_URL} - &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json - ${resp}= Get Request sdnc_restconf ${path} headers=${headers} - Should Be Equal As Strings ${resp.status_code} ${resp_code} - -Send Get Request And Validate TLS Connection Response - [Documentation] Send request to passed url and validate received response - [Arguments] ${path} ${resp_code} - Create Session sdnc_restconf ${SDNC_RESTCONF_URL} - ${mount}= Get File ${REQUEST_DATA_PATH}${/}mount.xml - &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/xml Accept=application/xml - ${resp}= Put Request sdnc_restconf ${path} data=${mount} headers=${headers} - Should Be Equal As Strings ${resp.status_code} 201 - Sleep 30 - &{headers1}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json - ${resp1}= Get Request sdnc_restconf ${PNFSIM_MOUNT_PATH} headers=${headers1} - Should Be Equal As Strings ${resp1.status_code} ${resp_code} - -Send Delete Request And Validate PNF Mount Deleted - [Documentation] Send request to passed url and validate received response - [Arguments] ${path} ${resp_code} - Create Session sdnc_restconf ${SDNC_RESTCONF_URL} - ${mount}= Get File ${REQUEST_DATA_PATH}${/}mount.xml - &{headers}= Create Dictionary Authorization=Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ== Content-Type=application/json Accept=application/json - ${deleteresponse}= Delete Request sdnc_restconf ${path} data=${mount} headers=${headers} - Should Be Equal As Strings ${deleteresponse.status_code} ${resp_code} - Sleep 30 - ${del_topology}= Delete Request sdnc_restconf ${SDNC_NETWORK_TOPOLOGY} - ${del_keystore}= Delete Request sdnc_restconf ${SDNC_KEYSTORE_CONFIG_PATH} - Should Be Equal As Strings ${del_keystore.status_code} ${resp_code} - Should Be Equal As Strings ${del_topology.status_code} ${resp_code} - -Run Cert Service Client And Validate JKS File Creation And Client Exit Code - [Documentation] Run Cert Service Client Container And Validate Exit Code For SDNC - [Arguments] ${env_file} ${CONTAINER_NAME} ${expected_exit_code} - ${exit_code}= Run Client Container ${DOCKER_CLIENT_IMAGE} ${CLIENT_CONTAINER_NAME} ${env_file} ${CERT_SERVICE_ADDRESS}${CERT_SERVICE_ENDPOINT} ${CERT_SERVICE_NETWORK} - ${can_open}= Can Open Keystore And Truststore With Pass ${CONTAINER_NAME} - ${install_certs}= Can Install Keystore And Truststore Certs ${CONF_SCRIPT} ${CONF_TLS_SCRIPT} ${CONTAINER_NAME} - Remove Client Container And Save Logs ${CLIENT_CONTAINER_NAME} positive_path - Should Be Equal As Strings ${exit_code} ${expected_exit_code} Client return: ${exitcode} exit code, but expected: ${expected_exit_code} - Should Be True ${can_open} Cannot Open Keystore/TrustStore by Passphrase - Should Be True ${install_certs} Cannot Install Keystore/Truststore \ No newline at end of file diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/resources/sdnc-properties.robot b/tests/sdnc/sdnc_netconf_tls_post_deploy/resources/sdnc-properties.robot deleted file mode 100644 index 2f2d6f5a..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/resources/sdnc-properties.robot +++ /dev/null @@ -1,37 +0,0 @@ -*** Variables *** - -# AAF CertService -${NEXUS_DOCKER_REPO} nexus3.onap.org:10001 - -${RA_CA_NAME} RA -${CERT_SERVICE_PORT} 8443 -${CERT_SERVICE_CONTAINER_NAME} aaf-cert-service -${CERT_SERVICE_NETWORK} certservice_certservice -${AAFCERT_URL} https://localhost:${CERT_SERVICE_PORT} -${CERT_SERVICE_ENDPOINT} /v1/certificate/ -${CERT_SERVICE_ADDRESS} https://${CERT_SERVICE_CONTAINER_NAME}:${CERT_SERVICE_PORT} -${ROOTCA} %{WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/certs/root.crt -${CERTSERVICE_SERVER_CRT} %{WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/certs/certServiceServer.crt -${CERTSERVICE_SERVER_KEY} %{WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/certs/certServiceServer.key - -#AAF CerService Client -${CLIENT_CONTAINER_NAME} %{CLIENT_CONTAINER_NAME} -${DOCKER_CLIENT_IMAGE} nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-client:latest -${TRUSTSTORE_PATH} %{WORKSPACE}/plans/sdnc/sdnc_netconf_tls_post_deploy/certs - -# SDNC Configuration -${REQUEST_DATA_PATH} %{REQUEST_DATA_PATH} -${SDNC_CONTAINER_NAME} %{SDNC_CONTAINER_NAME} -${SDNC_RESTCONF_URL} http://localhost:8282/restconf -${SDNC_KEYSTORE_CONFIG_PATH} /config/netconf-keystore:keystore -${SDNC_NETWORK_TOPOLOGY} /config/network-topology:network-topology -${MOUNT_PATH} %{WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/cert-data -${SDNC_CSR_FILE} %{WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/csr/sdnc_csr.env -${SDNC_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo -${PNFSIM_MOUNT_PATH} /config/network-topology:network-topology/topology/topology-netconf/node/PNFDemo/yang-ext:mount/turing-machine:turing-machine - -# Netconf-Pnp-Simulator -${NETCONF_PNP_SIM_CONTAINER_NAME} %{NETCONF_PNP_SIM_CONTAINER_NAME} -${NETCONF_PNP_SIM_CSR_FILE} %{WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/csr/netconf_pnp_simulator_csr.env -${CONF_SCRIPT} %{WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config.sh -${CONF_TLS_SCRIPT} %{WORKSPACE}/tests/sdnc/sdnc_netconf_tls_post_deploy/libraries/config_tls.sh diff --git a/tests/sdnc/sdnc_netconf_tls_post_deploy/sdnc_post_deploy_cert_check.robot b/tests/sdnc/sdnc_netconf_tls_post_deploy/sdnc_post_deploy_cert_check.robot deleted file mode 100644 index 4d935974..00000000 --- a/tests/sdnc/sdnc_netconf_tls_post_deploy/sdnc_post_deploy_cert_check.robot +++ /dev/null @@ -1,27 +0,0 @@ -*** Settings *** - -Documentation SDNC, Netconf-Pnp-Simulator E2E Test Case Scenarios - -Library RequestsLibrary -Resource ./resources/sdnc-keywords.robot - -Suite Setup Create sessions - -*** Test Cases *** - -Check SDNC Keystore For Netopeer2 Certificates - [Tags] SDNC-NETOPEER2-CERT-DEPLOYMENT - [Documentation] Checking Keystore after SDNC istallation - Send Get Request And Validate Response Sdnc ${SDNC_KEYSTORE_CONFIG_PATH} 200 - - -Check SDNC And PNF TLS Connection Over Netopeer2 Certificates - [Tags] SDNC-PNF-TLS-CONNECTION-CHECK - [Documentation] Checking PNF Mount after SDNC Installation - Send Get Request And Validate TLS Connection Response ${SDNC_MOUNT_PATH} 200 - -Check PNF Delete And Remove Netopeer2 Certificates From Keystore - [Tags] SDNC-PNF-MOUNT-DELETE-CLEAR-KEYSTORE - [Documentation] Checking PNF Mount Delete from SDNC - Send Delete Request And Validate PNF Mount Deleted ${SDNC_MOUNT_PATH} 200 -