* New upstream release.
* Updated (build-)depends for this release.
+ * Added log facilities for all daemons.
+ * Added systemd support.
-- Thomas Goirand <zigo@debian.org> Thu, 02 Oct 2014 19:01:13 +0800
Thomas Goirand <zigo@debian.org>,
Mehdi Abaakouk <sileht@sileht.net>
Build-Depends: debhelper (>= 9),
+ dh-systemd,
openstack-pkg-tools (>= 12~),
po-debconf,
python-all (>= 2.6.6-3~),
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Heat API"
-NAME=heat-api-cfn
-DAEMON=/usr/bin/heat-api-cfn
-PIDFILE=/var/run/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-SYSTEM_USER=heat
+PROJECT_NAME=heat
+NAME=${PROJECT_NAME}-api-cfn
+DAEMON=/usr/bin/${NAME}
+DAEMON_ARGS="--config-file=/etc/${PROJECT_NAME}/${PROJECT_NAME}.conf"
+PIDFILE=/var/run/${NAME}.pid
+SCRIPTNAME=/etc/init.d/${NAME}
+SYSTEM_USER=${PROJECT_NAME}
+SYSTEM_GROUP=${PROJECT_NAME}
+LOCK_DIR=/var/lock/${PROJECT_NAME}/
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
+mkdir -p ${LOCK_DIR} /var/run/${PROJECT_NAME} /var/log/${PROJECT_NAME}
+chown ${SYSTEM_USER} ${LOCK_DIR} /var/run/${PROJECT_NAME} /var/log/${PROJECT_NAME}
+
. /lib/lsb/init-functions
-if [ ! -e /var/log/heat ] ; then
- mkdir -p /var/log/heat
- chown ${SYSTEM_USER} /var/log/heat
-fi
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/${NAME} ] && . /etc/default/${NAME}
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file=/var/log/${PROJECT_NAME}/${NAME}.log"
do_start () {
- start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1
- start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON || return 2
+ start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_GROUP} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1
+ start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_GROUP} --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- ${DAEMON_ARGS} || return 2
}
do_stop () {
}
case "$1" in
- start)
- log_daemon_msg "Starting $DESC" "$NAME"
- do_start
- case "$?" in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- stop)
- log_daemon_msg "Stopping $DESC" "$NAME"
- do_stop
- case "$?" in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- restart|force-reload)
- log_daemon_msg "Restarting $DESC" "$NAME"
- do_stop
- case "$?" in
- 0|1)
- do_start
- case "$?" in
- 0) log_end_msg 0 ;;
- 1) log_end_msg 1 ;; # Old process is still running
- *) log_end_msg 1 ;; # Failed to start
- esac
- ;;
- *)
- # Failed to stop
- log_end_msg 1
- ;;
- esac
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
- exit 3
- ;;
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+systemd-start)
+ do_start
+;;
+systemd-stop)
+ do_stop
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
esac
+
+exit 0
--- /dev/null
+[Unit]
+Description=OpenStack Heat API CFN
+Documentation=http://docs.openstack.org/
+After=postgresql.service mysql.service keystone.service rabbitmq-server.service ntp.service network.service
+
+[Service]
+User=heat
+Group=heat
+ExecStart=/etc/init.d/heat-api-cfn systemd-start
+ExecStop=/etc/init.d/heat-api-cfn systemd-stop
+PIDFile=/var/run/heat/heat-api-cfn.pid
+Restart=on-failure
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Heat API"
-NAME=heat-api-cloudwatch
-DAEMON=/usr/bin/heat-api-cloudwatch
-PIDFILE=/var/run/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-SYSTEM_USER=heat
+PROJECT_NAME=heat
+NAME=${PROJECT_NAME}-api-cloudwatch
+DAEMON=/usr/bin/${NAME}
+DAEMON_ARGS="--config-file=/etc/${PROJECT_NAME}/${PROJECT_NAME}.conf"
+PIDFILE=/var/run/${PROJECT_NAME}/${NAME}.pid
+SCRIPTNAME=/etc/init.d/${NAME}
+SYSTEM_USER=${PROJECT_NAME}
+SYSTEM_GROUP=${PROJECT_NAME}
+LOCK_DIR=/var/lock/${PROJECT_NAME}/
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
. /lib/lsb/init-functions
-if [ ! -e /var/log/heat ] ; then
- mkdir -p /var/log/heat
- chown ${SYSTEM_USER} /var/log/heat
-fi
+mkdir -p ${LOCK_DIR} /var/run/${PROJECT_NAME} /var/log/${PROJECT_NAME}
+chown ${SYSTEM_USER} ${LOCK_DIR} /var/run/${PROJECT_NAME} /var/log/${PROJECT_NAME}
+
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file=/var/log/${PROJECT_NAME}/${NAME}.log"
do_start () {
start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1
- start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON || return 2
+ start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- ${DAEMON_ARGS} || return 2
}
do_stop () {
}
case "$1" in
- start)
- log_daemon_msg "Starting $DESC" "$NAME"
- do_start
- case "$?" in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- stop)
- log_daemon_msg "Stopping $DESC" "$NAME"
- do_stop
- case "$?" in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- restart|force-reload)
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+systemd-start)
+ do_start
+;;
+systemd-stop)
+ do_stop
+;;
+restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
- 0|1)
- do_start
- case "$?" in
- 0) log_end_msg 0 ;;
- 1) log_end_msg 1 ;; # Old process is still running
- *) log_end_msg 1 ;; # Failed to start
- esac
- ;;
- *)
- # Failed to stop
- log_end_msg 1
- ;;
- esac
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
- exit 3
- ;;
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
esac
--- /dev/null
+[Unit]
+Description=OpenStack API CloudWatch
+Documentation=http://docs.openstack.org/
+After=postgresql.service mysql.service keystone.service rabbitmq-server.service ntp.service network.service
+
+[Service]
+User=heat
+Group=heat
+ExecStart=/etc/init.d/heat-api-cloudwatch systemd-start
+ExecStop=/etc/init.d/heat-api-cloudwatch systemd-stop
+PIDFile=/var/run/heat/heat-api-cloudwatch.pid
+Restart=on-failure
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Heat API"
-NAME=heat-api
-DAEMON=/usr/bin/heat-api
-PIDFILE=/var/run/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-SYSTEM_USER=heat
+PROJECT_NAME=heat
+NAME=${PROJECT_NAME}-api
+DAEMON=/usr/bin/${NAME}
+DAEMON_ARGS="--config-file=/etc/${PROJECT_NAME}/${PROJECT_NAME}.conf"
+PIDFILE=/var/run/${PROJECT_NAME}/${NAME}.pid
+SCRIPTNAME=/etc/init.d/${NAME}
+SYSTEM_USER=${PROJECT_NAME}
+SYSTEM_GROUP=${PROJECT_NAME}
+LOCK_DIR=/var/lock/${PROJECT_NAME}/
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
+mkdir -p ${LOCK_DIR} /var/run/${PROJECT_NAME} /var/log/${PROJECT_NAME}
+chown ${SYSTEM_USER} ${LOCK_DIR} /var/run/${PROJECT_NAME} /var/log/${PROJECT_NAME}
+
. /lib/lsb/init-functions
-if [ ! -e /var/log/heat ] ; then
- mkdir -p /var/log/heat
- chown ${SYSTEM_USER} /var/log/heat
-fi
+# Manage log options
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file=/var/log/${PROJECT_NAME}/${NAME}.log"
do_start () {
start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1
- start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON || return 2
+ start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- ${DAEMON_ARGS} || return 2
}
do_stop () {
}
case "$1" in
- start)
- log_daemon_msg "Starting $DESC" "$NAME"
- do_start
- case "$?" in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- stop)
- log_daemon_msg "Stopping $DESC" "$NAME"
- do_stop
- case "$?" in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- restart|force-reload)
- log_daemon_msg "Restarting $DESC" "$NAME"
- do_stop
- case "$?" in
- 0|1)
- do_start
- case "$?" in
- 0) log_end_msg 0 ;;
- 1) log_end_msg 1 ;; # Old process is still running
- *) log_end_msg 1 ;; # Failed to start
- esac
- ;;
- *)
- # Failed to stop
- log_end_msg 1
- ;;
- esac
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
- exit 3
- ;;
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+systemd-start)
+ do_start
+;;
+systemd-stop)
+ do_stop
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
esac
+
+exit 0
--- /dev/null
+[Unit]
+Description=OpenStack Heat API
+Documentation=http://docs.openstack.org/
+After=postgresql.service mysql.service keystone.service rabbitmq-server.service ntp.service network.service
+
+[Service]
+User=heat
+Group=heat
+ExecStart=/etc/init.d/heat-api systemd-start
+ExecStop=/etc/init.d/heat-api systemd-stop
+PIDFile=/var/run/heat/heat-api.pid
+Restart=on-failure
+Type=forking
+
+[Install]
+WantedBy=multi-user.target
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Heat Engine"
-NAME=heat-engine
-DAEMON=/usr/bin/heat-engine
-PIDFILE=/var/run/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-SYSTEM_USER=heat
+PROJECT_NAME=heat
+NAME=${PROJECT_NAME}-engine
+DAEMON=/usr/bin/${NAME}
+DAEMON_ARGS="--config-file=/etc/${PROJECT_NAME}/${PROJECT_NAME}.conf"
+PIDFILE=/var/run/${PROJECT_NAME}/${NAME}.pid
+SCRIPTNAME=/etc/init.d/${NAME}
+SYSTEM_USER=${PROJECT_NAME}
+SYSTEM_GROUP=${PROJECT_NAME}
+LOCK_DIR=/var/lock/${PROJECT_NAME}/
# Exit if the package is not installed
[ -x $DAEMON ] || exit 0
+mkdir -p ${LOCK_DIR} /var/run/${PROJECT_NAME} /var/log/${PROJECT_NAME}
+chown ${SYSTEM_USER} ${LOCK_DIR} /var/run/${PROJECT_NAME} /var/log/${PROJECT_NAME}
+
. /lib/lsb/init-functions
-if [ ! -e /var/log/heat ] ; then
- mkdir -p /var/log/heat
- chown ${SYSTEM_USER} /var/log/heat
-fi
+# Manage log options
+[ -r /etc/default/openstack ] && . /etc/default/openstack
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+[ "x$USE_SYSLOG" = "xyes" ] && DAEMON_ARGS="$DAEMON_ARGS --use-syslog"
+[ "x$USE_LOGFILE" != "xno" ] && DAEMON_ARGS="$DAEMON_ARGS --log-file=/var/log/${PROJECT_NAME}/${NAME}.log"
do_start () {
start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON --test > /dev/null || return 1
- start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON || return 2
+ start-stop-daemon --start --background --quiet --chuid ${SYSTEM_USER}:${SYSTEM_USER} --make-pidfile --pidfile $PIDFILE --startas $DAEMON -- ${DAEMON_ARGS} || return 2
}
do_stop () {
}
case "$1" in
- start)
- log_daemon_msg "Starting $DESC" "$NAME"
- do_start
- case "$?" in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- stop)
- log_daemon_msg "Stopping $DESC" "$NAME"
- do_stop
- case "$?" in
- 0|1) log_end_msg 0 ;;
- 2) log_end_msg 1 ;;
- esac
- ;;
- status)
- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- restart|force-reload)
- log_daemon_msg "Restarting $DESC" "$NAME"
+start)
+ log_daemon_msg "Starting $DESC" "$NAME"
+ do_start
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+stop)
+ log_daemon_msg "Stopping $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1) log_end_msg 0 ;;
+ 2) log_end_msg 1 ;;
+ esac
+;;
+status)
+ status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+;;
+systemd-start)
+ do_start
+;;
+systemd-stop)
do_stop
- case "$?" in
- 0|1)
- do_start
- case "$?" in
- 0) log_end_msg 0 ;;
- 1) log_end_msg 1 ;; # Old process is still running
- *) log_end_msg 1 ;; # Failed to start
- esac
- ;;
- *)
- # Failed to stop
- log_end_msg 1
- ;;
- esac
- ;;
- *)
- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
- exit 3
- ;;
+;;
+restart|force-reload)
+ log_daemon_msg "Restarting $DESC" "$NAME"
+ do_stop
+ case "$?" in
+ 0|1)
+ do_start
+ case "$?" in
+ 0) log_end_msg 0 ;;
+ 1) log_end_msg 1 ;; # Old process is still running
+ *) log_end_msg 1 ;; # Failed to start
+ esac
+ ;;
+ *)
+ # Failed to stop
+ log_end_msg 1
+ ;;
+ esac
+;;
+*)
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+ exit 3
+;;
esac
--- /dev/null
+[Unit]
+Description=OpenStack Heat Engine
+Documentation=http://docs.openstack.org/
+After=postgresql.service mysql.service keystone.service rabbitmq-server.service ntp.service network.service
+
+[Service]
+User=heat
+Group=heat
+ExecStart=/etc/init.d/heat-engine systemd-start
+ExecStop=/etc/init.d/heat-engine systemd-stop
+PIDFile=/var/run/heat/heat-engine.pid
+Restart=on-failure
+Type=forking
+
+[Install]
+WantedBy=multi-user.target