summaryrefslogtreecommitdiffstats
path: root/misc/dmaapbc
blob: 83fc8c24b5dc5767570ffdc10c7243426a29fe8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
#!/bin/bash

umask 0022
TZ=GMT0
COMPONENT=dmaapbc
APP_ROOT=/opt/app/$COMPONENT
USER=root
export TZ
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/java/jdk/jdk180/bin
export PATH
CLASSPATH=`echo $APP_ROOT/etc $APP_ROOT/lib/*.jar | tr ' ' ':'` 
export CLASSPATH
CONTAINER_CONFIG=/opt/app/config/conf
MAIN=org.onap.dmaap.dbcapi.server.Main 


pids() {
	#set -x
	ps -ef | grep java | grep $MAIN | sed -e 's/[^ ]* *//' -e 's/ .*//'
	#set +x
}

config() {
	set -x
	if [ ! -d $APP_ROOT ]
	then
		echo "Expected app root directory $APP_ROOT does not exist"
		exit 1
	fi
	if [ !  -f $CONTAINER_CONFIG ]
	then
		echo "Expected env file $CONTAINER_CONFIG not found"
		exit 1
	fi
	cd $APP_ROOT
	source $CONTAINER_CONFIG
	. misc/dmaapbc.properties.tmpl > etc/dmaapbc.properties
    . misc/PolicyEngineApi.properties.tmpl > config/PolicyEngineApi.properties
	set +x
}

start() {
	set -x
	ID=`id -n -u`
	GRP=`id -n -g`
	if [ "$ID" != "$USER" ]
	then
		echo $COMPONENT must be started as user $USER not $ID
		exit 1
	fi
	if [ "$GRP" != "$USER" ]
	then
		echo $COMPONENT must be started as group $USER not $GRP
		exit 1
	fi
	cd $APP_ROOT

# disable until we use certs
#	if etc/havecert
#	then
		echo >/dev/null
#	else
#		echo No certificate file available.  Cannot start
#		exit 0
#	fi
	PIDS=`pids`
	if [ "$PIDS" != "" ]
	then
		echo $COMPONENT already running
		exit 0
	fi
	rm -f $APP_ROOT/etc/SHUTDOWN

	# JVM flags
#old line from Dockerfile...keep for reference only
	FLAGS="-cp etc:lib/* -Dlog4j.configuration=etc/log4j.properties -Ddmaapbc.properties=etc/dmaapbc.properties  -Dhttps.protocols=TLSv1.2 -Dhttps.cipherSuites=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
	nohup java $FLAGS $MAIN </dev/null >/dev/null 2>&1 &
	sleep 5
	PIDS=`pids`
	if [ "$PIDS" = "" ]
	then
		echo $COMPONENT startup failed
		tail -100 $APP_ROOT/logs/dmaap*.log
	else
		echo $COMPONENT started
	fi
	set +x
}

stop() {
	ID=`id -n -u`
	GRP=`id -n -g`
	if [ "$ID" != "$USER" ]
	then
		echo $COMPONENT must be stopped as user $USER not $ID
		exit 1
	fi
	if [ "$GRP" != "$USER" ]
	then
		echo $COMPONENT must be stopped as group $USER not $GRP
		exit 1
	fi
	touch $APP_ROOT/etc/SHUTDOWN
	PIDS=`pids`
	if [ "$PIDS" != "" ]
	then
		sleep 5
		kill -9 $PIDS
		sleep 5
		echo $COMPONENT stopped
	else
		echo $COMPONENT not running
	fi
}

status() {
	PIDS=`pids`
	if [ "$PIDS" != "" ]
	then
		echo $COMPONENT running
	else
		echo $COMPONENT not running
	fi
}

set -x
case "$1" in
'deploy')
	config
	start
	wait
	;;
'start')
	start
	;;
'stop')
	stop
	;;
'restart')
	stop
	sleep 20
	start
	;;
'status')
	status
	;;
*)
	echo "Usage: $0 { start | stop | restart }"
	exit 1
	;;
esac
exit 0