Skip to content

Commit e7e60e2

Browse files
authored
Merge pull request #103 from OpenVoxProject/javafoo
Remove wrapper scripts to start Java directly via systemd & switch forking->notify-reload
2 parents b8bd4cd + 947dd6b commit e7e60e2

11 files changed

Lines changed: 85 additions & 413 deletions

File tree

resources/puppetlabs/lein-ezbake/staging-templates/project_data.yaml.mustache

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,9 @@ templates:
4141
- ext/debian/postinst.erb
4242
- ext/config/user/conf.d/*.erb
4343
- ext/bin/*.erb
44-
- ext/cli/apps/*.erb
4544
- ext/cli/*.erb
4645
- ext/cli_defaults/*.erb
4746
- ext/default.erb
48-
- ext/ezbake-functions.sh.erb
4947
- install.sh.erb
5048
- controller.sh.erb
5149
tar_excludes:

resources/puppetlabs/lein-ezbake/template/foss/ext/default.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Init settings for <%= EZBake::Config[:project] %>
33
###########################################
44

5-
# Location of your Java binary
5+
# used by openvox-server CLI apps, not by the systemd unit
66
JAVA_BIN="<%= EZBake::Config[:java_bin] %>"
77

88
# Modify this if you'd like to change the memory allocation, enable JMX, etc

resources/puppetlabs/lein-ezbake/template/global/ext/cli/foreground.erb

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,27 @@
11
#!/usr/bin/env bash
22

3-
restartfile="/opt/puppetlabs/server/data/<%= EZBake::Config[:real_name] %>/restartcounter"
4-
cli_defaults=${INSTALL_DIR}/cli/cli-defaults.sh
3+
# This file is meant to be used in containers to start the java process with correct parameters
54

6-
if [ ! -e "${INSTALL_DIR}/ezbake-functions.sh" ]; then
7-
echo "Unable to find ${INSTALL_DIR}/ezbake-functions.sh script, failing start." 1>&2
8-
exit 1
9-
fi
10-
11-
. "${INSTALL_DIR}/ezbake-functions.sh"
12-
13-
init_restart_file "$restartfile" || exit $?
14-
15-
if !(echo "${@}" | grep -e "--debug" -q)
5+
if ! (echo "${@}" | grep -e "--debug" -q)
166
then
177
LOG_APPENDER="-Dlogappender=STDOUT"
188
fi
199

2010
CLASSPATH="${INSTALL_DIR}/<%= EZBake::Config[:uberjar_name] %>"
2111

12+
cli_defaults="${INSTALL_DIR}/cli/cli-defaults.sh"
2213
if [ -e "$cli_defaults" ]; then
23-
. $cli_defaults
14+
. "$cli_defaults"
2415
if [ $? -ne 0 ]; then
2516
echo "Unable to initialize cli defaults, failing start." 1>&2
2617
exit 1
2718
fi
2819
fi
2920

3021
COMMAND="${JAVA_BIN} ${JAVA_ARGS} ${LOG_APPENDER} \
31-
-cp "$CLASSPATH" \
22+
-cp '${CLASSPATH}' \
3223
clojure.main -m <%= EZBake::Config[:main_namespace] %> \
3324
--config ${CONFIG} --bootstrap-config ${BOOTSTRAP_CONFIG} \
34-
--restart-file "${restartfile}" \
3525
${TK_ARGS} \
3626
${@}"
3727

resources/puppetlabs/lein-ezbake/template/global/ext/cli/reload.erb

Lines changed: 0 additions & 50 deletions
This file was deleted.

resources/puppetlabs/lein-ezbake/template/global/ext/cli/start.erb

Lines changed: 0 additions & 120 deletions
This file was deleted.

resources/puppetlabs/lein-ezbake/template/global/ext/cli/stop.erb

Lines changed: 0 additions & 26 deletions
This file was deleted.

resources/puppetlabs/lein-ezbake/template/global/ext/debian/ezbake.service.erb

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,15 @@ Wants=<%= EZBake::Config[:start_after].map {|dep| "#{dep}.service" }.join(" ") %
1919
<% end -%>
2020

2121
[Service]
22-
Type=forking
22+
Type=notify-reload
23+
LogsDirectory=puppetlabs/<%= EZBake::Config[:real_name] %>
24+
RuntimeDirectory=puppetlabs/<%= EZBake::Config[:real_name] %>
2325
EnvironmentFile=/etc/default/<%= EZBake::Config[:project] %>
2426
User=<%= EZBake::Config[:user] %>
2527
TimeoutStartSec=<%= EZBake::Config[:start_timeout] %>
2628
TimeoutStopSec=<%= EZBake::Config[:stop_timeout] %>
2729
Restart=on-failure
2830
StartLimitBurst=5
29-
PIDFile=/run/puppetlabs/<%= EZBake::Config[:real_name] %>/<%= EZBake::Config[:real_name] %>.pid
3031
PrivateTmp=true
3132

3233
# https://tickets.puppetlabs.com/browse/EZ-129
@@ -50,15 +51,22 @@ ExecStartPre=<%= action %>
5051
<% end -%>
5152
<% end -%>
5253

53-
ExecReload=/opt/puppetlabs/server/apps/<%= EZBake::Config[:real_name] %>/bin/<%= EZBake::Config[:real_name] %> reload
54-
ExecStart=/opt/puppetlabs/server/apps/<%= EZBake::Config[:real_name] %>/bin/<%= EZBake::Config[:real_name] %> start
55-
ExecStop=/opt/puppetlabs/server/apps/<%= EZBake::Config[:real_name] %>/bin/<%= EZBake::Config[:real_name] %> stop
54+
ExecStart=<%= EZBake::Config[:java_bin] %> $JAVA_ARGS $LOG_APPENDER -Dlogappender=F1 \
55+
'-XX:OnOutOfMemoryError=kill -9 %p' -XX:+CrashOnOutOfMemoryError \
56+
-XX:ErrorFile="${LOGS_DIRECTORY}/<%= EZBake::Config[:real_name] %>_err_pid%p.log" \
57+
-cp "${INSTALL_DIR}/<%= EZBake::Config[:uberjar_name] %>" \
58+
clojure.main \
59+
-m <%= EZBake::Config[:main_namespace] %> \
60+
--config "${CONFIG}" \
61+
--bootstrap-config "${BOOTSTRAP_CONFIG}" \
62+
$TK_ARGS
5663

5764
KillMode=process
5865

5966
<% EZBake::Config[:debian][:post_start_action].each do |action| -%>
6067
ExecStartPost=-<%= action %>
6168
<% end -%>
69+
ExecReload=kill -HUP $MAINPID
6270
SuccessExitStatus=143
6371

6472
[Install]

0 commit comments

Comments
 (0)