Hi, I believe I've done my fixes for openstack-trove. I'm sorry for the debdiff being unusually long, due to the fact I removed old init scripts, which are now replaced by the templated ones (using openstack-pkg-tools).
Here's (again) the list of change: */ Package is rebuilt against openstack-pkg-tools >= 22~ to fix the last systemd issue that was preventing startup of daemons on the first install (see unblock bug #775278). */ To make sure the database directive is left unchanged unless the user explicitely asked for automated management, and for consistency across all OpenStack packages, the trove/configure_db debconf variable default value is now set to false. */ For consistency with other OpenStack packages and to allow a better compatibility with official puppet scripts, the postinst doesn't touch the db connection directive and doesn't do the "trove-manage db_sync" unless explicitely requested by the user through debconf. The pkgos_dbc_postinst isn't called either if no db management is requested. Additionally to when I first opened this bug: */ I have switched all daemons to use openstack-pkg-tools to handle the daemons. I believe this is a lot more reliable than what was there before, which I know was simply broken anyway (trove-api for example wouldn't even start). I've done the necessary checks to ensure it now works. */ The trove-conductor postinst wasn't even used (as some stuff in debian/rules was missing...). Last, I believe this upload fixes #775637 (ie: FTBFS). The changelog doesn't close that bug, but I will manage to fix the BTS manually. Please unblock package openstack-trove/2014.1.3-8. New debdiff between Debian release -4 (currently in Jessie) and -8 is attached. Cheers, Thomas Goirand (zigo)
diff -Nru openstack-trove-2014.1.3/debian/changelog openstack-trove-2014.1.3/debian/changelog --- openstack-trove-2014.1.3/debian/changelog 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/changelog 2015-01-13 17:34:52.000000000 +0000 @@ -1,3 +1,32 @@ +openstack-trove (2014.1.3-8) unstable; urgency=medium + + * Using openstack-pkg-tools to handle daemons. + * Fixed not activated trove-conductor.postinst. + + -- Thomas Goirand <[email protected]> Tue, 13 Jan 2015 16:35:56 +0100 + +openstack-trove (2014.1.3-7) unstable; urgency=medium + + * Fixes nova/configure_db -> trove/configure_db. + + -- Thomas Goirand <[email protected]> Thu, 08 Jan 2015 16:54:10 +0000 + +openstack-trove (2014.1.3-6) unstable; urgency=medium + + * trove/configure_db is now false by default. + * Only runs pkgos_dbc_postinst and trove-manage db_sync if trove/configure_db + is true. + * Build-depends on openstack-pkg-tools (>= 22~) to ensure correct init. + + -- Thomas Goirand <[email protected]> Thu, 08 Jan 2015 16:48:04 +0000 + +openstack-trove (2014.1.3-5) unstable; urgency=medium + + * Also purges /var/lib/trove when package is purged (Closes: #769771). + * Rebuilt using openstack-pkg-tools (>= 21~) to ensure init scripts fixes. + + -- Thomas Goirand <[email protected]> Wed, 07 Jan 2015 00:02:07 +0000 + openstack-trove (2014.1.3-4) unstable; urgency=medium * Fixed ucfr call to use trove-common and not nova-common (Closes: #771873). diff -Nru openstack-trove-2014.1.3/debian/control openstack-trove-2014.1.3/debian/control --- openstack-trove-2014.1.3/debian/control 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/control 2015-01-13 17:34:52.000000000 +0000 @@ -6,7 +6,8 @@ Thomas Goirand <[email protected]>, Mehdi Abaakouk <[email protected]> Build-Depends: debhelper (>= 9), - openstack-pkg-tools (>= 12~), + dh-systemd, + openstack-pkg-tools (>= 22~), po-debconf, python-all (>= 2.6.6-3~), python-pbr (>= 0.6), diff -Nru openstack-trove-2014.1.3/debian/rules openstack-trove-2014.1.3/debian/rules --- openstack-trove-2014.1.3/debian/rules 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/rules 2015-01-13 17:34:52.000000000 +0000 @@ -8,7 +8,7 @@ export OSLO_PACKAGE_VERSION=$(VERSION) %: - dh $@ --buildsystem=python_distutils --with python2,sphinxdoc + dh $@ --buildsystem=python_distutils --with python2,sphinxdoc,systemd override_dh_auto_clean: dh_auto_clean @@ -18,6 +18,8 @@ rm -f debian/trove-guestagent.postinst rm -f debian/trove-api.postinst rm -f debian/trove-api.config + rm -f debian/trove-conductor.postinst + rm -f debian/*.init debian/*.upstart debian/*.service override_dh_auto_build: dh_auto_build @@ -27,6 +29,7 @@ /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func trove-guestagent.postinst /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func trove-api.postinst /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func trove-api.config + /usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func trove-conductor.postinst override_dh_sphinxdoc: ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) diff -Nru openstack-trove-2014.1.3/debian/trove-api.init openstack-trove-2014.1.3/debian/trove-api.init --- openstack-trove-2014.1.3/debian/trove-api.init 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-api.init 1970-01-01 00:00:00.000000000 +0000 @@ -1,93 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: trove-api -# Required-Start: $network $local_fs $remote_fs $syslog -# Required-Stop: $remote_fs -# Should-Start: postgresql mysql keystone rabbitmq-server ntp -# Should-Stop: postgresql mysql keystone rabbitmq-server ntp -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Trove API -# Description: Frontend Trove API server -### END INIT INFO - -# Author: Thomas Goirand <[email protected]> - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="Trove DBaaS API" -NAME=trove-api -DAEMON=/usr/bin/trove-api -DAEMON_ARGS="--config-file=/etc/trove/trove.conf --log-dir=/var/log/trove --logfile=api.log" -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -SYSTEM_USER=trove - -# Exit if the package is not installed -[ -x $DAEMON ] || exit 0 - -. /lib/lsb/init-functions - -if [ ! -e /var/log/trove ] ; then - mkdir -p /var/log/trove - chown ${SYSTEM_USER} /var/log/trove -fi - -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 -- \ - $DAEMON_ARGS \ - || return 2 -} - -do_stop () { - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE - RETVAL="$?" - rm -f $PIDFILE - return "$RETVAL" -} - -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 -;; -esac diff -Nru openstack-trove-2014.1.3/debian/trove-api.init.in openstack-trove-2014.1.3/debian/trove-api.init.in --- openstack-trove-2014.1.3/debian/trove-api.init.in 1970-01-01 00:00:00.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-api.init.in 2015-01-13 17:34:52.000000000 +0000 @@ -0,0 +1,18 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: trove-api +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Should-Start: postgresql mysql keystone rabbitmq-server ntp +# Should-Stop: postgresql mysql keystone rabbitmq-server ntp +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Trove API +# Description: Frontend Trove API server +### END INIT INFO + +# Author: Thomas Goirand <[email protected]> + +DESC="OpenStack Trove DBaaS API" +PROJECT_NAME=trove +NAME=${PROJECT_NAME}-api diff -Nru openstack-trove-2014.1.3/debian/trove-api.upstart.in openstack-trove-2014.1.3/debian/trove-api.upstart.in --- openstack-trove-2014.1.3/debian/trove-api.upstart.in 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-api.upstart.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -description "Trove API server" -author "Thomas Goirand <[email protected]>" - -start on runlevel [2345] -stop on runlevel [!2345] - -respawn - -exec start-stop-daemon --start --chuid trove:trove \ - --chdir /var/lib/trove --name trove-api \ - --exec /usr/bin/trove-api -- --config-file=/etc/trove/trove.conf --log-dir=/var/log/trove --logfile=api.log diff -Nru openstack-trove-2014.1.3/debian/trove-common.postinst.in openstack-trove-2014.1.3/debian/trove-common.postinst.in --- openstack-trove-2014.1.3/debian/trove-common.postinst.in 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-common.postinst.in 2015-01-13 17:34:52.000000000 +0000 @@ -10,9 +10,15 @@ pkgos_var_user_group trove pkgos_write_new_conf trove trove.conf pkgos_write_new_conf trove api-paste.ini - pkgos_dbc_postinst /etc/trove/trove.conf DEFAULT sql_connection trove $@ + db_get trove/configure_db + if [ "$RET" = "true" ]; then + pkgos_dbc_postinst /etc/trove/trove.conf DEFAULT sql_connection trove $@ + fi pkgos_write_admin_creds /etc/trove/api-paste.ini filter:authtoken trove - trove-manage db_sync + db_get trove/configure_db + if [ "$RET" = "true" ]; then + trove-manage db_sync + fi db_stop fi diff -Nru openstack-trove-2014.1.3/debian/trove-common.postrm openstack-trove-2014.1.3/debian/trove-common.postrm --- openstack-trove-2014.1.3/debian/trove-common.postrm 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-common.postrm 2015-01-13 17:34:52.000000000 +0000 @@ -23,6 +23,7 @@ rm -f /etc/trove/api-paste.ini rm -f /etc/trove/trove.conf [ -d /etc/trove ] && rmdir --ignore-fail-on-non-empty /etc/trove + rm -rf /var/lib/trove fi #DEBHELPER# diff -Nru openstack-trove-2014.1.3/debian/trove-common.templates openstack-trove-2014.1.3/debian/trove-common.templates --- openstack-trove-2014.1.3/debian/trove-common.templates 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-common.templates 2015-01-13 17:34:52.000000000 +0000 @@ -9,7 +9,7 @@ Template: trove/configure_db Type: boolean -Default: true +Default: false _Description: Set up a database for Trove? No database has been set up for trove to use. Before continuing, you should make sure you have the following information: diff -Nru openstack-trove-2014.1.3/debian/trove-conductor.init openstack-trove-2014.1.3/debian/trove-conductor.init --- openstack-trove-2014.1.3/debian/trove-conductor.init 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-conductor.init 1970-01-01 00:00:00.000000000 +0000 @@ -1,93 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: trove-conductor -# Required-Start: $network $local_fs $remote_fs $syslog -# Required-Stop: $remote_fs -# Should-Start: postgresql mysql keystone rabbitmq-server ntp -# Should-Stop: postgresql mysql keystone rabbitmq-server ntp -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Trove Conductor -# Description: Trove Conductor db middleware -### END INIT INFO - -# Author: Thomas Goirand <[email protected]> - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="Trove Conductor" -NAME=trove-conductor -DAEMON=/usr/bin/trove-conductor -DAEMON_ARGS="--config-file=/etc/trove/trove-conductor.conf --log-dir=/var/log/trove --logfile=conductor.log" -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -SYSTEM_USER=trove - -# Exit if the package is not installed -[ -x $DAEMON ] || exit 0 - -. /lib/lsb/init-functions - -if [ ! -e /var/log/trove ] ; then - mkdir -p /var/log/trove - chown ${SYSTEM_USER} /var/log/trove -fi - -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 -- \ - $DAEMON_ARGS \ - || return 2 -} - -do_stop () { - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE - RETVAL="$?" - rm -f $PIDFILE - return "$RETVAL" -} - -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 -;; -esac diff -Nru openstack-trove-2014.1.3/debian/trove-conductor.init.in openstack-trove-2014.1.3/debian/trove-conductor.init.in --- openstack-trove-2014.1.3/debian/trove-conductor.init.in 1970-01-01 00:00:00.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-conductor.init.in 2015-01-13 17:34:52.000000000 +0000 @@ -0,0 +1,19 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: trove-conductor +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Should-Start: postgresql mysql keystone rabbitmq-server ntp +# Should-Stop: postgresql mysql keystone rabbitmq-server ntp +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Trove Conductor +# Description: Trove Conductor db middleware +### END INIT INFO + +# Author: Thomas Goirand <[email protected]> + +DESC="OpenStack Trove Conductor" +PROJECT_NAME=trove +NAME=${PROJECT_NAME}-conductor +CONFIG_FILE=/etc/trove/trove-conductor.conf diff -Nru openstack-trove-2014.1.3/debian/trove-conductor.upstart.in openstack-trove-2014.1.3/debian/trove-conductor.upstart.in --- openstack-trove-2014.1.3/debian/trove-conductor.upstart.in 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-conductor.upstart.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -description "Trove Conductor" -author "Thomas Goirand <[email protected]>" - -start on runlevel [2345] -stop on runlevel [!2345] - -respawn - -exec start-stop-daemon --start --chuid trove:trove \ - --chdir /var/lib/trove --name trove-api \ - --exec /usr/bin/trove-conductor -- --config-file=/etc/trove/trove-conductor.conf --log-dir=/var/log/trove --logfile=conductor.log diff -Nru openstack-trove-2014.1.3/debian/trove-guestagent.init openstack-trove-2014.1.3/debian/trove-guestagent.init --- openstack-trove-2014.1.3/debian/trove-guestagent.init 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-guestagent.init 1970-01-01 00:00:00.000000000 +0000 @@ -1,93 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: trove-guestagent -# Required-Start: $network $local_fs $remote_fs $syslog -# Required-Stop: $remote_fs -# Should-Start: postgresql mysql keystone rabbitmq-server ntp -# Should-Stop: postgresql mysql keystone rabbitmq-server ntp -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Trove Guest Agent -# Description: Trove Guest Agent -### END INIT INFO - -# Author: Thomas Goirand <[email protected]> - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="Trove DBaaS Guest agent" -NAME=trove-guestagent -DAEMON=/usr/bin/trove-guestagent -DAEMON_ARGS="--config-file=/etc/trove/trove-guestagent.conf --log-dir=/var/log/trove --logfile=guestagent.log" -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -SYSTEM_USER=trove - -# Exit if the package is not installed -[ -x $DAEMON ] || exit 0 - -. /lib/lsb/init-functions - -if [ ! -e /var/log/trove ] ; then - mkdir -p /var/log/trove - chown ${SYSTEM_USER} /var/log/trove -fi - -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 -- \ - $DAEMON_ARGS \ - || return 2 -} - -do_stop () { - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE - RETVAL="$?" - rm -f $PIDFILE - return "$RETVAL" -} - -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 -;; -esac diff -Nru openstack-trove-2014.1.3/debian/trove-guestagent.init.in openstack-trove-2014.1.3/debian/trove-guestagent.init.in --- openstack-trove-2014.1.3/debian/trove-guestagent.init.in 1970-01-01 00:00:00.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-guestagent.init.in 2015-01-13 17:34:52.000000000 +0000 @@ -0,0 +1,18 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: trove-guestagent +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Should-Start: postgresql mysql keystone rabbitmq-server ntp +# Should-Stop: postgresql mysql keystone rabbitmq-server ntp +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Trove Guest Agent +# Description: Trove Guest Agent +### END INIT INFO + +# Author: Thomas Goirand <[email protected]> +DESC="OpenStack Trove DBaaS Guest agent" +PROJECT_NAME=trove +NAME=${PROJECT_NAME}-guestagent +CONFIG_FILE=/etc/trove/trove-guestagent.conf diff -Nru openstack-trove-2014.1.3/debian/trove-guestagent.upstart.in openstack-trove-2014.1.3/debian/trove-guestagent.upstart.in --- openstack-trove-2014.1.3/debian/trove-guestagent.upstart.in 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-guestagent.upstart.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -description "Trove Guest Agent" -author "Thomas Goirand <[email protected]>" - -start on runlevel [2345] -stop on runlevel [!2345] - -respawn - -exec start-stop-daemon --start --chuid trove:trove \ - --chdir /var/lib/trove --name trove-guestagent \ - --exec /usr/bin/trove-guestagent -- --config-file=/etc/trove/trove-guestagent.conf --log-dir=/var/log/trove --logfile=guestagent.log diff -Nru openstack-trove-2014.1.3/debian/trove-taskmanager.init openstack-trove-2014.1.3/debian/trove-taskmanager.init --- openstack-trove-2014.1.3/debian/trove-taskmanager.init 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-taskmanager.init 1970-01-01 00:00:00.000000000 +0000 @@ -1,93 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: trove-taskmanager -# Required-Start: $network $local_fs $remote_fs $syslog -# Required-Stop: $remote_fs -# Should-Start: postgresql mysql keystone rabbitmq-server ntp -# Should-Stop: postgresql mysql keystone rabbitmq-server ntp -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Trove Task Manager -# Description: Frontend Trove Task Manager -### END INIT INFO - -# Author: Thomas Goirand <[email protected]> - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="Trove DBaaS Task Manager" -NAME=trove-taskmanager -DAEMON=/usr/bin/trove-taskmanager -DAEMON_ARGS="--config-file=/etc/trove/trove-taskmanager.conf --log-dir=/var/log/trove --logfile=taskmanager.log" -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/$NAME -SYSTEM_USER=trove - -# Exit if the package is not installed -[ -x $DAEMON ] || exit 0 - -. /lib/lsb/init-functions - -if [ ! -e /var/log/trove ] ; then - mkdir -p /var/log/trove - chown ${SYSTEM_USER} /var/log/trove -fi - -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 -- \ - $DAEMON_ARGS \ - || return 2 -} - -do_stop () { - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE - RETVAL="$?" - rm -f $PIDFILE - return "$RETVAL" -} - -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 -;; -esac diff -Nru openstack-trove-2014.1.3/debian/trove-taskmanager.init.in openstack-trove-2014.1.3/debian/trove-taskmanager.init.in --- openstack-trove-2014.1.3/debian/trove-taskmanager.init.in 1970-01-01 00:00:00.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-taskmanager.init.in 2015-01-13 17:34:52.000000000 +0000 @@ -0,0 +1,18 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: trove-taskmanager +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Should-Start: postgresql mysql keystone rabbitmq-server ntp +# Should-Stop: postgresql mysql keystone rabbitmq-server ntp +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Trove Task Manager +# Description: Frontend Trove Task Manager +### END INIT INFO + +# Author: Thomas Goirand <[email protected]> +DESC="OpenStack Trove DBaaS Task Manager" +PROJECT_NAME=trove +NAME=${PROJECT_NAME}-taskmanager +CONFIG_FILE=/etc/trove/trove-taskmanager.conf diff -Nru openstack-trove-2014.1.3/debian/trove-taskmanager.upstart.in openstack-trove-2014.1.3/debian/trove-taskmanager.upstart.in --- openstack-trove-2014.1.3/debian/trove-taskmanager.upstart.in 2014-12-03 12:51:53.000000000 +0000 +++ openstack-trove-2014.1.3/debian/trove-taskmanager.upstart.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -description "Trove API server" -author "Thomas Goirand <[email protected]>" - -start on runlevel [2345] -stop on runlevel [!2345] - -respawn - -exec start-stop-daemon --start --chuid trove:trove \ - --chdir /var/lib/trove --name trove-api \ - --exec /usr/bin/trove-taskmanager -- --config-file=/etc/trove/trove-taskmanager.conf --log-dir=/var/log/trove --logfile=taskmanager.log

