blob: ddfdfc023e967698b90c6a70660a48a6e76d8f15 [file] [log] [blame]
Leonardo Bellini4dfc5ca2018-03-01 10:56:57 -06001#!/bin/bash
2#
3# Copyright 2016-2017 Huawei Technologies Co., Ltd.
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17
18#
19# add here eventual scripts needed for music
20#
Leonardo Bellini4dfc5ca2018-03-01 10:56:57 -060021echo "# music scripts calling";
Leonardo Bellini4dfc5ca2018-03-01 10:56:57 -060022source ${WORKSPACE}/test/csit/scripts/music/music-scripts/music_script.sh
23
24#
Leonardo Bellini4dfc5ca2018-03-01 10:56:57 -060025# add here all the configuration steps eventually needed to be carried out for music CSIT testing
26#
Leonardo Bellini4dfc5ca2018-03-01 10:56:57 -060027echo "# music configuration step";
Leonardo Bellinid5739462018-03-14 03:59:33 -050028
29CASS_IMG=nexus3.onap.org:10001/onap/music/cassandra_music:latest
30TOMCAT_IMG=nexus3.onap.org:10001/library/tomcat:8.0
31ZK_IMG=nexus3.onap.org:10001/library/zookeeper:3.4
32MUSIC_IMG=nexus3.onap.org:10001/onap/music/music:latest
33WORK_DIR=/tmp/music
34CASS_USERNAME=nelson24
35CASS_PASSWORD=winman123
Leonardo Bellinide47fd42018-03-07 12:07:30 -060036MUSIC_SOURCE_PROPERTIES=${WORKSPACE}/test/csit/scripts/music/music-properties
37MUSIC_PROPERTIES=/tmp/music/properties
38MUSIC_LOGS=/tmp/music/logs
Leonardo Bellinide47fd42018-03-07 12:07:30 -060039mkdir -p ${MUSIC_PROPERTIES}
40mkdir -p ${MUSIC_LOGS}
41
Leonardo Bellinid5739462018-03-14 03:59:33 -050042cp ${MUSIC_SOURCE_PROPERTIES}/* ${WORK_DIR}/properties
Leonardo Bellinide47fd42018-03-07 12:07:30 -060043
Leonardo Bellinid5739462018-03-14 03:59:33 -050044# Create Volume for mapping war file and tomcat
45docker volume create --name music-vol;
Leonardo Bellinide47fd42018-03-07 12:07:30 -060046
Leonardo Bellinid5739462018-03-14 03:59:33 -050047# Create a network for all the containers to run in.
48docker network create music-net;
Leonardo Bellinide47fd42018-03-07 12:07:30 -060049
Leonardo Bellinid5739462018-03-14 03:59:33 -050050# Start Cassandra
51docker run -d --name music-db --network music-net -p "7000:7000" -p "7001:7001" -p "7199:7199" -p "9042:9042" -p "9160:9160" -e CASSUSER=${CASS_USERNAME} -e CASSPASS=${CASS_PASSWORD} ${CASS_IMG};
52
Leonardo Bellini6515d692018-04-03 09:48:43 -050053CASSA_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-db`
54echo "CASSANDRA_IP=${CASSA_IP}"
55${WORKSPACE}/test/csit/scripts/optf-has/has/wait_for_port.sh ${CASSA_IP} 9042
56
Leonardo Bellinid5739462018-03-14 03:59:33 -050057# Start Music war
58docker run -d --name music-war -v music-vol:/app ${MUSIC_IMG};
59
60# Start Zookeeper
61docker run -d --name music-zk --network music-net -p "2181:2181" -p "2888:2888" -p "3888:3888" ${ZK_IMG};
62
Leonardo Bellini6515d692018-04-03 09:48:43 -050063ZOO_IP=`docker inspect -f '{{ $network := index .NetworkSettings.Networks "music-net" }}{{ $network.IPAddress}}' music-zk`
64echo "ZOOKEEPER_IP=${ZOO_IP}"
65
66# Delay between Cassandra/Zookeeper and Tomcat
67sleep 60;
Leonardo Bellinid5739462018-03-14 03:59:33 -050068
69# Start Up tomcat - Needs to have properties,logs dir and war file volume mapped.
70docker run -d --name music-tomcat --network music-net -p "8080:8080" -v music-vol:/usr/local/tomcat/webapps -v ${WORK_DIR}/properties:/opt/app/music/etc:ro -v ${WORK_DIR}/logs:/opt/app/music/logs ${TOMCAT_IMG};
71
72# Connect tomcat to host bridge network so that its port can be seen.
73docker network connect bridge music-tomcat;
74
Leonardo Bellinide47fd42018-03-07 12:07:30 -060075TOMCAT_IP=`docker inspect --format '{{ .NetworkSettings.Networks.bridge.IPAddress}}' music-tomcat`
76echo "TOMCAT_IP=${TOMCAT_IP}"
77
Leonardo Bellini293263e2018-03-09 07:34:07 -060078${WORKSPACE}/test/csit/scripts/music/music-scripts/wait_for_port.sh ${TOMCAT_IP} 8080
Leonardo Bellinide47fd42018-03-07 12:07:30 -060079
80
Leonardo Bellinid5739462018-03-14 03:59:33 -050081echo "inspect docker things for tracing purpose"
82docker inspect music-db
83docker inspect music-zk
84docker inspect music-tomcat
85docker inspect music-war
86docker volume inspect music-vol
87docker network inspect music-net
Leonardo Bellinide47fd42018-03-07 12:07:30 -060088
Leonardo Bellini6515d692018-04-03 09:48:43 -050089echo "dump music content just after music is started"
90docker exec music-db /usr/bin/nodetool status
91docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM system_schema.keyspaces'
92docker exec music-db /usr/bin/cqlsh -unelson24 -pwinman123 -e 'SELECT * FROM admin.keyspace_master'
Leonardo Bellini4dfc5ca2018-03-01 10:56:57 -060093
94
95#
96# add here all ROBOT_VARIABLES settings
97#
Leonardo Bellini4dfc5ca2018-03-01 10:56:57 -060098echo "# music robot variables settings";
Leonardo Bellini293263e2018-03-09 07:34:07 -060099ROBOT_VARIABLES="-v MUSIC_HOSTNAME:http://${TOMCAT_IP} -v MUSIC_PORT:8080 -v COND_HOSTNAME:http://localhost -v COND_PORT:8091"
Leonardo Bellini4dfc5ca2018-03-01 10:56:57 -0600100
101echo ${ROBOT_VARIABLES}
102
103
104