[openstack-savanna] Initial import

matt matt at fedoraproject.org
Mon Aug 12 15:33:41 UTC 2013


commit 7c9a32b5b63ebe4626fe642ea9b35fbe8a5a120a
Author: Matthew Farrellee <matt at redhat.com>
Date:   Mon Aug 12 11:33:27 2013 -0400

    Initial import

 .gitignore                    |    1 +
 openstack-savanna-api.service |   11 ++++
 openstack-savanna.spec        |  128 +++++++++++++++++++++++++++++++++++++++++
 sources                       |    1 +
 4 files changed, 141 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..8ca2c95 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/savanna-0.2.tar.gz
diff --git a/openstack-savanna-api.service b/openstack-savanna-api.service
new file mode 100644
index 0000000..7f3b1de
--- /dev/null
+++ b/openstack-savanna-api.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Savanna API Server
+After=syslog.target network.target
+
+[Service]
+Type=simple
+User=savanna
+ExecStart=/usr/bin/savanna-api --config-file /etc/savanna/savanna.conf
+
+[Install]
+WantedBy=multi-user.target
diff --git a/openstack-savanna.spec b/openstack-savanna.spec
new file mode 100644
index 0000000..72f7d85
--- /dev/null
+++ b/openstack-savanna.spec
@@ -0,0 +1,128 @@
+Name:          openstack-savanna
+Version:       0.2
+Release:       2%{?dist}
+Summary:       Apache Hadoop cluster management on OpenStack
+License:       ASL 2.0
+URL:           https://launchpad.net/savanna
+Source0:       http://tarballs.openstack.org/savanna/savanna-%{version}.tar.gz
+Source1:       openstack-savanna-api.service
+BuildArch:     noarch
+
+BuildRequires: python2-devel
+BuildRequires: python-setuptools
+BuildRequires: python-sphinx
+BuildRequires: python-sphinxcontrib-httpdomain
+# Needed by check
+#BuildRequires: python-unittest2
+#BuildRequires: python-mock
+
+Requires: python-alembic
+Requires: python-oslo-config
+Requires: python-iso8601
+Requires: python-netaddr
+Requires: python-novaclient
+Requires: python-paramiko
+Requires: python-eventlet
+Requires: python-flask
+Requires: python-keystoneclient
+Requires: python-cinderclient
+Requires: python-jsonschema
+
+Requires(post):   systemd
+Requires(preun):  systemd
+Requires(postun): systemd
+Requires(pre):    shadow-utils
+
+
+%description
+Savanna provides the ability to elastically manage Apache Hadoop
+clusters on OpenStack.
+
+
+%prep
+%setup -q -n savanna-%{version}
+rm -f tools/pip-requires
+
+
+%build
+%{__python} setup.py build
+
+export PYTHONPATH=$PWD:${PYTHONPATH}
+# Note: json warnings likely resolved w/ pygments 1.5 (not yet in Fedora)
+sphinx-build doc/source html
+rm -rf html/.{doctrees,buildinfo}
+
+
+%install
+%{__python} setup.py install --skip-build --root %{buildroot}
+
+install -p -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/openstack-savanna-api.service
+
+HOME=%{_sharedstatedir}/savanna
+install -d -m 700 %{buildroot}$HOME
+
+# TODO: os_admin_username/password/tenant_name
+SAMPLE=%{buildroot}%{_datadir}/savanna/savanna.conf.sample
+CONF=%{buildroot}%{_sysconfdir}/savanna/savanna.conf
+install -d -m 755 $(dirname $CONF)
+install -D -m 640 $SAMPLE $CONF
+sed -i -e "s,^connection=.*,connection=sqlite:///$HOME/savanna-server.db," $CONF
+
+# Do not package tests
+rm -rf %{buildroot}%{python_sitelib}/savanna/tests
+
+
+#%check
+#%{__python} setup.py test
+
+
+%pre
+# Origin: http://fedoraproject.org/wiki/Packaging:UsersAndGroups#Dynamic_allocation
+USERNAME=savanna
+GROUPNAME=$USERNAME
+HOMEDIR=%{_sharedstatedir}/savanna
+getent group $GROUPNAME >/dev/null || groupadd -r $GROUPNAME
+getent passwd $USERNAME >/dev/null || \
+  useradd -r -g $GROUPNAME -G $GROUPNAME -d $HOMEDIR -s /sbin/nologin \
+  -c "Savanna Daemons" $USERNAME
+exit 0
+
+
+%post
+# TODO: if db file then savanna-db-manage update head
+# TODO: savanna-db-manage should read /etc/savanna/savanna.conf by default
+#       https://bugs.launchpad.net/savanna/+bug/1202227
+%systemd_post openstack-savanna-api.service
+
+
+%preun
+%systemd_preun openstack-savanna-api.service
+
+
+%postun
+%systemd_postun_with_restart openstack-savanna-api.service
+
+
+%files
+%doc html README.rst LICENSE
+%dir %{_sysconfdir}/savanna
+# Note: this file is not readable because it holds auth credentials
+%config(noreplace) %attr(-, root, savanna) %{_sysconfdir}/savanna/savanna.conf
+%{_bindir}/savanna-api
+%{_bindir}/savanna-db-manage
+%{_unitdir}/openstack-savanna-api.service
+%dir %attr(-, savanna, savanna) %{_sharedstatedir}/savanna
+# Note: permissions on savanna's home are intentially 0700
+%dir %{_datadir}/savanna
+%{_datadir}/savanna/savanna.conf.sample
+%{_datadir}/savanna/savanna.conf.sample-full
+%{python_sitelib}/savanna
+%{python_sitelib}/savanna-%{version}-py?.?.egg-info
+
+
+%changelog
+* Fri Aug 09 2013 Matthew Farrellee <matt at redhat> - 0.2-2
+- Updates from package review BZ986615
+
+* Mon Jul 15 2013 Matthew Farrellee <matt at redhat> - 0.2-1
+- Initial package
diff --git a/sources b/sources
index e69de29..2affb99 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+537cd1199e2263cee165fa97939fa02a  savanna-0.2.tar.gz


More information about the scm-commits mailing list