diff --git a/.gitignore b/.gitignore index e69de29..0665353 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/marconi-2014.1.tar.gz diff --git a/openstack-marconi.logrotate b/openstack-marconi.logrotate new file mode 100644 index 0000000..2a914a0 --- /dev/null +++ b/openstack-marconi.logrotate @@ -0,0 +1,7 @@ +/var/log/marconi/*.log { + weekly + rotate 4 + missingok + compress + minsize 100k +} diff --git a/openstack-marconi.service b/openstack-marconi.service new file mode 100644 index 0000000..7b9906b --- /dev/null +++ b/openstack-marconi.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Message Queuing Service (code-named Marconi) server +After=syslog.target network.target + +[Service] +Type=simple +User=marconi +ExecStart=/usr/bin/marconi-server +PrivateTmp=true + +[Install] +WantedBy=multi-user.target diff --git a/openstack-marconi.spec b/openstack-marconi.spec new file mode 100644 index 0000000..be65d10 --- /dev/null +++ b/openstack-marconi.spec @@ -0,0 +1,106 @@ +Name: openstack-marconi +Version: 2014.1 +Release: 1%{?dist} +Summary: OpenStack Message Queuing Service + +Group: Applications/System +License: ASL 2.0 +URL: https://wiki.openstack.org/wiki/Marconi +Source0: https://launchpad.net/marconi/icehouse/%{version}/+download/marconi-%{version}.tar.gz +Source1: openstack-marconi.service +Source2: openstack-marconi.logrotate + +BuildArch: noarch + +BuildRequires: python2-devel +BuildRequires: systemd +BuildRequires: python-setuptools +BuildRequires: python-pbr +BuildRequires: openstack-utils + +Requires(pre): shadow-utils +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd + +Requires: python-six +Requires: python-stevedore +Requires: python-jsonschema +Requires: python-oslo-config +Requires: python-falcon +Requires: python-pymongo +Requires: python-sqlite3dbm +Requires: python-memcached +Requires: python-babel +Requires: python-bson +Requires: python-sqlalchemy +Requires: python-keystoneclient +Requires: python-netaddr +Requires: python-iso8601 +Requires: python-msgpack +Requires: python-webob + +%description +Marconi is a messaging and notifications service for the OpenStack product +portfolio, supporting point-to-point, producer-consumer, publisher-subscriber +models. Marconi is designed to perform and scale in a multi-tenant environment. + +%prep +%setup -q -n marconi-%{version} + +rm -rf {test-,}requirements.txt + +%build +%{__python2} setup.py build + +# set default driver to sqlite +openstack-config --set etc/marconi.conf.sample drivers storage sqlite + +%install +%{__python2} setup.py install -O1 --skip-build --root %{buildroot} + +# config files +install -p -D -m 640 etc/marconi.conf.sample %{buildroot}%{_sysconfdir}/marconi/marconi.conf +install -p -D -m 640 etc/logging.conf.sample %{buildroot}%{_sysconfdir}/marconi/logging.conf + +# initscripts +install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/openstack-marconi.service + +# log directory +install -d -m 755 %{buildroot}%{_localstatedir}/log/marconi + +# log ratation +install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-marconi + +%pre +getent group marconi >/dev/null || groupadd -r marconi +getent passwd marconi >/dev/null || \ + useradd -r -g marconi -d %{_sharedstatedir}/marconi -s /sbin/nologin \ + -c "OpenStack Marconi Daemon" marconi +exit 0 + +%post +%systemd_post openstack-marconi.service + +%preun +%systemd_preun openstack-marconi.service + +%postun +%systemd_postun_with_restart openstack-marconi.service + +%files +%doc README.rst +%{_bindir}/marconi-server +%{python2_sitelib}/marconi +%{python2_sitelib}/marconi-%{version}*.egg-info +%{_unitdir}/openstack-marconi.service + +%dir %{_sysconfdir}/marconi +%config(noreplace) %attr(-, root, marconi) %{_sysconfdir}/marconi/marconi.conf +%config(noreplace) %attr(-, root, marconi) %{_sysconfdir}/marconi/logging.conf +%config(noreplace) %attr(-, root, marconi) %{_sysconfdir}/logrotate.d/openstack-marconi +%dir %attr(0750, marconi, marconi) %{_localstatedir}/log/marconi + +%changelog +* Thu Apr 17 2014 Jon Bernard - 2014.1-1 +- Initial package diff --git a/sources b/sources index e69de29..2e33c9c 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +c2841188579286b4db84fa5fb0d703be marconi-2014.1.tar.gz