Build ceilometer 2015.1.0 (stable/kilo)
[openstack-build/ceilometer-build.git] / rpm / SPECS / openstack-ceilometer.spec
index 6b77df569fd6ef8c1894f2a5d50eaeffe2bfb8c1..89f23cf70a946ac9377104e0f78bc4e43ac86e63 100644 (file)
@@ -3,7 +3,7 @@
 %global pypi_name ceilometer
 
 Name:             openstack-ceilometer
-Version:          2015.1.0b1
+Version:          2015.1.0
 Release:          2%{?dist}
 Summary:          OpenStack measurement collection service
 
@@ -32,6 +32,8 @@ Source16:         %{name}-notification.init
 Source160:        %{name}-notification.upstart
 Source17:         %{name}-ipmi.init
 Source170:        %{name}-ipmi.upstart
+Source18:         %{name}-polling.init
+Source180:        %{name}-polling.upstart
 %else
 Source10:         %{name}-api.service
 Source11:         %{name}-collector.service
@@ -41,6 +43,7 @@ Source14:         %{name}-alarm-notifier.service
 Source15:         %{name}-alarm-evaluator.service
 Source16:         %{name}-notification.service
 Source17:         %{name}-ipmi.service
+Source18:         %{name}-polling.service
 %endif
 
 #
@@ -51,20 +54,20 @@ BuildArch:        noarch
 BuildRequires:    intltool
 BuildRequires:    python-sphinx10
 BuildRequires:    python-setuptools
-BuildRequires:    python-pbr
+BuildRequires:    python-pbr >= 0.10
 BuildRequires:    python-d2to1
 BuildRequires:    python2-devel
 BuildRequires:    openstack-utils
 
 # These are required to generate ceilometer configuration file
 BuildRequires:    python-tox
-BuildRequires:    python-oslo-db
-BuildRequires:    python-oslo-messaging
-BuildRequires:    python-keystonemiddleware
+BuildRequires:    python-oslo-db >= 1.7.0
+BuildRequires:    python-oslo-messaging >= 1.8.0
+BuildRequires:    python-keystonemiddleware >= 1.5.0
 
 # These are required to build due to the requirements check added
-BuildRequires:    python-sqlalchemy
-BuildRequires:    python-webob
+BuildRequires:    python-sqlalchemy >= 0.9.7
+BuildRequires:    python-webob >= 1.2.3
 
 %if ! (0%{?rhel} && 0%{?rhel} <= 6)
 BuildRequires: systemd-units
@@ -79,67 +82,53 @@ collect metrics from OpenStack components.
 Summary:          OpenStack ceilometer python libraries
 Group:            Applications/System
 
-Requires:         python-retrying >= 1.2.2, python-retrying < 1.3.0, python-retrying > 1.3.0
-Requires:         python-qpid
-
-Requires:         python-babel
-Requires:         python-eventlet >= 0.15.2
+Requires:         python-alembic >= 0.7.2
+Requires:         python-ceilometerclient >= 1.0.13
+Requires:         python-croniter >= 0.3.4
+Requires:         python-eventlet >= 0.16.1
+Requires:         python-flask >= 0.10
+Requires:         python-glanceclient >= 1:0.15.0
 Requires:         python-iso8601 >= 0.1.9
+Requires:         python-jsonpath-rw >= 1.2.0
+Requires:         python-jsonschema >= 2.0.0
+Requires:         python-kafka >= 0.9.2
+Requires:         python-keystoneclient >= 1.1.0
+Requires:         python-keystonemiddleware >= 1.5.0
 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.1.0
+Requires:         python-migrate >= 0.9.5
 Requires:         python-msgpack >= 0.4.0
-Requires:         python-posix_ipc
-Requires:         python-six >= 1.7.0
-Requires:         PyYAML >= 3.1.0
-Requires:         python-sqlalchemy >= 0.8.4, python-sqlalchemy <= 0.8.99, python-sqlalchemy >= 0.9.7, python-sqlalchemy <= 0.9.99
-
-Requires:         python-argparse
-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-pbr >= 0.6, python-pbr < 0.7, python-pbr > 0.7, python-pbr < 1.0
-Requires:         python-requests >= 2.2.0, python-requests < 2.4.0, python-requests > 2.4.0
-Requires:         python-tooz >= 0.3
-
-Requires:         python-alembic >= 0.6.4
-Requires:         python-migrate >= 0.9.1, python-migrate < 0.9.2, python-migrate > 0.9.2
-
-Requires:         python-webob >= 1.2.3
-
-Requires:         python-oslo-concurrency >= 0.4.0
-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:         python-oslo-middleware >= 0.1.0
-
-Requires:         pysnmp > 4.2.1, pysnmp < 5.0.0
-Requires:         pytz
-Requires:         python-croniter >= 0.3.4
-
-Requires:         python-keystonemiddleware >= 1.0.0
+Requires:         python-neutronclient >= 2.3.11
+Requires:         python-novaclient >= 1:2.22.0
+Requires:         python-oslo-concurrency >= 1.8.0
+Requires:         python-oslo-config >= 1:1.9.3
+Requires:         python-oslo-context >= 0.2.0
+Requires:         python-oslo-db >= 1.7.0
+Requires:         python-oslo-i18n >= 1.5.0
+Requires:         python-oslo-messaging >= 1.8.0
+Requires:         python-oslo-middleware >= 1.0.0
+Requires:         python-oslo-policy >= 0.3.1
+Requires:         python-oslo-rootwrap >= 1.6.0
+Requires:         python-oslo-serialization >= 1.4.0
+Requires:         python-oslo.utils >= 1.4.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
-Requires:         python-novaclient >= 2.18.0
-Requires:         python-keystoneclient >= 0.11.1
-Requires:         python-glanceclient >= 0.14.0
+Requires:         python-pbr >= 0.10
+Requires:         python-pecan >= 0.8.0
+Requires:         python-posix_ipc
+Requires:         python-pymongo >= 2.6.3
+Requires:         python-pysnmp >= 4.2.1
+Requires:         pytz >= 2013.6
+Requires:         python-qpid
+Requires:         python-requests >= 2.2.0
+Requires:         python-retrying >= 1.2.3
+Requires:         python-six >= 1.9.0
+Requires:         python-sqlalchemy >= 0.9.7
+Requires:         python-stevedore >= 1.3.0
 Requires:         python-swiftclient >= 2.2.0
