Merge "Fixes for opensource vulnerabilities"
[dmaap/messagerouter/messageservice.git] / src / main / resources / docker-compose / create-topics.sh
1 #!/bin/bash
2 #*******************************************************************************
3 #  ============LICENSE_START=======================================================
4 #  org.onap.dmaap
5 #  ================================================================================
6 #  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
7 #  ================================================================================
8 #  Licensed under the Apache License, Version 2.0 (the "License");
9 #  you may not use this file except in compliance with the License.
10 #  You may obtain a copy of the License at
11 #        http://www.apache.org/licenses/LICENSE-2.0
12 #  
13 #  Unless required by applicable law or agreed to in writing, software
14 #  distributed under the License is distributed on an "AS IS" BASIS,
15 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 #  See the License for the specific language governing permissions and
17 #  limitations under the License.
18 #  ============LICENSE_END=========================================================
19 #
20 #  ECOMP is a trademark and service mark of AT&T Intellectual Property.
21 #  
22 #*******************************************************************************
23
24
25 if [[ -z "$START_TIMEOUT" ]]; then
26     START_TIMEOUT=600
27 fi
28
29 start_timeout_exceeded=false
30 count=0
31 step=10
32 while netstat -lnt | awk '$4 ~ /:'$KAFKA_PORT'$/ {exit 1}'; do
33     echo "waiting for kafka to be ready"
34     sleep $step;
35     count=$(expr $count + $step)
36     if [ $count -gt $START_TIMEOUT ]; then
37         start_timeout_exceeded=true
38         break
39     fi
40 done
41
42 if $start_timeout_exceeded; then
43     echo "Not able to auto-create topic (waited for $START_TIMEOUT sec)"
44     exit 1
45 fi
46
47 if [[ -n $KAFKA_CREATE_TOPICS ]]; then
48     IFS=','; for topicToCreate in $KAFKA_CREATE_TOPICS; do
49         echo "creating topics: $topicToCreate" 
50         IFS=':' read -a topicConfig <<< "$topicToCreate"
51         JMX_PORT='' $KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper $KAFKA_ZOOKEEPER_CONNECT --replication-factor ${topicConfig[2]} --partition ${topicConfig[1]} --topic "${topicConfig[0]}"
52     done
53 fi