monasca-persister: update to 1.5.0

Beside the version update,

- add a systemd .service file
- split out a python-monasca-persister subpackage

Change-Id: Ie55434c8d35bb283e0458c0417e9aee0529b44f3
This commit is contained in:
Thomas Bechtold 2017-05-02 17:27:33 +02:00
parent 1ce1429d57
commit 93858a9fea
2 changed files with 79 additions and 3 deletions

View File

@ -1,5 +1,5 @@
{% set pypi_name = 'monasca-persister' %}
{% set upstream_version = upstream_version('1.4.0') %}
{% set upstream_version = upstream_version('1.5.0') %}
{% set rpm_release = '1' %}
%global sname {{ pypi_name }}
@ -11,6 +11,7 @@ License: {{ license('Apache-2.0') }}
Group: Development/Languages/Python
Url: https://wiki.openstack.org/wiki/Monasca
Source0: https://pypi.io/packages/source/m/%{sname}/%{sname}-%{version}.tar.gz
Source1: openstack-monasca-persister.service
BuildRequires: openstack-macros
BuildRequires: {{ py2pkg('mock') }}
BuildRequires: {{ py2pkg('monasca-common') }}
@ -20,13 +21,33 @@ BuildRequires: {{ py2pkg('oslo.log') }}
BuildRequires: {{ py2pkg('oslotest') }}
BuildRequires: {{ py2pkg('setuptools') }}
BuildRequires: {{ py2pkg('six') }}
Requires: python-{{ pypi_name }} = %{version}-%{release}
BuildArch: noarch
%if 0%{?suse_version}
BuildRequires: systemd-rpm-macros
Requires(pre): pwdutils
%{?systemd_requires}
%else
BuildRequires: systemd
Requires(post): systemd
Requires(postun): systemd
Requires(pre): shadow-utils
Requires(preun): systemd
%endif
%description
Consumes metrics and alarm state transitions from message queue and stores them in database.
Data is read from Kafka queue and saved either in InfluxDB or Cassandra
%package -n python-{{ pypi_name }}
Summary: Consumes metrics and alarm state transitions from message queue and stores them in database
Group: Development/Languages/Python
Requires: {{ py2pkg('monasca-common') }}
Requires: {{ py2pkg('oslo.config') }}
Requires: {{ py2pkg('oslo.log') }}
Requires: {{ py2pkg('six') }}
BuildArch: noarch
%description
%description -n python-{{ pypi_name }}
Consumes metrics and alarm state transitions from message queue and stores them in database.
Data is read from Kafka queue and saved either in InfluxDB or Cassandra
@ -40,14 +61,55 @@ Data is read from Kafka queue and saved either in InfluxDB or Cassandra
%install
%{py2_install}
# create all necessary directories
install -d -m 755 %{buildroot}%{_sysconfdir}/monasca
install -d -m 755 %{buildroot}%{_var}/lib/{{ pypi_name }}
install -d -m 755 %{buildroot}%{_var}/log/{{ pypi_name }}
# install config
install -D -m 640 etc/monasca/persister.conf %{buildroot}%{_sysconfdir}/monasca/persister.conf
install -D -m 640 etc/monasca/persister-logging.conf %{buildroot}%{_sysconfdir}/monasca/persister-logging.conf
# install systemd service
install -p -D -m 755 %{SOURCE1} %{buildroot}%{_unitdir}/openstack-monasca-persister.service
%check
find . -type f -name *.pyc -delete
nosetests monasca_persister --verbose
%pre
%openstack_pre_user_group_create monasca-persister monasca /sbin/nologin
%preun
%systemd_preun openstack-monasca-persister.service
%post
%systemd_post openstack-monasca-persister.service
%postun
%systemd_postun_with_restart openstack-monasca-persister.service
if [ $1 -eq 0 ] ; then
getent passwd monasca-persister > /dev/null
if [ "$?" == "0" ] ; then
userdel monasca-persister
fi
fi
%files
%license LICENSE
%doc README.md ChangeLog
%dir %attr(-, root, monasca) %{_sysconfdir}/monasca
%dir %attr(0750, monasca-persister, monasca) %{_var}/lib/{{ pypi_name }}
%dir %attr(0750, monasca-persister, monasca) %{_var}/log/{{ pypi_name }}
%config(noreplace) %attr(0640, root, monasca) %{_sysconfdir}/monasca/persister.conf
%config(noreplace) %attr(0640, root, monasca) %{_sysconfdir}/monasca/persister-logging.conf
%{_unitdir}/openstack-monasca-persister.service
%{_bindir}/monasca-persister
%files -n python-{{ pypi_name }}
%defattr(-, root, root,-)
%license LICENSE
%{python2_sitelib}/monasca_persister
%{python2_sitelib}/monasca_persister-*.egg-info

View File

@ -0,0 +1,14 @@
[Unit]
Description=Monasca Persister
After=syslog.target network.target
[Service]
Type=simple
User=monasca-persister
Group=monasca
WorkingDirectory=/var/lib/monasca-persister
Restart=on-failure
ExecStart=/usr/bin/monasca-persister
[Install]
WantedBy=multi-user.target