DMaaP busontroller integration w MR 39/42839/1
authorDominic Lunanuova <dgl@research.att.com>
Sat, 14 Apr 2018 01:33:15 +0000 (01:33 +0000)
committerDominic Lunanuova <dgl@research.att.com>
Sat, 14 Apr 2018 01:33:29 +0000 (01:33 +0000)
This replaces mock server for MR with actual MR containers.
Refactored MR launch script to be common.
Neither MR or Buscontroller uses AAF.

Change-Id: I30b262f17fe4d293fc2b5870fed6a977438e9cef
Signed-off-by: Dominic Lunanuova <dgl@research.att.com>
Issue-ID: DMAAP-320

test/csit/plans/dmaap-buscontroller/with_mr/setup.sh [new file with mode: 0755]
test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh [new file with mode: 0644]
test/csit/plans/dmaap-buscontroller/with_mr/testplan.txt [new file with mode: 0644]
test/csit/scripts/dmaap-buscontroller/dmaapbc-launch.sh
test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh [new file with mode: 0755]
test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh [new file with mode: 0755]

diff --git a/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh b/test/csit/plans/dmaap-buscontroller/with_mr/setup.sh
new file mode 100755 (executable)
index 0000000..3e6efd4
--- /dev/null
@@ -0,0 +1,44 @@
+#!/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-message-router/dmaap-mr-launch.sh
+dmaap_mr_launch
+MRC_IP=${IP}
+
+source ${WORKSPACE}/test/csit/scripts/dmaap-buscontroller/start-mock.sh
+start_mock "aaf" 
+AAF_IP=${IP}
+start_mock "drps" 
+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}"
+
diff --git a/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh b/test/csit/plans/dmaap-buscontroller/with_mr/teardown.sh
new file mode 100644 (file)
index 0000000..0474dde
--- /dev/null
@@ -0,0 +1,28 @@
+#!/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=========================================================
+# 
+#
+source ${WORKSPACE}/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh
+
+dmaap_mr_teardown
+kill-instance.sh aaf-mock
+kill-instance.sh drps-mock
+kill-instance.sh dmaapbc
+
diff --git a/test/csit/plans/dmaap-buscontroller/with_mr/testplan.txt b/test/csit/plans/dmaap-buscontroller/with_mr/testplan.txt
new file mode 100644 (file)
index 0000000..39a2f44
--- /dev/null
@@ -0,0 +1,4 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+dmaap-buscontroller/suite1
+
index 72c4438..5c34953 100755 (executable)
@@ -4,7 +4,7 @@
 # sets global var IP with assigned IP address
 
 function dmaapbc_launch() {
-       TAG=onap/dmaap/buscontroller
+       TAG=onap/dmaap/buscontroller:latest
        CONTAINER_NAME=dmaapbc
        IP=""
 
diff --git a/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh b/test/csit/scripts/dmaap-message-router/dmaap-mr-launch.sh
new file mode 100755 (executable)
index 0000000..95fecff
--- /dev/null
@@ -0,0 +1,105 @@
+#!/bin/bash
+#
+# ============LICENSE_START=======================================================
+# ONAP DMAAP MR 
+# ================================================================================
+# 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============================================
+# ===================================================================
+# ECOMP is a trademark and service mark of AT&T Intellectual Property.
+#
+# This script is a copy of plans/dmaap/mrpubsub/setup.sh, placed in the scripts
+# dir, and edited to be a callable function from other plans. e.g. dmaap-buscontroller needs it.
+#
+source ${SCRIPTS}/common_functions.sh
+
+# function to launch DMaaP MR docker containers.
+# sets global var IP with assigned IP address of MR container.
+# (kafka and zk containers are not called externally)
+
+function dmaap_mr_launch() {
+               # Clone DMaaP Message Router repo
+               mkdir -p $WORKSPACE/archives/dmaapmr
+               cd $WORKSPACE/archives/dmaapmr
+               #unset http_proxy https_proxy
+               git clone --depth 1 http://gerrit.onap.org/r/dmaap/messagerouter/messageservice -b master
+               git pull
+               cd $WORKSPACE/archives/dmaapmr/messageservice/src/main/resources/docker-compose
+               cp $WORKSPACE/archives/dmaapmr/messageservice/bundleconfig-local/etc/appprops/MsgRtrApi.properties /var/tmp/
+
+
+               # start DMaaP MR containers with docker compose and configuration from docker-compose.yml
+               docker login -u docker -p docker nexus3.onap.org:10001
+               docker-compose up -d
+
+               # 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) ] 
+                       then
+                               echo "DMaaP Service Running"    
+                               break                   
+                       else 
+                               echo sleep $i           
+                               sleep $i
+                       fi
+               done
+
+
+               DMAAP_MR_IP=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dockercompose_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)
+
+               echo DMAAP_MR_IP=${DMAAP_MR_IP}
+               echo IP=${IP}
+               echo KAFKA_IP=${KAFKA_IP}
+               echo ZOOKEEPER_IP=${ZOOKEEPER_IP}
+
+               # Initial docker-compose up and down is for populating kafka and zookeeper IPs in /var/tmp/MsgRtrApi.properites
+               docker-compose down 
+
+               # Update kafkfa and zookeeper properties in MsgRtrApi.propeties which will be copied to DMaaP Container
+               sed -i -e 's/<zookeeper_host>/'$ZOOKEEPER_IP'/' /var/tmp/MsgRtrApi.properties
+               sed -i -e 's/<kafka_host>:<kafka_port>/'$KAFKA_IP':9092/' /var/tmp/MsgRtrApi.properties
+
+               docker-compose build
+               docker login -u docker -p docker nexus3.onap.org:10001
+               docker-compose up -d 
+
+               # 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) ]
+                               then
+                                               echo "DMaaP Service Running"
+                                               break
+                               else
+                                               echo sleep $i
+                                               sleep $i
+                               fi
+               done
+
+               # Wait for initialization of docker services
+               for i in {1..50}; do
+                       curl -sS -m 1 ${DMAAP_MR_IP}:3904/events/TestTopic && break 
+                       echo sleep $i
+                       sleep $i
+               done
+}
+
diff --git a/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh b/test/csit/scripts/dmaap-message-router/dmaap-mr-teardown.sh
new file mode 100755 (executable)
index 0000000..f573857
--- /dev/null
@@ -0,0 +1,24 @@
+#!/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) 2018 AT&T Intellectual Property
+#
+
+function dmaap_mr_teardown() {
+kill-instance.sh dockercompose_dmaap_1 
+kill-instance.sh dockercompose_kafka_1 
+kill-instance.sh dockercompose_zookeeper_1
+}