From: Thomas Goirand Date: Mon, 3 Feb 2014 09:04:44 +0000 (+0800) Subject: Adds a ceilometer-notification-agent package. X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=75473b5a76ebdf033a43dbaf65f80e51cd7c579d;p=openstack-build%2Fceilometer-build.git Adds a ceilometer-notification-agent package. Change-Id: I35e8fb54cef551d7aa149898119b57c57e9c3aa1 Rewritten-From: e524865a79062d4e2029143d603a441874ce9a97 --- diff --git a/xenial/debian/ceilometer-notification-agent.init b/xenial/debian/ceilometer-notification-agent.init new file mode 100644 index 0000000..c7d234f --- /dev/null +++ b/xenial/debian/ceilometer-notification-agent.init @@ -0,0 +1,106 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: ceilometer-notification-agent +# Required-Start: $network $local_fs $remote_fs $syslog +# Required-Stop: $remote_fs +# Should-Start: mongodb rabbitmq-server +# Should-Stop: mongodb rabbitmq-server +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: ceilometer notification agent +# Description: ceilometer notification agent +### END INIT INFO + +# Author: Thomas Goirand + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="Ceilometer Notification Agent" +SYS_NAME=ceilometer +NAME=ceilometer-notification-agent +DAEMON=/usr/bin/${NAME} + +SCRIPTNAME=/etc/init.d/${NAME} +DAEMON_USER=${SYS_NAME} +DAEMON_GROUP=${SYS_NAME} +LOCK_DIR=/var/lock/${SYS_NAME} +PID_DIR=/var/run/${SYS_NAME} +PID_FILE=${PID_DIR}/${NAME}.pid +LOGFILE=/var/log/${SYS_NAME}/${NAME}.log +DAEMON_ARGS="--config-file=/etc/${SYS_NAME}/ceilometer.conf --log-file=$LOGFILE" + +[ -x $DAEMON ] || exit 0 + +for i in ${LOCK_DIR} ${PID_DIR} ; do + [ ! -d ${i} ] && mkdir -p ${i} + [ -d ${i} ] && chown ${DAEMON_USER}:${DAEMON_GROUP} ${i} +done + +. /lib/lsb/init-functions + +do_start() { + start-stop-daemon --start \ + --background --quiet \ + --chuid ${DAEMON_USER}:${DAEMON_GROUP} \ + --make-pidfile --pidfile ${PID_FILE} \ + --chdir /var/run \ + --startas $DAEMON \ + --test > /dev/null \ + || return 1 + start-stop-daemon --start \ + --background --quiet \ + --chuid ${DAEMON_USER}:${DAEMON_GROUP} \ + --make-pidfile --pidfile ${PID_FILE} \ + --chdir /var/run \ + --startas $DAEMON -- $DAEMON_ARGS \ + || return 2 +} + +do_stop() { + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PID_FILE + RETVAL=$? + rm -f $PID_FILE + 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 + ;; + *) log_end_msg 1 ;; # Failed to stop + esac +;; +*) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 +;; +esac + +exit 0 diff --git a/xenial/debian/ceilometer-notification-agent.install b/xenial/debian/ceilometer-notification-agent.install new file mode 100644 index 0000000..e01c4b2 --- /dev/null +++ b/xenial/debian/ceilometer-notification-agent.install @@ -0,0 +1 @@ +/usr/bin/ceilometer-notification-agent diff --git a/xenial/debian/ceilometer-notification-agent.logrotate b/xenial/debian/ceilometer-notification-agent.logrotate new file mode 100644 index 0000000..7390c6a --- /dev/null +++ b/xenial/debian/ceilometer-notification-agent.logrotate @@ -0,0 +1,14 @@ +/var/log/ceilometer/ceilometer-notification-agent.log { + daily + missingok + compress + delaycompress + notifempty + postrotate + if dpkg-vendor --derives-from ubuntu ; then \ + service ceilometer-notification-agent restart >/dev/null 2>&1 || true ; \ + else \ + invoke-rc.d ceilometer-notification-agent restart >/dev/null 2>&1 || true ; \ + fi + endscript +} diff --git a/xenial/debian/ceilometer-notification-agent.postrm b/xenial/debian/ceilometer-notification-agent.postrm new file mode 100644 index 0000000..6186c8f --- /dev/null +++ b/xenial/debian/ceilometer-notification-agent.postrm @@ -0,0 +1,12 @@ +#!/bin/sh + +set -e + +if [ "${1}" = purge ] ; then + rm -f /var/log/ceilometer/ceilometer-notification-agent.log* + [ -d /var/log/ceilometer ] && rmdir --ignore-fail-on-non-empty /var/log/ceilometer +fi + +#DEBHELPER# + +exit 0 diff --git a/xenial/debian/ceilometer-notification-agent.upstart.in b/xenial/debian/ceilometer-notification-agent.upstart.in new file mode 100644 index 0000000..a384044 --- /dev/null +++ b/xenial/debian/ceilometer-notification-agent.upstart.in @@ -0,0 +1,17 @@ +description "ceilometer-agent-compute" +author "Thomas Goirand " + +start on runlevel [2345] +stop on runlelvel [016] + +chdir /var/run + +pre-start script + mkdir -p /var/run/ceilometer + chown ceilometer:ceilometer /var/run/ceilometer + + mkdir -p /var/lock/ceilometer + chown ceilometer:ceilometer /var/lock/ceilometer +end script + +exec su -s /bin/sh -c "exec ceilometer-notification-agent --config-file /etc/ceilometer/ceilometer.conf --log-file /var/log/ceilometer/ceilometer-notification-agent.log" ceilometer diff --git a/xenial/debian/control b/xenial/debian/control index 6def986..7d0eecf 100644 --- a/xenial/debian/control +++ b/xenial/debian/control @@ -242,3 +242,20 @@ Description: OpenStack efficient metering counters system - alarm notifier overall system. . This package contains the alarm notifier daemon. + +Package: ceilometer-notification-agent +Architecture: all +Pre-Depends: dpkg (>= 1.15.6~) +Depends: ceilometer-common (= ${binary:Version}), + ${misc:Depends}, + ${ostack-lsb-base}, + ${python:Depends} +Description: OpenStack efficient metering counters system - alarm notifier + Ceilometer aims to deliver a Single Point Of Contact for billing systems, + providing all the counters they need to establish customer billing, accros + all current and future OpenStack components. The delivery of counters must be + traceable and auditable, the counters must be easily extensible to support new + projects, and agents doing data collections should be independent of the + overall system. + . + This package contains the notification agent daemon.