X-Git-Url: https://review.fuel-infra.org/gitweb?a=blobdiff_plain;f=rpm%2FSPECS%2Fopenstack-ceilometer.spec;h=b3aae080a02cb10398db7fbadbb31b553cc6391c;hb=a1b2853f97c805f96f5f9991c10e4c2e56b9e326;hp=dd3b5f2b2b1695b6c05269b4e7685b60be4294b8;hpb=c0faead0a716817d5b62e7ddea571ca31f2a9321;p=openstack-build%2Fceilometer-build.git diff --git a/rpm/SPECS/openstack-ceilometer.spec b/rpm/SPECS/openstack-ceilometer.spec index dd3b5f2..b3aae08 100644 --- a/rpm/SPECS/openstack-ceilometer.spec +++ b/rpm/SPECS/openstack-ceilometer.spec @@ -3,16 +3,17 @@ %global pypi_name ceilometer Name: openstack-ceilometer -Version: 2013.2 -Release: 0.8.b3%{?dist} +Version: 2014.2.2 +Release: 2%{?dist} Summary: OpenStack measurement collection service Group: Applications/System License: ASL 2.0 URL: https://wiki.openstack.org/wiki/Ceilometer -Source0: http://tarballs.openstack.org/%{pypi_name}/%{pypi_name}-%{version}.b3.tar.gz +Source0: http://tarballs.openstack.org/%{pypi_name}/%{pypi_name}-%{version}.tar.gz Source1: %{pypi_name}-dist.conf Source2: %{pypi_name}.logrotate +Source3: %{pypi_name}.conf.sample Source10: %{name}-api.init Source100: %{name}-api.upstart @@ -22,14 +23,16 @@ Source12: %{name}-compute.init Source120: %{name}-compute.upstart Source13: %{name}-central.init Source130: %{name}-central.upstart +Source14: %{name}-alarm-notifier.init +Source140: %{name}-alarm-notifier.upstart +Source15: %{name}-alarm-evaluator.init +Source150: %{name}-alarm-evaluator.upstart +Source16: %{name}-notification.init +Source160: %{name}-notification.upstart # -# patches_base=2013.2.b3 +# patches_base=2014.1.1 # -Patch0001: 0001-Ensure-we-don-t-access-the-net-when-building-docs.patch - -# This is EL6 specific and not upstream -Patch100: openstack-ceilometer-newdeps.patch BuildArch: noarch BuildRequires: intltool @@ -42,7 +45,7 @@ BuildRequires: python2-devel BuildRequires: openstack-utils # These are required to build due to the requirements check added -BuildRequires: python-sqlalchemy0.7 +BuildRequires: python-sqlalchemy BuildRequires: python-webob1.2 @@ -56,26 +59,64 @@ Summary: OpenStack ceilometer python libraries Group: Applications/System Requires: python-qpid -Requires: python-kombu -Requires: python-amqplib - -Requires: python-eventlet -Requires: python-greenlet -Requires: python-iso8601 -Requires: python-lxml -Requires: python-anyjson -Requires: python-stevedore -Requires: python-msgpack -Requires: python-netaddr -Requires: python-six - -Requires: python-sqlalchemy0.7 -Requires: python-alembic -Requires: python-migrate - -Requires: python-webob >= 1.2 -Requires: python-oslo-config -Requires: PyYAML + +Requires: python-babel +Requires: python-eventlet >= 0.15.1, python-eventlet <= 0.15.2 +Requires: python-iso8601 >= 0.1.9 +Requires: python-lxml >= 2.3 +Requires: python-anyjson >= 0.3.3 +Requires: python-jsonpath-rw >= 1.2.0, python-jsonpath-rw < 2.0 +Requires: python-stevedore >= 1.0.0 +Requires: python-msgpack >= 0.4.0 +Requires: python-posix_ipc +Requires: python-six >= 1.7.0 +Requires: PyYAML >= 3.1.0 + +Requires: python-argparse +Requires: python-croniter >= 0.3.4 +Requires: python-happybase >= 0.5, python-happybase < 0.7, python-happybase > 0.7 +Requires: python-jsonschema >= 2.0.0, python-jsonschema < 3.0.0 +Requires: python-lockfile == 0.8 +Requires: python-netaddr >= 0.7.12 +Requires: python-ordereddict < 1.2 +Requires: python-pbr >= 0.6, python-pbr < 0.7, python-pbr > 0.7, python-pbr < 1.0 +Requires: python-requests >= 1.2.2, python-requests <= 2.2.1 +Requires: python-tooz >= 0.3 + +Requires: python-sqlalchemy >= 0.9.7, python-sqlalchemy <= 0.9.99 +Requires: python-alembic >= 0.6.4 +Requires: python-migrate == 0.9.1 + +Requires: python-webob >= 1.2.3 + +Requires: python-oslo-config >= 1:1.4.0 +Requires: python-oslo.db >= 1.0.0 +Requires: python-oslo-rootwrap >= 1.3.0 +Requires: python-oslo-vmware >= 0.6.0 +Requires: python-oslo-utils >= 1.0.0 +Requires: python-oslo-messaging >= 1.4.0 +Requires: python-oslo.serialization >= 1.0.0 + +Requires: pysnmp > 4.2.1, pysnmp < 5.0.0 +Requires: pytz + +Requires: python-keystonemiddleware >= 1.0.0 +Requires: python-paste-deploy >= 1.5.0 + +# These were only added as global dependencies +# at the end of the Icehouse cycle with the change +# to cli.py referenced from in http://pad.lv/1317210 +Requires: python-pymongo +Requires: python-flask +Requires: python-pecan >= 0.5.0 +Requires: python-wsme >= 0.6 +Requires: python-neutronclient >= 2.3.6, python-neutronclient < 3 +Requires: python-novaclient >= 2.18.0 +Requires: python-keystoneclient >= 0.10.0 +Requires: python-glanceclient >= 0.14.0 +Requires: python-swiftclient >= 2.2.0 +Requires: python-ceilometerclient >= 1.0.6 +Requires: libvirt-python %description -n python-ceilometer OpenStack ceilometer provides services to measure and @@ -97,7 +138,6 @@ Requires(preun): chkconfig Requires(pre): shadow-utils - %description common OpenStack ceilometer provides services to measure and collect metrics from OpenStack components. @@ -112,8 +152,8 @@ Group: Applications/System Requires: %{name}-common = %{version}-%{release} -Requires: python-novaclient -Requires: python-keystoneclient +Requires: python-novaclient >= 2.18.0 +Requires: python-keystoneclient >= 0.10.0 Requires: libvirt-python %description compute @@ -130,10 +170,10 @@ Group: Applications/System Requires: %{name}-common = %{version}-%{release} -Requires: python-novaclient -Requires: python-keystoneclient -Requires: python-glanceclient -Requires: python-swiftclient +Requires: python-novaclient >= 2.18.0 +Requires: python-keystoneclient >= 0.10.0 +Requires: python-glanceclient >= 0.14.0 +Requires: python-swiftclient >= 2.2.0 %description central OpenStack ceilometer provides services to measure and @@ -143,18 +183,38 @@ This package contains the central ceilometer agent. %package collector -Summary: OpenStack ceilometer collector agent +Summary: OpenStack ceilometer collector Group: Applications/System Requires: %{name}-common = %{version}-%{release} +# For compat with older provisioning tools. +# Remove when all reference the notification package explicitly +Requires: %{name}-notification + Requires: python-pymongo %description collector OpenStack ceilometer provides services to measure and collect metrics from OpenStack components. -This package contains the ceilometer collector agent. +This package contains the ceilometer collector service +which collects metrics from the various agents. + + +%package notification +Summary: OpenStack ceilometer notification agent +Group: Applications/System + +Requires: %{name}-common = %{version}-%{release} + +%description notification +OpenStack ceilometer provides services to measure and +collect metrics from OpenStack components. + +This package contains the ceilometer notification agent +which pushes metrics to the collector service from the +various OpenStack services. %package api @@ -165,8 +225,8 @@ Requires: %{name}-common = %{version}-%{release} Requires: python-pymongo Requires: python-flask -Requires: python-pecan -Requires: python-wsme +Requires: python-pecan >= 0.5.0 +Requires: python-wsme >= 0.6 %description api OpenStack ceilometer provides services to measure and @@ -175,6 +235,21 @@ collect metrics from OpenStack components. This package contains the ceilometer API service. +%package alarm +Summary: OpenStack ceilometer alarm services +Group: Applications/System + +Requires: %{name}-common = %{version}-%{release} +Requires: python-ceilometerclient >= 1.0.6 + +%description alarm +OpenStack ceilometer provides services to measure and +collect metrics from OpenStack components. + +This package contains the ceilometer alarm notification +and evaluation services. + + %if 0%{?with_doc} %package doc Summary: Documentation for OpenStack ceilometer @@ -197,11 +272,6 @@ This package contains documentation files for ceilometer. %prep %setup -q -n ceilometer-%{version} -%patch0001 -p1 - -# Apply EL6 patch -%patch100 -p1 - find . \( -name .gitignore -o -name .placeholder \) -delete find ceilometer -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} + @@ -213,16 +283,6 @@ sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py # to distutils requires_dist config rm -rf {test-,}requirements.txt tools/{pip,test}-requires -# Programmatically update defaults in sample config -# which is installed at /etc/ceilometer/ceilometer.conf -# TODO: Make this more robust -# Note it only edits the first occurance, so assumes a section ordering in sample -# and also doesn't support multi-valued variables. -while read name eq value; do - test "$name" && test "$value" || continue - sed -i "0,/^# *$name=/{s!^# *$name=.*!#$name=$value!}" etc/ceilometer/ceilometer.conf.sample -done < %{SOURCE1} - %build %{__python} setup.py build @@ -245,21 +305,25 @@ popd # Setup directories install -d -m 755 %{buildroot}%{_sharedstatedir}/ceilometer install -d -m 755 %{buildroot}%{_sharedstatedir}/ceilometer/tmp -install -d -m 755 %{buildroot}%{_localstatedir}/log/ceilometer +install -d -m 775 %{buildroot}%{_localstatedir}/log/ceilometer # Install config files install -d -m 755 %{buildroot}%{_sysconfdir}/ceilometer install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/ceilometer/ceilometer-dist.conf -install -p -D -m 640 etc/ceilometer/ceilometer.conf.sample %{buildroot}%{_sysconfdir}/ceilometer/ceilometer.conf +install -p -D -m 640 %{SOURCE3} %{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/sources.json %{buildroot}%{_sysconfdir}/ceilometer/sources.json install -p -D -m 640 etc/ceilometer/pipeline.yaml %{buildroot}%{_sysconfdir}/ceilometer/pipeline.yaml +install -p -D -m 640 etc/ceilometer/event_definitions.yaml %{buildroot}%{_sysconfdir}/ceilometer/event_definitions.yaml +install -p -D -m 640 etc/ceilometer/api_paste.ini %{buildroot}%{_sysconfdir}/ceilometer/api_paste.ini # Install initscripts for services install -p -D -m 755 %{SOURCE10} %{buildroot}%{_initrddir}/%{name}-api install -p -D -m 755 %{SOURCE11} %{buildroot}%{_initrddir}/%{name}-collector install -p -D -m 755 %{SOURCE12} %{buildroot}%{_initrddir}/%{name}-compute 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 upstart jobs examples install -d -m 755 %{buildroot}%{_datadir}/ceilometer @@ -267,6 +331,9 @@ install -p -m 644 %{SOURCE100} %{buildroot}%{_datadir}/ceilometer/ install -p -m 644 %{SOURCE110} %{buildroot}%{_datadir}/ceilometer/ install -p -m 644 %{SOURCE120} %{buildroot}%{_datadir}/ceilometer/ 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 logrotate install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} @@ -279,7 +346,6 @@ rm -f %{buildroot}%{_bindir}/ceilometer-debug rm -fr %{buildroot}%{python_sitelib}/tests/ rm -fr %{buildroot}%{python_sitelib}/run_tests.* rm -f %{buildroot}/usr/share/doc/ceilometer/README* -rm -f %{buildroot}/%{python_sitelib}/ceilometer/api/v1/static/LICENSE.* %pre common @@ -302,6 +368,12 @@ if [ $1 -eq 1 ] ; then /sbin/chkconfig --add %{name}-collector fi +%post notification +if [ $1 -eq 1 ] ; then + # Initial installation + /sbin/chkconfig --add %{name}-notification +fi + %post api if [ $1 -eq 1 ] ; then # Initial installation @@ -314,6 +386,14 @@ if [ $1 -eq 1 ] ; then /sbin/chkconfig --add %{name}-central fi +%post alarm +if [ $1 -eq 1 ] ; then + # Initial installation + for svc in alarm-notifier alarm-evaluator; do + /sbin/chkconfig --add %{name}-${svc} + done +fi + %preun compute if [ $1 -eq 0 ] ; then for svc in compute; do @@ -330,6 +410,14 @@ if [ $1 -eq 0 ] ; then done fi +%preun notification +if [ $1 -eq 0 ] ; then + for svc in notification; do + /sbin/service %{name}-${svc} stop > /dev/null 2>&1 + /sbin/chkconfig --del %{name}-${svc} + done +fi + %preun api if [ $1 -eq 0 ] ; then for svc in api; do @@ -346,6 +434,14 @@ if [ $1 -eq 0 ] ; then done fi +%preun alarm +if [ $1 -eq 0 ] ; then + for svc in alarm-notifier alarm-evaluator; do + /sbin/service %{name}-${svc} stop > /dev/null 2>&1 + /sbin/chkconfig --del %{name}-${svc} + done +fi + %postun compute if [ $1 -ge 1 ] ; then # Package upgrade, not uninstall @@ -362,6 +458,14 @@ if [ $1 -ge 1 ] ; then done fi +%postun notification +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + for svc in notification; do + /sbin/service %{name}-${svc} condrestart > /dev/null 2>&1 || : + done +fi + %postun api if [ $1 -ge 1 ] ; then # Package upgrade, not uninstall @@ -378,6 +482,15 @@ if [ $1 -ge 1 ] ; then done fi +%postun alarm +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + for svc in alarm-notifier alarm-evaluator; do + /sbin/service %{name}-${svc} condrestart > /dev/null 2>&1 || : + done +fi + %files common %doc LICENSE @@ -385,14 +498,20 @@ fi %attr(-, root, ceilometer) %{_datadir}/ceilometer/ceilometer-dist.conf %config(noreplace) %attr(-, root, ceilometer) %{_sysconfdir}/ceilometer/ceilometer.conf %config(noreplace) %attr(-, root, ceilometer) %{_sysconfdir}/ceilometer/policy.json -%config(noreplace) %attr(-, root, ceilometer) %{_sysconfdir}/ceilometer/sources.json %config(noreplace) %attr(-, root, ceilometer) %{_sysconfdir}/ceilometer/pipeline.yaml +%config(noreplace) %attr(-, root, ceilometer) %{_sysconfdir}/ceilometer/api_paste.ini +%config(noreplace) %attr(-, root, ceilometer) %{_sysconfdir}/ceilometer/event_definitions.yaml %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} -%dir %attr(0755, ceilometer, root) %{_localstatedir}/log/ceilometer +%dir %attr(0775, ceilometer, ceilometer) %{_localstatedir}/log/ceilometer %dir %attr(0755, ceilometer, root) %{_localstatedir}/run/ceilometer -%{_bindir}/ceilometer-* +%{_bindir}/ceilometer-agent-ipmi +%{_bindir}/ceilometer-dbsync +%{_bindir}/ceilometer-expirer +%{_bindir}/ceilometer-rootwrap +%{_bindir}/ceilometer-send-sample + %defattr(-, ceilometer, ceilometer, -) %dir %{_sharedstatedir}/ceilometer @@ -417,13 +536,18 @@ fi %files collector -%{_bindir}/ceilometer-collector +%{_bindir}/ceilometer-collector* %{_initrddir}/%{name}-collector %{_datarootdir}/ceilometer/%{name}-collector.upstart +%files notification +%{_bindir}/ceilometer-agent-notification +%{_initrddir}/%{name}-notification +%{_datarootdir}/ceilometer/%{name}-notification.upstart + + %files api -%doc ceilometer/api/v1/static/LICENSE.* %{_bindir}/ceilometer-api %{_initrddir}/%{name}-api %{_datarootdir}/ceilometer/%{name}-api.upstart @@ -435,7 +559,77 @@ fi %{_datarootdir}/ceilometer/%{name}-central.upstart +%files alarm +%{_bindir}/ceilometer-alarm-notifier +%{_bindir}/ceilometer-alarm-evaluator +%{_initrddir}/%{name}-alarm-notifier +%{_datarootdir}/ceilometer/%{name}-alarm-notifier.upstart +%{_initrddir}/%{name}-alarm-evaluator +%{_datarootdir}/ceilometer/%{name}-alarm-evaluator.upstart + + %changelog +* Mon Mar 2 2015 Ivan Berezovskiy - 2014.2.2 +- Update spec and requirements for current 2014.2.2 version + https://github.com/openstack/ceilometer/blob/stable/juno/requirements.txt + +* Fri Jul 4 2014 Ivan Berezovskiy - 2014.2.b1 +- Update to upstream 2014.2.b1 +- Update requirements + +* Wed Jun 11 2014 Steve Linabery - 2014.1.1-2 +- Update to upstream 2014.1.1 +- fix message routing with newer QPID (rhbz#1103800) + +* Sat Jun 07 2014 Fedora Release Engineering - 2014.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 07 2014 Pádraig Brady - 2014.1-2 +- Avoid dependency issues with distributed installs (#1095414) + +* Thu Apr 17 2014 Pádraig Brady - 2014.1-1 +- Update to Icehouse release + +* Fri Apr 11 2014 Pádraig Brady - 2014.1-0.7.rc2 +- Update to upstream 2014.1.rc2 +- Remove qpid as default rpc backend +- Split out openstack-ceilometer-notification subpackage from collector + +* Mon Mar 31 2014 Pádraig Brady 2014.1-0.6.rc1 +- Update to upstream 2014.1.rc1 + +* Fri Mar 14 2014 Pádraig Brady - 2014.1-0.5.b3 +- Update to Icehouse milestone 3 + +* Tue Feb 04 2014 Pádraig Brady - 2014.1-0.4.b2 +- Fix missing dependency on python-babel + +* Mon Jan 27 2014 Pádraig Brady - 2014.1-0.3.b2 +- Update to Icehouse milestone 2 + +* Mon Jan 06 2014 Pádraig Brady - 2014.1-0.2.b1 +- Set python-six min version to ensure updated + +* Mon Dec 23 2013 Pádraig Brady - 2014.1-0.1.b1 +- Update to Icehouse milestone 1 + +* Tue Dec 17 2013 Pádraig Brady - 2013.2.1-1 +- Update to Havana stable release 2013.2.1 + +* Thu Oct 17 2013 Pádraig Brady - 2013.2-1 +- Update to Havana release + +* Tue Oct 15 2013 Pádraig Brady - 2013.2-0.12.rc2 +- Update to Havana rc2 +- openstack-ceilometer-alarm now depends on python-ceilometerclient + +* Thu Oct 03 2013 Pádraig Brady - 2013.2-0.12.rc1 +- Update to Havana rc1 +- Separate out the new alarm services to the 'alarm' subpackage + +* Fri Sep 13 2013 Pádraig Brady - 2013.2-0.10.b3 +- Depend on python-oslo-config >= 1:1.2.0 so it upgraded automatically + * Mon Sep 10 2013 Pádraig Brady - 2013.2-0.8.b3 - Depend on python-pymongo rather than pymongo to avoid a puppet bug