[openstack-ceilometer] Added new openstack-ceilometer-ipmi subpackage
Eoghan Glynn
eglynn at fedoraproject.org
Wed Oct 15 15:39:15 UTC 2014
commit c99382ded7b5298ed2ee371ce4290bd97270dc8a
Author: Eoghan Glynn <eglynn at redhat.com>
Date: Tue Oct 14 15:33:21 2014 +0000
Added new openstack-ceilometer-ipmi subpackage
The new ceilometer-agent-ipmi service is added in a new
sub-package.
Resolves rhbz: #1153033
ceilometer-rootwrap-sudoers | 2 +
openstack-ceilometer-ipmi.init | 102 +++++++++++++++++++++++++++++++++++++
openstack-ceilometer-ipmi.service | 12 ++++
openstack-ceilometer-ipmi.upstart | 8 +++
openstack-ceilometer.spec | 90 +++++++++++++++++++++++++++++++--
5 files changed, 210 insertions(+), 4 deletions(-)
---
diff --git a/ceilometer-rootwrap-sudoers b/ceilometer-rootwrap-sudoers
new file mode 100644
index 0000000..ba97166
--- /dev/null
+++ b/ceilometer-rootwrap-sudoers
@@ -0,0 +1,2 @@
+Defaults:ceilometer !requiretty
+ceilometer ALL = (root) NOPASSWD: /usr/bin/ceilometer-rootwrap /etc/ceilometer/rootwrap.conf *
diff --git a/openstack-ceilometer-ipmi.init b/openstack-ceilometer-ipmi.init
new file mode 100644
index 0000000..70aead2
--- /dev/null
+++ b/openstack-ceilometer-ipmi.init
@@ -0,0 +1,102 @@
+#!/bin/sh
+#
+# openstack-ceilometer-ipmi OpenStack ceilometer ipmi agent
+#
+# chkconfig: - 98 02
+# description: OpenStack measurement and collection agent ipmi service
+
+### BEGIN INIT INFO
+# Provides:
+# Required-Start: $remote_fs $network $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Stop: 0 1 6
+# Short-Description: OpenStack ceilometer agent ipmi service
+# Description: OpenStack measurement collection agent ipmi service
+### END INIT INFO
+
+. /etc/rc.d/init.d/functions
+
+suffix=agent-ipmi
+prog=openstack-ceilometer-$suffix
+exec="/usr/bin/ceilometer-$suffix"
+config="/etc/ceilometer/ceilometer.conf"
+pidfile="/var/run/ceilometer/ceilometer-$suffix.pid"
+logfile="/var/log/ceilometer/$suffix.log"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
+start() {
+ [ -x $exec ] || exit 5
+ [ -f $config ] || exit 6
+ echo -n $"Starting $prog: "
+ daemon --user ceilometer --pidfile $pidfile "$exec --logfile $logfile &>/dev/null & echo \$! > $pidfile"
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ killproc -p $pidfile $prog
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+ return $retval
+}
+
+restart() {
+ stop
+ start
+}
+
+reload() {
+ restart
+}
+
+force_reload() {
+ restart
+}
+
+rh_status() {
+ status -p $pidfile $prog
+}
+
+rh_status_q() {
+ rh_status >/dev/null 2>&1
+}
+
+
+case "$1" in
+ start)
+ rh_status_q && exit 0
+ $1
+ ;;
+ stop)
+ rh_status_q || exit 0
+ $1
+ ;;
+ restart)
+ $1
+ ;;
+ reload)
+ rh_status_q || exit 7
+ $1
+ ;;
+ force-reload)
+ force_reload
+ ;;
+ status)
+ rh_status
+ ;;
+ condrestart|try-restart)
+ rh_status_q || exit 0
+ restart
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
+ exit 2
+esac
+exit $?
diff --git a/openstack-ceilometer-ipmi.service b/openstack-ceilometer-ipmi.service
new file mode 100644
index 0000000..918db67
--- /dev/null
+++ b/openstack-ceilometer-ipmi.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=OpenStack ceilometer ipmi agent
+After=syslog.target network.target
+
+[Service]
+Type=simple
+User=ceilometer
+ExecStart=/usr/bin/ceilometer-agent-ipmi --logfile /var/log/ceilometer/agent-ipmi.log
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/openstack-ceilometer-ipmi.upstart b/openstack-ceilometer-ipmi.upstart
new file mode 100644
index 0000000..ddf491b
--- /dev/null
+++ b/openstack-ceilometer-ipmi.upstart
@@ -0,0 +1,8 @@
+description "OpenStack Ceilometer ipmi agent"
+
+start on stopped rc RUNLEVEL=[2345]
+stop on runlevel [S016]
+
+respawn
+
+exec su -s /bin/sh -c "exec /usr/bin/ceilometer-agent-ipmi --logfile /var/log/ceilometer/agent-ipmi.log" ceilometer
diff --git a/openstack-ceilometer.spec b/openstack-ceilometer.spec
index 3cf7a08..031f278 100644
--- a/openstack-ceilometer.spec
+++ b/openstack-ceilometer.spec
@@ -4,7 +4,7 @@
Name: openstack-ceilometer
Version: 2014.2
-Release: 0.8.rc2%{?dist}
+Release: 0.9.rc2%{?dist}
Summary: OpenStack measurement collection service
Group: Applications/System
@@ -14,6 +14,7 @@ Source0: http://tarballs.openstack.org/%{pypi_name}/%{pypi_name}-%{vers
Source1: %{pypi_name}-dist.conf
Source2: %{pypi_name}.logrotate
Source3: %{pypi_name}.conf.sample
+Source4: ceilometer-rootwrap-sudoers
%if 0%{?rhel} && 0%{?rhel} <= 6
Source10: %{name}-api.init
@@ -30,6 +31,8 @@ Source15: %{name}-alarm-evaluator.init
Source150: %{name}-alarm-evaluator.upstart
Source16: %{name}-notification.init
Source160: %{name}-notification.upstart
+Source17: %{name}-ipmi.init
+Source170: %{name}-ipmi.upstart
%else
Source10: %{name}-api.service
Source11: %{name}-collector.service
@@ -38,6 +41,7 @@ Source13: %{name}-central.service
Source14: %{name}-alarm-notifier.service
Source15: %{name}-alarm-evaluator.service
Source16: %{name}-notification.service
+Source17: %{name}-ipmi.service
%endif
#
@@ -242,6 +246,28 @@ This package contains the ceilometer alarm notification
and evaluation services.
+%package ipmi
+Summary: OpenStack ceilometer ipmi agent
+Group: Applications/System
+
+Requires: %{name}-common = %{version}-%{release}
+
+Requires: python-novaclient
+Requires: python-keystoneclient
+Requires: python-neutronclient
+Requires: python-tooz
+Requires: python-oslo-rootwrap
+Requires: ipmitool
+
+%description ipmi
+OpenStack ceilometer provides services to measure and
+collect metrics from OpenStack components.
+
+This package contains the ipmi agent to be run on OpenStack
+nodes from which IPMI sensor data is to be collected directly,
+by-passing Ironic's management of baremetal.
+
+
%if 0%{?with_doc}
%package doc
Summary: Documentation for OpenStack ceilometer
@@ -313,11 +339,16 @@ install -d -m 755 %{buildroot}%{_localstatedir}/log/ceilometer
# Install config files
install -d -m 755 %{buildroot}%{_sysconfdir}/ceilometer
+install -d -m 755 %{buildroot}%{_sysconfdir}/ceilometer/rootwrap.d
+install -d -m 755 %{buildroot}%{_sysconfdir}/sudoers.d
install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/ceilometer/ceilometer-dist.conf
+install -p -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/sudoers.d/ceilometer
install -p -D -m 640 etc/ceilometer/ceilometer.conf.sample %{buildroot}%{_sysconfdir}/ceilometer/ceilometer.conf
install -p -D -m 640 etc/ceilometer/policy.json %{buildroot}%{_sysconfdir}/ceilometer/policy.json
install -p -D -m 640 etc/ceilometer/pipeline.yaml %{buildroot}%{_sysconfdir}/ceilometer/pipeline.yaml
install -p -D -m 640 etc/ceilometer/api_paste.ini %{buildroot}%{_sysconfdir}/ceilometer/api_paste.ini
+install -p -D -m 640 etc/ceilometer/rootwrap.conf %{buildroot}%{_sysconfdir}/ceilometer/rootwrap.conf
+install -p -D -m 640 etc/ceilometer/rootwrap.d/ipmi.filters %{buildroot}/%{_sysconfdir}/ceilometer/rootwrap.d/ipmi.filters
# Install initscripts for services
%if 0%{?rhel} && 0%{?rhel} <= 6
@@ -328,6 +359,7 @@ install -p -D -m 755 %{SOURCE13} %{buildroot}%{_initrddir}/%{name}-central
install -p -D -m 755 %{SOURCE14} %{buildroot}%{_initrddir}/%{name}-alarm-notifier
install -p -D -m 755 %{SOURCE15} %{buildroot}%{_initrddir}/%{name}-alarm-evaluator
install -p -D -m 755 %{SOURCE16} %{buildroot}%{_initrddir}/%{name}-notification
+install -p -D -m 755 %{SOURCE17} %{buildroot}%{_initrddir}/%{name}-ipmi
# Install upstart jobs examples
install -d -m 755 %{buildroot}%{_datadir}/ceilometer
@@ -338,6 +370,7 @@ install -p -m 644 %{SOURCE130} %{buildroot}%{_datadir}/ceilometer/
install -p -m 644 %{SOURCE140} %{buildroot}%{_datadir}/ceilometer/
install -p -m 644 %{SOURCE150} %{buildroot}%{_datadir}/ceilometer/
install -p -m 644 %{SOURCE160} %{buildroot}%{_datadir}/ceilometer/
+install -p -m 644 %{SOURCE170} %{buildroot}%{_datadir}/ceilometer/
%else
install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/%{name}-api.service
install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{name}-collector.service
@@ -346,6 +379,7 @@ install -p -D -m 644 %{SOURCE13} %{buildroot}%{_unitdir}/%{name}-central.service
install -p -D -m 644 %{SOURCE14} %{buildroot}%{_unitdir}/%{name}-alarm-notifier.service
install -p -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/%{name}-alarm-evaluator.service
install -p -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/%{name}-notification.service
+install -p -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/%{name}-ipmi.service
%endif
# Install logrotate
@@ -433,6 +467,16 @@ fi
%systemd_post %{name}-alarm-notifier.service %{name}-alarm-evaluator.service
%endif
+%post ipmi
+%if 0%{?rhel} && 0%{?rhel} <= 6
+if [ $1 -eq 1 ] ; then
+ # Initial installation
+ /sbin/chkconfig --add %{name}-ipmi
+fi
+%else
+%systemd_post %{name}-alarm-ipmi.service
+%endif
+
%preun compute
%if 0%{?rhel} && 0%{?rhel} <= 6
if [ $1 -eq 0 ] ; then
@@ -505,6 +549,18 @@ fi
%systemd_preun %{name}-alarm-notifier.service %{name}-alarm-evaluator.service
%endif
+%preun ipmi
+%if 0%{?rhel} && 0%{?rhel} <= 6
+if [ $1 -eq 0 ] ; then
+ for svc in ipmi; do
+ /sbin/service %{name}-${svc} stop > /dev/null 2>&1
+ /sbin/chkconfig --del %{name}-${svc}
+ done
+fi
+%else
+%systemd_preun %{name}-ipmi.service
+%endif
+
%postun compute
%if 0%{?rhel} && 0%{?rhel} <= 6
if [ $1 -ge 1 ] ; then
@@ -577,6 +633,18 @@ fi
%systemd_postun_with_restart %{name}-alarm-notifier.service %{name}-alarm-evaluator.service
%endif
+%postun ipmi
+%if 0%{?rhel} && 0%{?rhel} <= 6
+if [ $1 -ge 1 ] ; then
+ # Package upgrade, not uninstall
+ for svc in ipmi; do
+ /sbin/service %{name}-${svc} condrestart > /dev/null 2>&1 || :
+ done
+fi
+%else
+%systemd_postun_with_restart %{name}-ipmi.service
+%endif
+
%files common
%doc LICENSE
@@ -596,9 +664,6 @@ fi
%{_bindir}/ceilometer-dbsync
%{_bindir}/ceilometer-expirer
%{_bindir}/ceilometer-send-sample
-%{_bindir}/ceilometer-rootwrap
-# ipmi subpackage?
-%{_bindir}/ceilometer-agent-ipmi
%defattr(-, ceilometer, ceilometer, -)
@@ -681,7 +746,24 @@ fi
%endif
+%files ipmi
+%config(noreplace) %attr(-, root, ceilometer) %{_sysconfdir}/ceilometer/rootwrap.conf
+%config(noreplace) %attr(-, root, ceilometer) %{_sysconfdir}/ceilometer/rootwrap.d/ipmi.filters
+%{_bindir}/ceilometer-rootwrap
+%{_bindir}/ceilometer-agent-ipmi
+%{_sysconfdir}/sudoers.d/ceilometer
+%if 0%{?rhel} && 0%{?rhel} <= 6
+%{_initrddir}/%{name}-ipmi
+%{_datarootdir}/ceilometer/%{name}-ipmi.upstart
+%else
+%{_unitdir}/%{name}-ipmi.service
+%endif
+
+
%changelog
+* Tue Oct 14 2014 Eoghan Glynn <eglynn at redhat.com> 2014.2-0.9.rc2
+- Added new openstack-ceilometer-ipmi new subpackage
+
* Sat Oct 11 2014 Alan Pevec <alan.pevec at redhat.com> 2014.2-0.8.rc2
- Update to upstream 2014.2.rc2
More information about the scm-commits
mailing list