-Requires:         python-ceilometerclient >= 1.0.6
-Requires:         libvirt-python
+Requires:         python-tooz >= 0.13.1
+Requires:         python-werkzeug >= 0.7
+Requires:         python-webob >= 1.2.3
+Requires:         python-wsme >= 0.8
+Requires:         PyYAML >= 3.1.0
 
 %description -n   python-ceilometer
 OpenStack ceilometer provides services to measure and
@@ -180,9 +169,9 @@ Group:            Applications/System
 
 Requires:         %{name}-common = %{version}-%{release}
 
-Requires:         python-novaclient >= 2.18.0
-Requires:         python-keystoneclient >= 0.11.1
 Requires:         libvirt-python
+Requires:         python-keystoneclient >= 1.1.0
+Requires:         python-novaclient >= 2.22.0
 
 %description compute
 OpenStack ceilometer provides services to measure and
@@ -198,9 +187,9 @@ Group:            Applications/System
 
 Requires:         %{name}-common = %{version}-%{release}
 
-Requires:         python-novaclient >= 2.18.0
-Requires:         python-keystoneclient >= 0.11.1
-Requires:         python-glanceclient >= 0.14.0
+Requires:         python-glanceclient >= 0.15.0
+Requires:         python-keystoneclient >= 1.1.0
+Requires:         python-novaclient >= 2.22.0
 Requires:         python-swiftclient >= 2.2.0
 
 %description central
@@ -218,9 +207,8 @@ 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
+Requires:         %{name}-notification = %{version}-%{release}
+Requires:         python-pymongo >= 2.6.3
 
 %description collector
 OpenStack ceilometer provides services to measure and
@@ -251,13 +239,13 @@ Group:            Applications/System
 
 Requires:         %{name}-common = %{version}-%{release}
 
-Requires:         python-keystonemiddleware
-Requires:         python-oslo-db
-Requires:         python-pymongo
-Requires:         python-flask
+Requires:         python-flask >= 0.10
+Requires:         python-keystonemiddleware >= 1.5.0
+Requires:         python-oslo-db >= 1.7.0
+Requires:         python-paste-deploy >= 1.5.0
+Requires:         python-pecan >= 0.8.0
+Requires:         python-pymongo >= 2.6.3
 Requires:         python-wsme >= 0.6
-Requires:         python-pecan >= 0.5.0
-Requires:         python-paste-deploy
 
 %description api
 OpenStack ceilometer provides services to measure and
@@ -271,7 +259,7 @@ Summary:          OpenStack ceilometer alarm services
 Group:            Applications/System
 
 Requires:         %{name}-common = %{version}-%{release}
-Requires:         python-ceilometerclient >= 1.0.6
+Requires:         python-ceilometerclient >= 1.0.13
 
 %description alarm
 OpenStack ceilometer provides services to measure and
@@ -287,12 +275,12 @@ 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
+Requires:         python-keystoneclient >= 1.1.0
+Requires:         python-neutronclient >= 2.3.11
+Requires:         python-novaclient >= 2.22.0
+Requires:         python-oslo-rootwrap >= 1.6.0
+Requires:         python-tooz >= 0.13.1
 
 %description ipmi
 OpenStack ceilometer provides services to measure and
@@ -303,17 +291,41 @@ nodes from which IPMI sensor data is to be collected directly,
 by-passing Ironic's management of baremetal.
 
 
