aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/csit/plans/dcaegen2/hv-ves-testsuites/docker-compose.yml72
-rwxr-xr-xtest/csit/plans/dcaegen2/hv-ves-testsuites/setup.sh40
-rw-r--r--test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/Makefile32
-rw-r--r--test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/README.md18
-rwxr-xr-xtest/csit/plans/dcaegen2/hv-ves-testsuites/teardown.sh11
-rw-r--r--test/csit/plans/dcaegen2/hv-ves-testsuites/testplan.txt4
-rwxr-xr-xtest/csit/plans/dmaap-buscontroller/ssl/setup.sh45
-rw-r--r--test/csit/plans/dmaap-buscontroller/ssl/teardown.sh26
-rw-r--r--test/csit/plans/dmaap-buscontroller/ssl/testplan.txt4
-rwxr-xr-xtest/csit/plans/dmaap-buscontroller/with_mr/setup.sh6
-rw-r--r--test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh1
-rw-r--r--test/csit/plans/vnfsdk-pkgtools/sanity-check/testplan.txt1
-rwxr-xr-xtest/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh25
-rw-r--r--test/csit/scripts/dmaap-buscontroller/onapCSIT.env2
-rwxr-xr-xtest/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh20
-rwxr-xr-xtest/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh6
-rw-r--r--test/csit/scripts/externalapi-nbi/start_nbi_containers.sh4
-rw-r--r--test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap2
-rwxr-xr-xtest/csit/scripts/optf-has/has/has_script.sh4
-rwxr-xr-xtest/csit/scripts/optf-has/has/music_script.sh6
-rw-r--r--test/csit/scripts/vid/start_vid_containers.sh2
-rw-r--r--test/csit/tests/dcaegen2/hv-ves-testcases/__init__.robot0
-rw-r--r--test/csit/tests/dcaegen2/hv-ves-testcases/hv-ves.robot4
-rw-r--r--test/csit/tests/dmaap-buscontroller/ssl_suite/__init__.robot3
-rw-r--r--test/csit/tests/dmaap-buscontroller/ssl_suite/test1.robot77
-rw-r--r--test/csit/tests/optf-has/has/optf_has_test.robot1
-rw-r--r--test/csit/tests/vnfsdk-pkgtools/tosca-metadata/create_validate_digest_signing.robot21
-rw-r--r--test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test.crt19
-rw-r--r--test/csit/tests/vnfsdk-pkgtools/tosca-metadata/test.key27
-rw-r--r--test/mocks/pnfsimulator/README.md6
-rw-r--r--test/mocks/pnfsimulator/docker-compose.yml17
-rw-r--r--test/mocks/pnfsimulator/sftp/sftp-file.txt2
-rw-r--r--test/mocks/pnfsimulator/ssh/ssh_host_rsa_key54
-rw-r--r--test/mocks/pnfsimulator/ssh/ssh_host_rsa_key.pub1
-rw-r--r--version-manifest/src/main/resources/docker-manifest-staging.csv26
-rw-r--r--version-manifest/src/main/resources/java-manifest.csv56
-rwxr-xr-xversion-manifest/src/main/scripts/upgrade-oparent.sh52
37 files changed, 627 insertions, 70 deletions
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/docker-compose.yml b/test/csit/plans/dcaegen2/hv-ves-testsuites/docker-compose.yml
new file mode 100644
index 000000000..28cded8cb
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/docker-compose.yml
@@ -0,0 +1,72 @@
+version: "3"
+
+networks:
+ ves-hv-default:
+ external:
+ name: $CONTAINERS_NETWORK
+
+services:
+ zookeeper:
+ image: wurstmeister/zookeeper
+ ports:
+ - "2181:2181"
+ networks:
+ - ves-hv-default
+
+ kafka:
+ image: wurstmeister/kafka
+ ports:
+ - "9092:9092"
+ environment:
+ KAFKA_ADVERTISED_HOST_NAME: "kafka"
+ KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'true'
+ KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
+ KAFKA_ADVERTISED_LISTENERS: "PLAINTEXT://kafka:9092"
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ depends_on:
+ - zookeeper
+ networks:
+ - ves-hv-default
+
+ consul:
+ image: progrium/consul
+ ports:
+ - "8500:8500"
+ environment:
+ - CONSUL_BIND_INTERFACE=eth0
+ networks:
+ ves-hv-default:
+ aliases:
+ - consul
+ command: ["-server", "-bootstrap"]
+
+ ves-hv-collector:
+ image: $DOCKER_REGISTRY/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main
+ ports:
+ - "6061:6061/tcp"
+ entrypoint: ["java", "-Dio.netty.leakDetection.level=paranoid", "-cp", "*:", "org.onap.dcae.collectors.veshv.main.MainKt"]
+ command: ["--listen-port", "6061","--config-url", "http://consul:8500/v1/kv/veshv-config"]
+ depends_on:
+ - kafka
+ volumes:
+ - ./ssl/:/etc/ves-hv/
+ networks:
+ - ves-hv-default
+
+ dcae-app-simulator:
+ image: $DOCKER_REGISTRY/onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-dcae-app-simulator
+ ports:
+ - "6063:6063/tcp"
+ command: ["--listen-port", "6063", "--kafka-bootstrap-servers", "kafka:9092", "--kafka-topics", "ves_hvRanMeas"]
+ healthcheck:
+ interval: 10s
+ timeout: 5s
+ retries: 2
+ test: ["CMD", "curl", "--request", "GET", "--fail", "--silent", "--show-error", "localhost:6063/healthcheck"]
+ depends_on:
+ - kafka
+ networks:
+ ves-hv-default:
+ aliases:
+ - dcae-app-simulator \ No newline at end of file
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/setup.sh b/test/csit/plans/dcaegen2/hv-ves-testsuites/setup.sh
new file mode 100755
index 000000000..48e39807f
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/setup.sh
@@ -0,0 +1,40 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+pip uninstall -y docker-py
+pip install docker
+
+COMPOSE_VERSION=1.22.0
+COMPOSE_LOCATION='/usr/local/bin/docker-compose'
+sudo curl -L https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m) -o ${COMPOSE_LOCATION}
+sudo chmod +x ${COMPOSE_LOCATION}
+
+
+echo "Removing not used docker networks"
+docker network prune -f
+
+export CONTAINERS_NETWORK=ves-hv-default
+echo "Creating network for containers: ${CONTAINERS_NETWORK}"
+docker network create ${CONTAINERS_NETWORK}
+
+cd ssl
+make FILE=client
+make FILE=server
+make FILE=invalid_client CA=invalid_trust
+cd ..
+
+export DOCKER_REGISTRY="nexus3.onap.org:10001"
+CURRENT_DIR=${PWD##*/}
+VES_HV_CONTAINER_NAME=ves-hv-collector
+
+# little race condition between container start-up and required files copying below
+docker-compose up -d
+
+COMPOSE_VES_HV_CONTAINER_NAME=${CURRENT_DIR}_${VES_HV_CONTAINER_NAME}_1
+echo "COPY tls authorization files to container: ${COMPOSE_VES_HV_CONTAINER_NAME}"
+docker cp ssl/. ${COMPOSE_VES_HV_CONTAINER_NAME}:/etc/ves-hv
+# race condition end
+
+
+export ROBOT_VARIABLES="--pythonpath ${WORKSPACE}/test/csit/tests/dcaegen2/hv-ves-testcases/libraries" \ No newline at end of file
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/Makefile b/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/Makefile
new file mode 100644
index 000000000..5fddc6b1d
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/Makefile
@@ -0,0 +1,32 @@
+FILE=sample
+CA_PASSWD=onap
+SUBJ=/C=PL/ST=DL/L=Wroclaw/O=Nokia/OU=MANO
+CA=trust
+
+sign: $(FILE).crt
+
+clean:
+ rm -f *.crt *.key *.srl *.csr
+
+generate-ca-certificate: $(CA).crt
+
+generate-private-key: $(FILE).key
+
+create-public-key: $(FILE).pub
+
+create-sign-request: $(FILE).csr
+
+$(CA).crt:
+ openssl req -new -x509 -keyout $(CA).key -out $(CA).crt -days 365 -passout pass:$(CA_PASSWD) -subj "$(SUBJ)"
+
+$(FILE).key:
+ openssl genpkey -algorithm RSA -out $(FILE).key -pkeyopt rsa_keygen_bits:2048
+
+$(FILE).pub: $(FILE).key
+ openssl x509 -req -days 360 -in client.csr -CA $(CA).crt -CAkey $(CA).key -CAcreateserial -out client.crt
+
+$(FILE).csr: $(FILE).key
+ openssl req -new -sha256 -key $(FILE).key -out $(FILE).csr -subj "$(SUBJ)"
+
+$(FILE).crt: $(CA).crt $(FILE).csr
+ openssl x509 -req -days 360 -in $(FILE).csr -CA $(CA).crt -CAkey $(CA).key -out $(FILE).crt -CAcreateserial -passin pass:$(CA_PASSWD) \ No newline at end of file
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/README.md b/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/README.md
new file mode 100644
index 000000000..174c16641
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/ssl/README.md
@@ -0,0 +1,18 @@
+# Generating SSL certificates
+
+Typical usage:
+
+```shell
+make FILE=client
+make FILE=server
+```
+
+Will generate CA certificate and signed client and server certificates.
+
+More "low-level" usage:
+
+```shell
+make generate-ca-certificate
+make generate-private-key FILE=client
+make sign FILE=client
+```
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/teardown.sh b/test/csit/plans/dcaegen2/hv-ves-testsuites/teardown.sh
new file mode 100755
index 000000000..91ad90305
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/teardown.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+cd ssl
+make clean
+cd ..
+
+docker-compose logs > ${WORKSPACE}/archives/docker-compose.log
+docker-compose down
+docker-compose rm -f
+
+docker network rm ${CONTAINERS_NETWORK} \ No newline at end of file
diff --git a/test/csit/plans/dcaegen2/hv-ves-testsuites/testplan.txt b/test/csit/plans/dcaegen2/hv-ves-testsuites/testplan.txt
new file mode 100644
index 000000000..3f4f14806
--- /dev/null
+++ b/test/csit/plans/dcaegen2/hv-ves-testsuites/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+dcaegen2/hv-ves-testcases
+
diff --git a/test/csit/plans/dmaap-buscontroller/ssl/setup.sh b/test/csit/plans/dmaap-buscontroller/ssl/setup.sh
new file mode 100755
index 000000000..e40f62dea
--- /dev/null
+++ b/test/csit/plans/dmaap-buscontroller/ssl/setup.sh
@@ -0,0 +1,45 @@
+#!/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}/test/csit/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}/test/csit/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}/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh ${DMAAPBC_IP} ${DRPS_IP} ${MRC_IP} https
+set +x
diff --git a/test/csit/plans/dmaap-buscontroller/ssl/teardown.sh b/test/csit/plans/dmaap-buscontroller/ssl/teardown.sh
new file mode 100644
index 000000000..1b041a425
--- /dev/null
+++ b/test/csit/plans/dmaap-buscontroller/ssl/teardown.sh
@@ -0,0 +1,26 @@
+#!/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/test/csit/plans/dmaap-buscontroller/ssl/testplan.txt b/test/csit/plans/dmaap-buscontroller/ssl/testplan.txt
new file mode 100644
index 000000000..e106e7b66
--- /dev/null
+++ b/test/csit/plans/dmaap-buscontroller/ssl/testplan.txt
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+dmaap-buscontroller/ssl_suite
+
diff --git a/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh b/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh
index 3b604fe99..bcd19b5ac 100755
--- a/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh
+++ b/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh
@@ -31,9 +31,9 @@ else
MRC_IP=${IP}
source ${WORKSPACE}/test/csit/scripts/dmaap-buscontroller/start-mock.sh
- #start_mock "aaf"
- #AAF_IP=${IP}
- AAF_IP=0.0.0.0
+ start_mock "aaf"
+ AAF_IP=${IP}
+ #AAF_IP=0.0.0.0
#start_mock "drps"
#DRPS_IP=${IP}
DRPS_IP=0.0.0.0
diff --git a/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh b/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh
index f35b02259..3feebe07c 100644
--- a/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh
+++ b/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh
@@ -25,5 +25,6 @@ if [ "$KEEP_DMAAP" != "Y" ]
then
dmaap_mr_teardown
kill-instance.sh dmaapbc
+kill-instance.sh aaf-mock
fi
diff --git a/test/csit/plans/vnfsdk-pkgtools/sanity-check/testplan.txt b/test/csit/plans/vnfsdk-pkgtools/sanity-check/testplan.txt
index f47c44ed0..05ff05a24 100644
--- a/test/csit/plans/vnfsdk-pkgtools/sanity-check/testplan.txt
+++ b/test/csit/plans/vnfsdk-pkgtools/sanity-check/testplan.txt
@@ -1,3 +1,4 @@
# Test suites are relative paths under [integration.git]/test/csit/tests/.
# Place the suites in run order.
vnfsdk-pkgtools/tosca-metadata/create_open.robot
+vnfsdk-pkgtools/tosca-metadata/create_validate_digest_signing.robot
diff --git a/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh b/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh
index 96ac40f18..c7cf03ef4 100755
--- a/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh
+++ b/test/csit/scripts/dmaap-buscontroller/dmaapbc-init.sh
@@ -3,6 +3,21 @@
# $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
@@ -10,7 +25,7 @@ cat << EOF > $JSON
{
"version": "1",
"topicNsRoot": "org.onap.dmaap",
- "drProvUrl": "http://${2}:8080",
+ "drProvUrl": "http://${2}:${DRPORT}",
"dmaapName": "onapCSIT",
"bridgeAdminTopic": "MM_AGENT_PROV"
@@ -18,7 +33,7 @@ cat << EOF > $JSON
EOF
echo "Initializing /dmaap endpoint"
-curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/dmaap
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dmaap
@@ -35,7 +50,7 @@ cat << EOF > $JSON
EOF
echo "Initializing /dcaeLocations endpoint"
-curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/dcaeLocations
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/dcaeLocations
# INITIALIZE: MR object in 1 site
@@ -52,10 +67,10 @@ cat << EOF > $JSON
"dcaeLocationName": "csit-sanfrancisco",
"fqdn": "$DOCKER_HOST",
"topicProtocol" : "http",
- "topicPort": "3904"
+ "topicPort": "${MRPORT}"
}
EOF
echo "Initializing /mr_clusters endpoint"
-curl -v -X POST -d @${JSON} -H "Content-Type: application/json" http://$1:8080/webapi/mr_clusters
+curl ${CURLOPT} -X POST -d @${JSON} -H "Content-Type: application/json" ${PROTO}://$1:${PORT}/webapi/mr_clusters
diff --git a/test/csit/scripts/dmaap-buscontroller/onapCSIT.env b/test/csit/scripts/dmaap-buscontroller/onapCSIT.env
index 58432e6a7..db865818e 100644
--- a/test/csit/scripts/dmaap-buscontroller/onapCSIT.env
+++ b/test/csit/scripts/dmaap-buscontroller/onapCSIT.env
@@ -8,7 +8,7 @@
# Only need to set values where defaults aren't appropriate
#
cat <<!EOF
-DMAAPBC_INT_HTTPS_PORT=0
+DMAAPBC_INT_HTTPS_PORT=8443
DMAAPBC_PG_ENABLED=false
DMAAPBC_INSTANCE_NAME=ONAP-CSIT
DMAAPBC_AAF_URL=https://${1}:1080/proxy/
diff --git a/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh b/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh
index c439a97ad..64f1720b6 100755
--- a/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh
+++ b/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh
@@ -31,6 +31,7 @@ source ${SCRIPTS}/common_functions.sh
# (kafka and zk containers are not called externally)
function dmaap_mr_launch() {
+ COMPOSE_PREFIX=docker-compose
# Clone DMaaP Message Router repo
mkdir -p $WORKSPACE/archives/dmaapmr
cd $WORKSPACE/archives/dmaapmr
@@ -45,12 +46,13 @@ function dmaap_mr_launch() {
# 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 }}' dockercompose_dmaap_1) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' dockercompose_zookeeper_1) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' dockercompose_dmaap_1) ]
+ 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
@@ -61,10 +63,10 @@ function dmaap_mr_launch() {
done
- DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_dmaap_1)
+ 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}}' dockercompose_kafka_1)
- ZOOKEEPER_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_zookeeper_1)
+ 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}
@@ -84,9 +86,9 @@ function dmaap_mr_launch() {
# Wait for initialization of Docker containers
for i in {1..50}; do
- if [ $(docker inspect --format '{{ .State.Running }}' dockercompose_dmaap_1) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' dockercompose_zookeeper_1) ] && \
- [ $(docker inspect --format '{{ .State.Running }}' dockercompose_dmaap_1) ]
+ 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
diff --git a/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh b/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh
index f57385707..ac6d798c9 100755
--- a/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh
+++ b/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh
@@ -18,7 +18,7 @@
#
function dmaap_mr_teardown() {
-kill-instance.sh dockercompose_dmaap_1
-kill-instance.sh dockercompose_kafka_1
-kill-instance.sh dockercompose_zookeeper_1
+kill-instance.sh docker-compose_dmaap_1
+kill-instance.sh docker-compose_kafka_1
+kill-instance.sh docker-compose_zookeeper_1
}
diff --git a/test/csit/scripts/externalapi-nbi/start_nbi_containers.sh b/test/csit/scripts/externalapi-nbi/start_nbi_containers.sh
index 61026d7b0..1d1d0fd3e 100644
--- a/test/csit/scripts/externalapi-nbi/start_nbi_containers.sh
+++ b/test/csit/scripts/externalapi-nbi/start_nbi_containers.sh
@@ -16,8 +16,8 @@
NEXUS_USERNAME=docker
NEXUS_PASSWD=docker
-NEXUS_DOCKER_REPO=nexus3.onap.org:10001
-DOCKER_IMAGE_VERSION=latest
+export NEXUS_DOCKER_REPO=nexus3.onap.org:10001
+export DOCKER_IMAGE_VERSION=latest
echo "This is ${WORKSPACE}/test/csit/scripts/externalapi-nbi/start_nbi_containers.sh"
diff --git a/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap b/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap
index a8e84846c..1f644264b 100644
--- a/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap
+++ b/test/csit/scripts/optf-has/has/has-properties/conductor.conf.onap
@@ -252,7 +252,7 @@ music_new_version = True
# Base URL for Music REST API without a trailing slash. (string value)
server_url = http://localhost:8080/MUSIC/rest/v2
version = v2
-music_version = "2.4.22"
+music_version = "3.0.3"
aafuser = conductor
aafpass = c0nduct0r
aafns = conductor
diff --git a/test/csit/scripts/optf-has/has/has_script.sh b/test/csit/scripts/optf-has/has/has_script.sh
index ee5479e10..08bf0bcb0 100755
--- a/test/csit/scripts/optf-has/has/has_script.sh
+++ b/test/csit/scripts/optf-has/has/has_script.sh
@@ -63,6 +63,10 @@ echo "MULTICLOUDSIM_IP=${MULTICLOUDSIM_IP}"
sed -i -e "s%msb.onap.org:8082/%${MULTICLOUDSIM_IP}:8082/%g" /tmp/conductor/properties/conductor.conf
#onboard conductor into music
+echo "Query MUSIC to check for reachability. Query Version"
+curl -vvvvv --noproxy "*" --request GET http://${MUSIC_IP}:8080/MUSIC/rest/v2/version -H "Content-Type: application/json"
+
+echo "Onboard conductor into music"
curl -vvvvv --noproxy "*" --request POST http://${MUSIC_IP}:8080/MUSIC/rest/v2/admin/onboardAppWithMusic -H "Content-Type: application/json" --data @${WORKSPACE}/test/csit/tests/optf-has/has/data/onboard.json
docker run -d --name cond-cont -v ${COND_CONF}:/usr/local/bin/conductor.conf -v ${LOG_CONF}:/usr/local/bin/log.conf ${IMAGE_NAME}:latest python /usr/local/bin/conductor-controller --config-file=/usr/local/bin/conductor.conf
diff --git a/test/csit/scripts/optf-has/has/music_script.sh b/test/csit/scripts/optf-has/has/music_script.sh
index fdd9a3e26..1e978c2f9 100755
--- a/test/csit/scripts/optf-has/has/music_script.sh
+++ b/test/csit/scripts/optf-has/has/music_script.sh
@@ -51,10 +51,10 @@ docker run -d --name music-db --network music-net -p "7000:7000" -p "7001:7001"
CASSA_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-db`
echo "CASSANDRA_IP=${CASSA_IP}"
${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${CASSA_IP} 9042
-
+sleep 60
# Start Music war
docker run -d --name music-war -v music-vol:/app ${MUSIC_IMG};
-
+sleep 15
# Start Zookeeper
docker run -d --name music-zk --network music-net -p "2181:2181" -p "2888:2888" -p "3888:3888" ${ZK_IMG};
#ZOO_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-zk`
@@ -80,7 +80,7 @@ echo "TOMCAT_IP=${TOMCAT_IP}"
${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${TOMCAT_IP} 8080
# wait a while to make sure music is totally up and configured
-sleep 10
+sleep 60
echo "inspect docker things for tracing purpose"
docker inspect music-db
diff --git a/test/csit/scripts/vid/start_vid_containers.sh b/test/csit/scripts/vid/start_vid_containers.sh
index a6a8a6b7a..341fd4813 100644
--- a/test/csit/scripts/vid/start_vid_containers.sh
+++ b/test/csit/scripts/vid/start_vid_containers.sh
@@ -32,7 +32,7 @@ export IP=`ifconfig eth0 | awk -F: '/inet addr/ {gsub(/ .*/,"",$2); print $2}'`
export PREFIX='nexus3.onap.org:10001/onap'
#start Maria-DB
-docker run --name vid-mariadb -e MYSQL_DATABASE=vid_openecomp_epsdk -e MYSQL_USER=vidadmin -e MYSQL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -e MYSQL_ROOT_PASSWORD=LF+tp_1WqgSY -v ${CONFIG_PATH}/vid-my.cnf:/etc/mysql/my.cnf -v ${CONFIG_PATH}/vid-pre-init.sql:/docker-entrypoint-initdb.d/vid-pre-init.sql -v /var/lib/mysql -d mariadb:10
+docker run --name vid-mariadb -e MYSQL_DATABASE=vid_openecomp_epsdk -e MYSQL_USER=vidadmin -e MYSQL_PASSWORD=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U -e MYSQL_ROOT_PASSWORD=LF+tp_1WqgSY -v ${CONFIG_PATH}/vid-my.cnf:/etc/mysql/my.cnf -v ${CONFIG_PATH}/vid-schema.sql:/docker-entrypoint-initdb.d/vid-schema.sql -v /var/lib/mysql -d mariadb:10
#start VID server
diff --git a/test/csit/tests/dcaegen2/hv-ves-testcases/__init__.robot b/test/csit/tests/dcaegen2/hv-ves-testcases/__init__.robot
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/test/csit/tests/dcaegen2/hv-ves-testcases/__init__.robot
diff --git a/test/csit/tests/dcaegen2/hv-ves-testcases/hv-ves.robot b/test/csit/tests/dcaegen2/hv-ves-testcases/hv-ves.robot
new file mode 100644
index 000000000..36093f449
--- /dev/null
+++ b/test/csit/tests/dcaegen2/hv-ves-testcases/hv-ves.robot
@@ -0,0 +1,4 @@
+*** Test Cases ***
+Initial testcase
+ [Documentation] Testing tests setup script
+ Log Robot framework execution successful \ No newline at end of file
diff --git a/test/csit/tests/dmaap-buscontroller/ssl_suite/__init__.robot b/test/csit/tests/dmaap-buscontroller/ssl_suite/__init__.robot
new file mode 100644
index 000000000..41c7a0037
--- /dev/null
+++ b/test/csit/tests/dmaap-buscontroller/ssl_suite/__init__.robot
@@ -0,0 +1,3 @@
+*** Settings ***
+Documentation dmaap-buscontroller - Suite 1
+
diff --git a/test/csit/tests/dmaap-buscontroller/ssl_suite/test1.robot b/test/csit/tests/dmaap-buscontroller/ssl_suite/test1.robot
new file mode 100644
index 000000000..999c6baf8
--- /dev/null
+++ b/test/csit/tests/dmaap-buscontroller/ssl_suite/test1.robot
@@ -0,0 +1,77 @@
+*** 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
+ CheckUrl openo / 200
+
+HTTPS Heartbeat Test
+ [Documentation] Check ${DBC_URI}/info SSL endpoint
+ Create Session heartbeat https://${DMAAPBC_IP}:8443
+ CheckUrl heartbeat ${DBC_URI}/info 204
+
+HTTPS Dmaap Init Test
+ [Documentation] Check ${DBC_URI}/dmaap SSL endpoint
+ Create Session heartbeat https://${DMAAPBC_IP}:8443
+ CheckStatus heartbeat ${DBC_URI}/dmaap "VALID"
+
+HTTPS Dmaap dcaeLocations Test
+ [Documentation] Check ${DBC_URI}/dcaeLocations SSL endpoint
+ Create Session heartbeat https://${DMAAPBC_IP}:8443
+ 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
+ CheckStatus0 heartbeat ${DBC_URI}/mr_clusters "VALID"
+
+
+*** 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}
+
+CheckStatus
+ [Arguments] ${session} ${path} ${expect}
+ ${resp}= Get Request ${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}= Get Request ${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/test/csit/tests/optf-has/has/optf_has_test.robot b/test/csit/tests/optf-has/has/optf_has_test.robot
index 815ffa850..deba6470e 100644
--- a/test/csit/tests/optf-has/has/optf_has_test.robot
+++ b/test/csit/tests/optf-has/has/optf_has_test.robot
@@ -115,6 +115,7 @@ Get Root Url
Log To Console response = ${resp}
Log To Console body = ${resp.text}
Should Be Equal As Integers ${resp.status_code} 200
+ Sleep 10s Wait For 10 seconds
Conductor AddHealthcheck Row Into Music
[Documentation] It sends a REST PUT request to Music to inject healthcheck plan
diff --git a/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/create_validate_digest_signing.robot b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/create_validate_digest_signing.robot
new file mode 100644
index 000000000..470b7c31d
--- /dev/null
+++ b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/create_validate_digest_signing.robot
@@ -0,0 +1,21 @@
+*** settings ***
+Library OperatingSystem
+
+
+*** Variables ***
+${csarpath} ${SCRIPTS}/../tests/vnfsdk-pkgtools/tosca-metadata/csar
+${keyfile} ${SCRIPTS}/../tests/vnfsdk-pkgtools/tosca-metadata/test.key
+${create_output} ${OUTPUT DIR}/test_signing.csar
+
+*** Test Cases ***
+Create CSAR package
+ [Documentation] Create CSAR package
+ ${output}= Run vnfsdk csar-create -d ${create_output} --manifest test_entry.mf --history ChangeLog.txt --tests Tests --licenses Licenses --certificate test.crt --privkey ${keyfile} ${csarpath} test_entry.yaml
+ Log ${output}
+ File Should Exist ${create_output}
+
+Validate CSAR package
+ [Documentation] Validate CSAR package
+ ${rc} ${output}= Run and Return RC And Output vnfsdk csar-validate ${create_output}
+ Should Be Equal As Integers ${rc} 0
+ Log ${output}
diff --git a/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test.crt b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test.crt
new file mode 100644
index 000000000..63c85d4b4
--- /dev/null
+++ b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/csar/test.crt
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAggCCQDrDujRIFtRTDANBgkqhkiG9w0BAQsFADBFMQswCQYDVQQGEwJQ
+VDEPMA0GA1UECAwGTGlzYm9hMQ8wDQYDVQQHDAZMaXNib2ExFDASBgNVBAoMC0V4
+YW1wbGUgT3JnMCAXDTE4MDgyNDA2MjY1OVoYDzIxMTYwMjEyMDYyNjU5WjBdMQsw
+CQYDVQQGEwJQVDEPMA0GA1UECAwGTGlzYm9hMQ8wDQYDVQQHDAZMaXNib2ExFDAS
+BgNVBAoMC0V4YW1wbGUgT3JnMRYwFAYDVQQDDA0qLmV4YW1wbGUub3JnMIIBIjAN
+BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwVDDqoO+C5dxgi1nnky+D4qqVdFG
+mX3H4q6zFPUAkve3gElfttuDfbmN+OYCWhvKcjUN1Y2xjt+0aeRJVuQ+eumEX/1F
+76i2t9c66fWPtdZ0V8IuDc2ajNxbKiAwYrwVl3AS2tJ32psHRLvpmLoOVz9UXY0J
+rDwr274Z38wIqEGrUQ9hdOebEggeVu6Mv3pZUBYGGo9VX1/PTZguOaP85nC193Ux
+SJe2+KV6aoc0odiokFmWK2JJrNb8bMjrQcQqp86JMW1DHyon5sF6edTIilxgC+SH
+gapT5hZeoNnh3rAgHiWXF8ZOvho341s+7I78pbEtqCXNbF3VqikFlWmStQIDAQAB
+MA0GCSqGSIb3DQEBCwUAA4IBAQCh8CffE1amceKSb7USEfkpsDbNYo+IWMDyVo9g
+WQOYVIqIFGS8RMzs43Y6nIYJ/9pJUG10Qc4Yq1ZEqsV771Fz6WHx3zlJakVww/Ph
+CxbakjO3EzIHVjEWIu3sUfMdyOeF0ZDHDnfQZYWC17d2jE+s8rH2epl2h1jhi8fS
+i+eT2QDv8lHAM2mdM4jSwoCSsN7FImRxcYPoCxYwVkjVkmHhEMaUdqa1LKY/0YBf
+PFm0pVDCBJZZvKGql44eKiaY/GNW9IyzQFprT8V1rhD1fbTBFXghVGVaUi2Am3JD
++eZYMzd4rzFLZm8bjNm0Oler1UJSR1K91lOEig3M8FTN6JRE
+-----END CERTIFICATE-----
diff --git a/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/test.key b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/test.key
new file mode 100644
index 000000000..06781d17e
--- /dev/null
+++ b/test/csit/tests/vnfsdk-pkgtools/tosca-metadata/test.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAwVDDqoO+C5dxgi1nnky+D4qqVdFGmX3H4q6zFPUAkve3gElf
+ttuDfbmN+OYCWhvKcjUN1Y2xjt+0aeRJVuQ+eumEX/1F76i2t9c66fWPtdZ0V8Iu
+Dc2ajNxbKiAwYrwVl3AS2tJ32psHRLvpmLoOVz9UXY0JrDwr274Z38wIqEGrUQ9h
+dOebEggeVu6Mv3pZUBYGGo9VX1/PTZguOaP85nC193UxSJe2+KV6aoc0odiokFmW
+K2JJrNb8bMjrQcQqp86JMW1DHyon5sF6edTIilxgC+SHgapT5hZeoNnh3rAgHiWX
+F8ZOvho341s+7I78pbEtqCXNbF3VqikFlWmStQIDAQABAoIBAEWZ+pjuDgLGaAvi
+pSgNoXCfEG0NiEnDS7CGDdxByg8gOWVrBZckudcOc9tllPs0flNYXr7A4Wj7ik2F
+8BHk48oFQa/91KxRJlhSmdeanj9uEz11oHc/y6FjxT8Jj+I8rdl0dJVsqdJ/dsJ8
+lcJzWq53Er0MBquIjpHzhAVbxNIvEjQvuIyKPEomrvNN49fR5J7ExH8n1OnkuFRJ
+L4L98inXPtcQF2Xgorh2YwhV0DiY5X88TZMCZ8m7CB0DhwZSMueFWa6Aj4m5G0HQ
+kalXU3bCeBu66s3sXZHuGg1oF3MwwO7BX3/1fg8LoaLEvYHAOXH5PNRUzAgh7/mA
+dneVYoECgYEA69oHQ9VvXGpqHnE5spAtmyJn7v32zXEPUibdqPCNrGXznvzXM+Do
+xHB4K51H8wE/WGT/LGgVcubqr62f/SvmyO6RVOS+DRY4aYKyFif0+7mVHgWhoYOg
+oEaODZrKdxC4SrSYaogsDCH7bdkh1VdJhCDx6ppUGXs9/ZfKJn9kG+0CgYEA0dR9
+BQ6qnrBDrZg7vW/xV/iL/PGsJVBUt7oAkN7g4Ub42eTjAhIPdMxipgAkj6EbhoBO
+KpWELvRqC3oTUVutdTvRhdgummNKToZNaYG7CK5X6bsQh7l6tqLVkE1WqoT4yXvA
+1ez7iOhOsTvugYLlRJd3MTNiKw6c9Pr5ihIHyOkCgYEAsMRtk4LBfzNmq8BS7Skw
+dUhZO39u3dVyFTF6CqeYl3CmIjAAnypfavOcrZupFFGIB5lSwxaTlNXLabYo5hhk
+VY6wsD7szmQsDbBeB0sVSyFxyNmRpbtAxT98MmgkfQ60AZHPdnDvCnzhtBf8Sqis
+OfJzPlFC3QJImOuOIEJ0ZpUCgYAtwj0RYUVsHdxkexJsGYF0Qculeb6k1IPlHTcK
+YNCB0ExsmDG5Pd8JBZltwhI3EFdEWa6yMrEE3GBT6GdWErwdGNJ0cdSX7pdB0KAJ
+JjV3iy241waf0p8kPRZ9xZ/kx+LJbad7/5ZLIP4oQH2e2MDO2IkxvZbm9OTdt+27
+Yns4IQKBgEuQv0JTt+o6/1cwZkMvXDKf0vW2nbPG9gbP3gy9Js0mOG0eWYCsNehO
+DGLViyV2XURCskM4ZSA7Xc71lbCFhOV+jDXEipAjw8S8WJWdTraoF1QV12YEdlL/
+KdcxuJKVX8vdE9UCOxH/wcDG/JXAHX3qrMudJgAp598nyk6g2cNt
+-----END RSA PRIVATE KEY-----
diff --git a/test/mocks/pnfsimulator/README.md b/test/mocks/pnfsimulator/README.md
index a2a5e5539..d53a07521 100644
--- a/test/mocks/pnfsimulator/README.md
+++ b/test/mocks/pnfsimulator/README.md
@@ -26,6 +26,12 @@ It is possible to get access to logs by invocation of *./simulator.sh* logs.
The content of the logs is related to the last simulator run.
Every start of simulator will generate new logs.
+###SFTP support
+PNF Simulator allows to serve files via SFTP server. SFTP server has predefined user sftp-user.
+Connection to SFTP server is being done with usage of SSH keys. Private key is stored in *ssh* directory.
+In order to download *sftp-file.txt* file simply run *sftp -P 2222 -i ssh/ssh_host_rsa_key sftp-user@localhost:sftp/sftp-file.txt*
+In order to add a new file (e.g. test.zip), put the file into *sftp* directory and run simulator.
+After that again execute sftp command: *sftp -P 2222 -i ssh/ssh_host_rsa_key sftp-user@localhost:sftp/test.zip*
###Developer mode
For development of PNF Simulator, run *simulator.sh* start-dev in order to run Netopeer.
diff --git a/test/mocks/pnfsimulator/docker-compose.yml b/test/mocks/pnfsimulator/docker-compose.yml
index cfc086357..5f73cde74 100644
--- a/test/mocks/pnfsimulator/docker-compose.yml
+++ b/test/mocks/pnfsimulator/docker-compose.yml
@@ -11,6 +11,7 @@ services:
- ./json_schema:/json_schema
env_file:
- ./config/netconf.env
+ restart: on-failure
depends_on:
- netopeer
@@ -19,7 +20,21 @@ services:
image: sysrepo/sysrepo-netopeer2:latest
ports:
- "830:830"
+ volumes:
+ - ./netconf:/netconf
env_file:
- ./config/netconf.env
+ restart: on-failure
+ depends_on:
+ - sftp-server
+
+ sftp-server:
+ container_name: sftp-server
+ image: atmoz/sftp:alpine
+ ports:
+ - "2222:22"
volumes:
- - ./netconf:/netconf \ No newline at end of file
+ - ./sftp:/home/sftp-user/sftp
+ - ./ssh/ssh_host_rsa_key.pub:/home/sftp-user/.ssh/keys/ssh_host_rsa_key.pub:ro
+ restart: on-failure
+ command: sftp-user::1001 \ No newline at end of file
diff --git a/test/mocks/pnfsimulator/sftp/sftp-file.txt b/test/mocks/pnfsimulator/sftp/sftp-file.txt
new file mode 100644
index 000000000..43f671212
--- /dev/null
+++ b/test/mocks/pnfsimulator/sftp/sftp-file.txt
@@ -0,0 +1,2 @@
+We are SFTP specialists.
+Do you prefer chocolate or vanilia? \ No newline at end of file
diff --git a/test/mocks/pnfsimulator/ssh/ssh_host_rsa_key b/test/mocks/pnfsimulator/ssh/ssh_host_rsa_key
new file mode 100644
index 000000000..1a3c49e37
--- /dev/null
+++ b/test/mocks/pnfsimulator/ssh/ssh_host_rsa_key
@@ -0,0 +1,54 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: AES-128-CBC,242034B2C46EE5D70C6017C29024CFAE
+
+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
+-----END RSA PRIVATE KEY-----
diff --git a/test/mocks/pnfsimulator/ssh/ssh_host_rsa_key.pub b/test/mocks/pnfsimulator/ssh/ssh_host_rsa_key.pub
new file mode 100644
index 000000000..619333558
--- /dev/null
+++ b/test/mocks/pnfsimulator/ssh/ssh_host_rsa_key.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCiZJaJfjmjnaJqHTcYG8DkrU1Mr7WAmGR70QVd4mDxmM5vPm26nOv3uDO0sSwjP/sDGyVzlaxwlnfBfVZwJbMMf6sEPMNCLvBSwT4E6vf9rKwXqUIzj8hZuvOd7RPp241Z29CkL6aep6QNSk3NOlu4mxGMv+WJwyoDq8ya+ePEXQgl5QipabAmXFOKk1x15z9tcs9Dw5JvKkCpjpJ7zAd9tkmuiramS9OlETy8BJ0QkMj3ucNuqDsUkUzvKnnWHVcykmacJY3v3D9S4BoqLc1XZTVB4oRg0GlOCqOMQeVLP/jxtzVYiK5EsHbC55qhC9i8IaaSyeN66hgWwIh6FHhPMHr40vRKyliZGK0aBP+paS0V1PvNUW9+sb3ZDB/7mu/0yp06yGpqJAAFRQCZzNqiWbbQy1s/+HQbtUwVr7gnY2jhhAv8bcBPwTtIctg/rO/WDWJJsLzuFnb7fGkFL+EqAt0qozDSL5bDzJgylg00Y6GM1ebvBluNE+71n1TigInlIvKWHKtrAtiHQwXLOS/v3aEoepgJKiwABvYXiB2QNXqxkbrnFoT4+byhmakG3SVmDCDUlbQoDJpKLekwt5dezSuDNdFeC1TxUahfsBcOOG1TOxrsCKJU+ZoMXVXsouAAshpWiSZGZR2imXFLcRfDV5FI2bRZPv+WADzuzsfkJw== \ No newline at end of file
diff --git a/version-manifest/src/main/resources/docker-manifest-staging.csv b/version-manifest/src/main/resources/docker-manifest-staging.csv
index a0a721856..948523855 100644
--- a/version-manifest/src/main/resources/docker-manifest-staging.csv
+++ b/version-manifest/src/main/resources/docker-manifest-staging.csv
@@ -1,18 +1,17 @@
image,tag
-onap/aaf/aaf_cm,2.1.1
-onap/aaf/aaf_fs,2.1.1
-onap/aaf/aaf_gui,2.1.1
-onap/aaf/aaf_hello,2.1.1
-onap/aaf/aaf_locate,2.1.1
-onap/aaf/aaf_oauth,2.1.1
-onap/aaf/aaf_service,2.1.1
+onap/aaf/aaf_cm,2.1.2-SNAPSHOT
+onap/aaf/aaf_fs,2.1.2-SNAPSHOT
+onap/aaf/aaf_gui,2.1.2-SNAPSHOT
+onap/aaf/aaf_hello,2.1.2-SNAPSHOT
+onap/aaf/aaf_locate,2.1.2-SNAPSHOT
+onap/aaf/aaf_oauth,2.1.2-SNAPSHOT
+onap/aaf/aaf_service,2.1.2-SNAPSHOT
onap/aaf/sms,2.0.0
onap/aaf/smsquorumclient,2.0.0
onap/aai-resources,1.2.2
onap/aai-traversal,1.2.2
onap/aai/esr-gui,1.1.0
onap/aai/esr-server,1.1.0
-onap/activity-spec,1.3.0
onap/admportal-sdnc-image,1.4-STAGING-latest
onap/appc-cdt-image,1.4.0-SNAPSHOT-latest
onap/appc-image,1.4.0-SNAPSHOT-latest
@@ -25,11 +24,12 @@ onap/clamp,3.0-STAGING-latest
onap/cli,2.0.2
onap/data-router,1.2.2
onap/dmaap/buscontroller,1.0.12
-onap/dmaap/dmaap-mr,1.1.5
+onap/dmaap/dmaap-mr,1.1.6
+onap/dmaap/kafka01101,0.0.1
onap/externalapi/nbi,2.0.0
onap/gizmo,1.2.1
-onap/holmes/engine-management,1.1.0
-onap/holmes/rule-management,1.1.0
+onap/holmes/engine-management,1.2.0-STAGING-latest
+onap/holmes/rule-management,1.2.0-STAGING-latest
onap/model-loader,1.2.1
onap/msb/msb_apigateway,1.2.0-STAGING-latest
onap/msb/msb_discovery,1.2.0-STAGING-latest
@@ -37,7 +37,7 @@ onap/multicloud/framework,1.2.0-STAGING
onap/multicloud/openstack-newton,1.2.0-STAGING
onap/multicloud/openstack-ocata,1.2.0-STAGING
onap/multicloud/openstack-windriver,1.2.0-STAGING
-onap/multicloud/vio,1.2.0-STAGING
+onap/multicloud/vio,1.1.2
onap/multicloud/vio-vesagent,1.0.0
onap/music/cassandra_music,3.0.0
onap/music/music,2.5.3
@@ -116,7 +116,7 @@ onap/vfc/wfengine-activiti,1.1.0
onap/vfc/wfengine-mgrservice,1.1.0
onap/vfc/ztesdncdriver,1.1.0
onap/vfc/ztevnfmdriver,1.1.0
-onap/vid,2.0.0
+onap/vid,3.0-STAGING-latest
onap/vnfsdk/ice,1.1.0
onap/vnfsdk/refrepo,1.1.1
onap/vnfsdk/refrepo/postgres,1.1.1
diff --git a/version-manifest/src/main/resources/java-manifest.csv b/version-manifest/src/main/resources/java-manifest.csv
index 5393b80bb..64d78a667 100644
--- a/version-manifest/src/main/resources/java-manifest.csv
+++ b/version-manifest/src/main/resources/java-manifest.csv
@@ -1,28 +1,28 @@
groupId,artifactId,version
-org.onap.aaf.authz,aaf-auth-batch,2.1.1
-org.onap.aaf.authz,aaf-auth-cass,2.1.1
-org.onap.aaf.authz,aaf-auth-certman,2.1.1
-org.onap.aaf.authz,aaf-auth-client,2.1.1
-org.onap.aaf.authz,aaf-auth-cmd,2.1.1
-org.onap.aaf.authz,aaf-auth-core,2.1.1
-org.onap.aaf.authz,aaf-auth-deforg,2.1.1
-org.onap.aaf.authz,aaf-auth-fs,2.1.1
-org.onap.aaf.authz,aaf-auth-gui,2.1.1
-org.onap.aaf.authz,aaf-auth-hello,2.1.1
-org.onap.aaf.authz,aaf-auth-locate,2.1.1
-org.onap.aaf.authz,aaf-auth-oauth,2.1.1
-org.onap.aaf.authz,aaf-auth-service,2.1.1
-org.onap.aaf.authz,aaf-cadi-aaf,2.1.1
-org.onap.aaf.authz,aaf-cadi-cass,2.1.1
-org.onap.aaf.authz,aaf-cadi-client,2.1.1
-org.onap.aaf.authz,aaf-cadi-core,2.1.1
-org.onap.aaf.authz,aaf-cadi-oauth-enduser,2.1.1
-org.onap.aaf.authz,aaf-cadi-shiro,2.1.1
-org.onap.aaf.authz,aaf-misc-env,2.1.1
-org.onap.aaf.authz,aaf-misc-log4j,2.1.1
-org.onap.aaf.authz,aaf-misc-rosetta,2.1.1
-org.onap.aaf.authz,aaf-misc-xgen,2.1.1
-org.onap.aaf.authz,aaf-shiro-aafrealm-osgi-bundle,2.1.1
+org.onap.aaf.authz,aaf-auth-batch,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-cass,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-certman,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-client,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-cmd,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-core,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-deforg,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-fs,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-gui,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-hello,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-locate,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-oauth,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-auth-service,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-cadi-aaf,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-cadi-cass,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-cadi-client,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-cadi-core,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-cadi-oauth-enduser,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-cadi-shiro,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-misc-env,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-misc-log4j,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-misc-rosetta,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-misc-xgen,2.1.2-SNAPSHOT
+org.onap.aaf.authz,aaf-shiro-aafrealm-osgi-bundle,2.1.2-SNAPSHOT
org.onap.aai,rest-client,1.2.1
org.onap.aai,search-data-service,1.2.0
org.onap.aai.aai-common,aai-annotations,1.2.4
@@ -185,10 +185,10 @@ org.onap.dmaap.messagerouter.dmaapclient,dmaapClient,1.0.0
org.onap.dmaap.messagerouter.messageservice,dmaapMR1,1.0.1
org.onap.dmaap.messagerouter.mirroragent,dmaapMMAgent,1.0.0
org.onap.dmaap.messagerouter.msgrtr,msgrtr,1.0.0
-org.onap.holmes.common,holmes-actions,1.0.0
-org.onap.holmes.dsa,dmaap-dsa,1.0.0
-org.onap.holmes.engine-management,holmes-engine-d,1.1.0
-org.onap.holmes.rule-management,holmes-rulemgt,1.1.0
+org.onap.holmes.common,holmes-actions,1.2.0-SNAPSHOT
+org.onap.holmes.dsa,dmaap-dsa,1.2.0-SNAPSHOT
+org.onap.holmes.engine-management,holmes-engine-d,1.2.0-SNAPSHOT
+org.onap.holmes.rule-management,holmes-rulemgt,1.2.0-SNAPSHOT
org.onap.modeling.toscaparsers,Checker,1.0.0
org.onap.modeling.toscaparsers,Service,1.0.0
org.onap.modeling.toscaparsers,kwalify,1.0.0
diff --git a/version-manifest/src/main/scripts/upgrade-oparent.sh b/version-manifest/src/main/scripts/upgrade-oparent.sh
new file mode 100755
index 000000000..aec665ee9
--- /dev/null
+++ b/version-manifest/src/main/scripts/upgrade-oparent.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+#
+# Copyright 2017 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+cat projects.txt | grep -v oparent | grep -v doc | grep -v ci-management | while read p; do
+ pushd $p
+
+ #git fetch origin
+ #git reset --hard origin
+ for pom in $(find -name pom.xml); do
+ git checkout origin/master -- $pom
+ dos2unix < $pom | cmp -s - $pom
+ IS_DOS=$?
+ if grep -q "oparent" $pom; then
+ xmlstarlet ed -L -P -N ns="http://maven.apache.org/POM/4.0.0" -u '/_:project/_:parent[_:groupId="org.onap.oparent" and _:artifactId="oparent"]/_:version' -v '1.2.0' $pom
+ sed -i 's/^[ \t]*$//' $pom
+ fi
+ if grep -q "guava" $pom; then
+ xmlstarlet ed -L -P -N ns="http://maven.apache.org/POM/4.0.0" -d '//_:dependency[_:groupId="com.google.guava" and _:artifactId="guava"]/_:version' $pom
+ sed -i 's/^[ \t]*$//' $pom
+ fi
+ if [ $IS_DOS -ne 0 ]; then
+ unix2dos $pom
+ fi
+ done
+ git --no-pager diff
+
+
+ if [ $(git rev-parse HEAD) == $(git rev-parse @{u}) ]; then
+
+ git commit -a -s -m 'Use managed guava version
+
+Use centrally managed guava version specified in
+oparent. Includes upgrade to oparent 1.2.0.
+
+This change was submitted by script and may include
+additional whitespace or formatting changes.
+
+Issue-ID: INT-619
+'
+ else
+ git commit -a -s --amend --no-edit
+ fi
+ git review -r origin -D
+ popd
+done