1 %global with_doc %{!?_without_doc:1}%{?_without_doc:0}
5 Release: 0.9.b3%{?dist}
6 Summary: OpenStack Volume service
8 Group: Applications/System
10 URL: http://www.openstack.org/software/openstack-storage/
11 Source0: https://launchpad.net/cinder/havana/havana-3/+download/cinder-%{version}.b3.tar.gz
12 Source1: cinder-dist.conf
13 Source2: cinder.logrotate
14 Source3: cinder-tgt.conf
16 Source10: openstack-cinder-api.init
17 Source100: openstack-cinder-api.upstart
18 Source11: openstack-cinder-scheduler.init
19 Source110: openstack-cinder-scheduler.upstart
20 Source12: openstack-cinder-volume.init
21 Source120: openstack-cinder-volume.upstart
22 Source13: openstack-cinder-backup.init
23 Source130: openstack-cinder-backup.upstart
25 Source20: cinder-sudoers
28 # patches_base=2013.2.b3
30 Patch0001: 0001-Ensure-we-don-t-access-the-net-when-building-docs.patch
31 Patch0002: 0002-Use-updated-parallel-install-versions-of-epel-packag.patch
32 Patch0003: 0003-Remove-runtime-dep-on-python-pbr-python-d2to1.patch
33 Patch0004: 0004-Revert-Use-oslo.sphinx-and-remove-local-copy-of-doc-.patch
34 Patch0005: MIRA-Do-not-clone-non-raw-images-in-rbd-backend.patch
37 BuildRequires: intltool
38 BuildRequires: python-d2to1
39 BuildRequires: python-pbr
40 BuildRequires: python-sphinx10
41 BuildRequires: python-setuptools
42 BuildRequires: python-netaddr
43 BuildRequires: openstack-utils
44 BuildRequires: python-paste-deploy1.5
45 BuildRequires: python-routes1.12
46 BuildRequires: python-sqlalchemy0.7
47 BuildRequires: python-webob1.2
49 Requires: openstack-utils
50 Requires: python-cinder = %{version}-%{release}
53 Requires: python-cinderclient
55 Requires(post): chkconfig
56 Requires(postun): initscripts
57 Requires(preun): chkconfig
58 Requires(pre): shadow-utils
61 Requires: scsi-target-utils
64 OpenStack Volume (codename Cinder) provides services to manage and
65 access block storage volumes for use by Virtual Machine instances.
68 %package -n python-cinder
69 Summary: OpenStack Volume Python libraries
70 Group: Applications/System
74 Requires: MySQL-python
79 Requires: python-paramiko
82 Requires: python-kombu
83 Requires: python-amqplib
84 Requires: python-importlib
86 Requires: python-eventlet
87 Requires: python-greenlet
88 Requires: python-iso8601
89 Requires: python-netaddr
91 Requires: python-anyjson
92 Requires: python-cheetah
93 Requires: python-stevedore
96 Requires: python-sqlalchemy0.7
97 Requires: python-migrate
99 Requires: python-paste-deploy1.5
100 Requires: python-routes1.12
101 Requires: python-webob1.2
103 Requires: python-glanceclient >= 1:0
104 Requires: python-swiftclient >= 1.2
105 Requires: python-keystoneclient
106 Requires: python-novaclient >= 2.14
108 Requires: python-oslo-config >= 1:1.2.0
111 Requires: python-babel
112 Requires: python-lockfile
114 %description -n python-cinder
115 OpenStack Volume (codename Cinder) provides services to manage and
116 access block storage volumes for use by Virtual Machine instances.
118 This package contains the cinder Python library.
122 Summary: Documentation for OpenStack Volume
125 Requires: %{name} = %{version}-%{release}
127 BuildRequires: graphviz
129 # Required to build module documents
130 BuildRequires: python-eventlet
131 BuildRequires: python-routes1.12
132 BuildRequires: python-sqlalchemy0.7
133 BuildRequires: python-webob1.2
134 # while not strictly required, quiets the build down when building docs.
135 BuildRequires: python-migrate, python-iso8601
138 OpenStack Volume (codename Cinder) provides services to manage and
139 access block storage volumes for use by Virtual Machine instances.
141 This package contains documentation files for cinder.
145 %setup -q -n cinder-%{version}
153 find . \( -name .gitignore -o -name .placeholder \) -delete
155 find cinder -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
157 # TODO: Have the following handle multi line entries
158 sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py
160 # Remove the requirements file so that pbr hooks don't add it
161 # to distutils requires_dist config
162 rm -rf {test-,}requirements.txt tools/{pip,test}-requires
164 # We add REDHATCINDERVERSION/RELEASE with the pbr removal patch
165 sed -i s/REDHATCINDERVERSION/%{version}/ cinder/version.py
166 sed -i s/REDHATCINDERRELEASE/%{release}/ cinder/version.py
170 # Move authtoken configuration out of paste.ini
171 openstack-config --del etc/cinder/api-paste.ini filter:authtoken admin_tenant_name
172 openstack-config --del etc/cinder/api-paste.ini filter:authtoken admin_user
173 openstack-config --del etc/cinder/api-paste.ini filter:authtoken admin_password
174 openstack-config --del etc/cinder/api-paste.ini filter:authtoken auth_host
175 openstack-config --del etc/cinder/api-paste.ini filter:authtoken auth_port
176 openstack-config --del etc/cinder/api-paste.ini filter:authtoken auth_protocol
178 %{__python} setup.py build
181 %{__python} setup.py install -O1 --skip-build --root %{buildroot}
183 # docs generation requires everything to be installed first
184 export PYTHONPATH="$( pwd ):$PYTHONPATH"
189 SPHINX_DEBUG=1 sphinx-1.0-build -b html source build/html
190 # Fix hidden-file-or-dir warnings
191 rm -fr build/html/.doctrees build/html/.buildinfo
194 # Create dir link to avoid a sphinx-build exception
195 mkdir -p build/man/.doctrees/
196 ln -s . build/man/.doctrees/man
197 SPHINX_DEBUG=1 sphinx-1.0-build -b man -c source source/man build/man
198 mkdir -p %{buildroot}%{_mandir}/man1
199 install -p -D -m 644 build/man/*.1 %{buildroot}%{_mandir}/man1/
204 install -d -m 755 %{buildroot}%{_sharedstatedir}/cinder
205 install -d -m 755 %{buildroot}%{_sharedstatedir}/cinder/tmp
206 install -d -m 755 %{buildroot}%{_localstatedir}/log/cinder
208 # Install config files
209 install -d -m 755 %{buildroot}%{_sysconfdir}/cinder
210 install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/cinder/cinder-dist.conf
211 install -p -D -m 640 etc/cinder/cinder.conf.sample %{buildroot}%{_sysconfdir}/cinder/cinder.conf
212 install -d -m 755 %{buildroot}%{_sysconfdir}/cinder/volumes
213 install -p -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/tgt/conf.d/cinder.conf
214 install -p -D -m 640 etc/cinder/rootwrap.conf %{buildroot}%{_sysconfdir}/cinder/rootwrap.conf
215 install -p -D -m 640 etc/cinder/api-paste.ini %{buildroot}%{_sysconfdir}/cinder/api-paste.ini
216 install -p -D -m 640 etc/cinder/policy.json %{buildroot}%{_sysconfdir}/cinder/policy.json
218 # Install initscripts for services
219 install -p -D -m 755 %{SOURCE10} %{buildroot}%{_initrddir}/openstack-cinder-api
220 install -p -D -m 755 %{SOURCE11} %{buildroot}%{_initrddir}/openstack-cinder-scheduler
221 install -p -D -m 755 %{SOURCE12} %{buildroot}%{_initrddir}/openstack-cinder-volume
222 install -p -D -m 755 %{SOURCE13} %{buildroot}%{_initrddir}/openstack-cinder-backup
225 install -p -D -m 440 %{SOURCE20} %{buildroot}%{_sysconfdir}/sudoers.d/cinder
228 install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-cinder
230 # Install pid directory
231 install -d -m 755 %{buildroot}%{_localstatedir}/run/cinder
233 # Install upstart jobs examples
234 install -d -m 755 %{buildroot}%{_datadir}/cinder
235 install -p -m 644 %{SOURCE100} %{buildroot}%{_datadir}/cinder/
236 install -p -m 644 %{SOURCE110} %{buildroot}%{_datadir}/cinder/
237 install -p -m 644 %{SOURCE120} %{buildroot}%{_datadir}/cinder/
238 install -p -m 644 %{SOURCE130} %{buildroot}%{_datadir}/cinder/
240 # Install rootwrap files in /usr/share/cinder/rootwrap
241 mkdir -p %{buildroot}%{_datarootdir}/cinder/rootwrap/
242 install -p -D -m 644 etc/cinder/rootwrap.d/* %{buildroot}%{_datarootdir}/cinder/rootwrap/
244 # Remove unneeded in production stuff
245 rm -f %{buildroot}%{_bindir}/cinder-debug
246 rm -fr %{buildroot}%{python_sitelib}/cinder/tests/
247 rm -fr %{buildroot}%{python_sitelib}/run_tests.*
248 rm -f %{buildroot}/usr/share/doc/cinder/README*
251 getent group cinder >/dev/null || groupadd -r cinder --gid 165
252 if ! getent passwd cinder >/dev/null; then
253 useradd -u 165 -r -g cinder -G cinder,nobody -d %{_sharedstatedir}/cinder -s /sbin/nologin -c "OpenStack Cinder Daemons" cinder
258 if [ $1 -eq 1 ] ; then
259 # Initial installation
260 for svc in volume api scheduler; do
261 /sbin/chkconfig --add openstack-cinder-$svc
266 if [ $1 -eq 0 ] ; then
267 for svc in volume api scheduler; do
268 /sbin/service openstack-cinder-${svc} stop > /dev/null 2>&1
269 /sbin/chkconfig --del openstack-cinder-${svc}
274 if [ $1 -ge 1 ] ; then
275 # Package upgrade, not uninstall
276 for svc in volume api scheduler; do
277 /sbin/service openstack-cinder-${svc} condrestart > /dev/null 2>&1 || :
284 %dir %{_sysconfdir}/cinder
285 %config(noreplace) %attr(-, root, cinder) %{_sysconfdir}/cinder/cinder.conf
286 %config(noreplace) %attr(-, root, cinder) %{_sysconfdir}/cinder/api-paste.ini
287 %config(noreplace) %attr(-, root, cinder) %{_sysconfdir}/cinder/rootwrap.conf
288 %config(noreplace) %attr(-, root, cinder) %{_sysconfdir}/cinder/policy.json
289 %config(noreplace) %{_sysconfdir}/logrotate.d/openstack-cinder
290 %config(noreplace) %{_sysconfdir}/sudoers.d/cinder
291 %config(noreplace) %{_sysconfdir}/tgt/conf.d/cinder.conf
292 %attr(-, root, cinder) %{_datadir}/cinder/cinder-dist.conf
294 %dir %attr(0750, cinder, root) %{_localstatedir}/log/cinder
295 %dir %attr(0755, cinder, root) %{_localstatedir}/run/cinder
296 %dir %attr(0755, cinder, root) %{_sysconfdir}/cinder/volumes
299 %{_initrddir}/openstack-cinder-*
300 %{_datarootdir}/cinder
301 %{_mandir}/man1/cinder*.1.gz
303 %defattr(-, cinder, cinder, -)
304 %dir %{_sharedstatedir}/cinder
305 %dir %{_sharedstatedir}/cinder/tmp
307 %files -n python-cinder
309 %{python_sitelib}/cinder
310 %{python_sitelib}/cinder-%{version}*.egg-info
318 * Wed Sep 18 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.9.b3
319 - Add cinder-dist.conf
320 - Tighten permissions on /var/log/cinder
322 * Mon Sep 9 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.8.b3
323 - Update to Havana milestone 3
324 - Add dependency on python-novaclient
326 * Thu Aug 29 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-0.7.b2
327 - Add dependency on sysfsutils to support the fiber channel driver
329 * Mon Aug 26 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.5.b2
330 - Add cinder-backup service init script
332 * Mon Jul 22 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-0.4.b2
333 - Add dependency on python-suds to support the netapp driver
334 - Add dependency on python-keystoneclient for auth token middleware
335 - Add dependency on qemu-img for volume creation from Glance images
337 * Sun Jul 21 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-0.3.b2
338 - Update to Havana milestone 2
340 * Thu Jun 13 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.2.b1
341 - Update to Havana milestone 1
343 * Fri May 10 2013 Eric Harney <eharney@redhat.com> - 2013.1.1-1
344 - Update to Grizzly stable release 1
346 * Mon Apr 08 2013 Eric Harney <eharney@redhat.com> - 2013.1-2
347 - Backport fix for GlusterFS driver get_volume_stats
348 - Adjust to support sqlalchemy-0.8.0
350 * Thu Apr 04 2013 Eric Harney <eharney@redhat.com> - 2013.1-1
351 - Update to Grizzly final release
353 * Wed Mar 27 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.5.rc3
354 - Update to Grizzly RC3 release
356 * Mon Mar 25 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.5.rc2
357 - Update to Grizzly RC2 release
359 * Mon Mar 18 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.5.rc1
360 - Update to Grizzly RC1 release
362 * Tue Mar 05 2013 Pádraig Brady <P@draigBrady.com> - 2013.1-0.4.g3
363 - Add dependency on python-stevedore
365 * Wed Feb 27 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.2.g3
366 - Update to Grizzly milestone 3
368 * Thu Jan 10 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.1.g2
369 - Update to Grizzly milestone 2
371 * Thu Dec 20 2012 Eric Harney <eharney@redhat.com> - 2013.1-0.1.g1
372 - Update to Grizzly milestone 1
374 * Mon Dec 03 2012 Eric Harney <eharney@redhat.com> - 2012.2.1-1
375 - Update to Folsom stable release 1
377 * Wed Nov 14 2012 Eric Harney <eharney@redhat.com> - 2012.2-4
378 - Remove unused dependency on python-daemon
380 * Wed Oct 31 2012 Pádraig Brady <P@draigBrady.com> - 2012.2-3
381 - Adjust to be compatible with python-migrate-0.6
383 * Wed Oct 24 2012 Pádraig Brady <P@draigBrady.com> - 2012.2-2
384 - Initial Folsom release