+%package polling
+Summary:          OpenStack ceilometer polling agent
+Group:            Applications/System
+
+Requires:         %{name}-common = %{version}-%{release}
+
+Requires:         libvirt-python
+Requires:         python-glanceclient >= 0.15.0
+Requires:         python-keystoneclient >= 1.1.0
+Requires:         python-novaclient >= 2.22.0
+Requires:         python-swiftclient >= 2.2.0
+
+%description polling
+Ceilometer aims to deliver a unique point of contact for billing systems to
+aquire all counters they need to establish customer billing, across all
+current and future OpenStack components. The delivery of counters must
+be tracable 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 polling service.
+
+
 %if 0%{?with_doc}
 %package doc
 Summary:          Documentation for OpenStack ceilometer
 Group:            Documentation
 
 # Required to build module documents
-BuildRequires:    python-eventlet
-BuildRequires:    python-sqlalchemy0.7
-BuildRequires:    python-webob
+BuildRequires:    python-eventlet >= 0.16.1
+BuildRequires:    python-sqlalchemy >= 0.9.7
+BuildRequires:    python-webob >= 1.2.3
 # while not strictly required, quiets the build down when building docs.
-BuildRequires:    python-migrate, python-iso8601
+BuildRequires:    python-migrate >= 0.9.5
+BuildRequires:    python-iso8601 >= 0.1.9
 
 %description      doc
 OpenStack ceilometer provides services to measure and
@@ -391,6 +403,7 @@ install -p -D -m 755 %{SOURCE14} %{buildroot}%{_initrddir}/%{name}-alarm-notifie
 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 -p -D -m 755 %{SOURCE18} %{buildroot}%{_initrddir}/%{name}-polling
 
 # Install upstart jobs examples
 install -d -m 755 %{buildroot}%{_datadir}/ceilometer
@@ -402,6 +415,7 @@ 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/
+install -p -m 644 %{SOURCE180} %{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
@@ -411,6 +425,7 @@ install -p -D -m 644 %{SOURCE14} %{buildroot}%{_unitdir}/%{name}-alarm-notifier.
 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
+install -p -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/%{name}-polling.service
 %endif
 
 # Install logrotate
@@ -509,6 +524,16 @@ fi
 %systemd_post %{name}-alarm-ipmi.service
 %endif
 
+%post polling
+%if 0%{?rhel} && 0%{?rhel} <= 6
+if [ $1 -eq 1 ] ; then
+    # Initial installation
+    /sbin/chkconfig --add %{name}-polling
+fi
+%else
+%systemd_post %{name}-polling.service
+%endif
+
 %preun compute
 %if 0%{?rhel} && 0%{?rhel} <= 6
 if [ $1 -eq 0 ] ; then
@@ -594,6 +619,18 @@ fi
 %systemd_preun %{name}-ipmi.service
 %endif
 
+%preun polling
+%if 0%{?rhel} && 0%{?rhel} <= 6
+if [ $1 -eq 0 ] ; then
+    for svc in polling; do
+        /sbin/service %{name}-${svc} stop > /dev/null 2>&1
+        /sbin/chkconfig --del %{name}-${svc}
+    done
+fi
+%else
+%systemd_preun %{name}-polling.service
+%endif
+
 %postun compute
 %if 0%{?rhel} && 0%{?rhel} <= 6
 if [ $1 -ge 1 ] ; then
@@ -679,6 +716,18 @@ fi
 %systemd_postun_with_restart %{name}-ipmi.service
 %endif
 
+%postun polling
+%if 0%{?rhel} && 0%{?rhel} <= 6
+if [ $1 -ge 1 ] ; then
+    # Package upgrade, not uninstall
+    for svc in polling; do
+        /sbin/service %{name}-${svc} condrestart > /dev/null 2>&1 || :
+    done
+fi
+%else
+%systemd_postun_with_restart %{name}-polling.service
+%endif
+
 %files common
 %doc LICENSE
 %dir %{_sysconfdir}/ceilometer
@@ -698,7 +747,6 @@ fi
 %{_bindir}/ceilometer-dbsync
 %{_bindir}/ceilometer-expirer
 %{_bindir}/ceilometer-send-sample
-%{_bindir}/ceilometer-polling
 
 
 %defattr(-, ceilometer, ceilometer, -)
@@ -781,6 +829,16 @@ fi
 %endif
 
 
+%files polling
+%{_bindir}/ceilometer-polling
+%if 0%{?rhel} && 0%{?rhel} <= 6
+%{_initrddir}/%{name}-polling
+%{_datarootdir}/ceilometer/%{name}-polling.upstart
+%else
+%{_unitdir}/%{name}-polling.service
+%endif
+
+
 %files alarm
 %{_bindir}/ceilometer-alarm-notifier
 %{_bindir}/ceilometer-alarm-evaluator
@@ -796,6 +854,10 @@ fi
 
 
 %changelog
+* Fri Jan 23 2015 Ivan Berezovskiy <iberezovskiy@mirantis.com> - 2015.1.0
+- Create own package for polling agent
+- Update requirements and version to 2015.1.0
+
 * Wed Jan 21 2015 Ivan Berezovskiy <iberezovskiy@mirantis.com> - 2015.1.0b1
 - Update version to 2015.1.0b1
 
@@ -889,3 +951,4 @@ fi
 
 * Tue Mar 26 2013 Pádraig Brady <P@draigBrady.com> - 2013.1-0.5.g3
 - Initial package
+