1 %global with_doc %{!?_without_doc:1}%{?_without_doc:0}
6 Summary: OpenStack Volume service
8 Group: Applications/System
10 URL: http://www.openstack.org/software/openstack-storage/
11 Source0: https://launchpad.net/cinder/icehouse/2014.1/+download/cinder-%{version}.tar.gz
12 Source1: cinder-dist.conf
13 Source2: cinder.logrotate
14 Source3: cinder-tgt.conf
16 Source10: openstack-cinder-api.init
17 Source11: openstack-cinder-scheduler.init
18 Source12: openstack-cinder-volume.init
19 Source13: openstack-cinder-backup.init
21 Source20: cinder-sudoers
24 # patches_base=2014.1.1
26 Patch0001: 0001-Remove-runtime-dep-on-python-pbr-python-d2to1.patch
29 BuildRequires: intltool
30 BuildRequires: python-d2to1
31 BuildRequires: python-oslo-sphinx
32 BuildRequires: python-pbr
33 BuildRequires: python-sphinx
34 BuildRequires: python-setuptools
35 BuildRequires: python-netaddr >= 0.7.12
37 Requires: openstack-utils
38 Requires: python-cinder = %{version}-%{release}
41 Requires: python-cinderclient
43 Requires(post): chkconfig
44 Requires(postun): initscripts
45 Requires(preun): chkconfig
46 Requires(pre): shadow-utils
49 Requires: scsi-target-utils
52 OpenStack Volume (codename Cinder) provides services to manage and
53 access block storage volumes for use by Virtual Machine instances.
56 %package -n python-cinder
57 Summary: OpenStack Volume Python libraries
58 Group: Applications/System
62 Requires: MySQL-python
67 Requires: python-paramiko >= 1.13.0
69 Requires: python-paste
72 Requires: python-kombu
73 Requires: python-amqplib
75 Requires: python-eventlet >= 0.15.1
76 Requires: python-greenlet >= 0.3.2
77 Requires: python-iso8601 >= 0.1.9
78 Requires: python-lxml >= 2.3
79 Requires: python-netaddr >= 0.7.12
80 Requires: python-oslo-config >= 1:1.4.0
81 Requires: python-oslo-db >= 1.0.0
82 Requires: python-oslo-messaging >= 1.4.0
83 Requires: python-oslo-rootwrap >= 1.3.0
84 Requires: python-osprofiler >= 0.3.0
85 Requires: python-anyjson >= 0.3.3
86 Requires: python-argparse
87 #Requires: python-cheetah
88 Requires: python-stevedore >= 1.0.0
89 Requires: python-suds >= 0.4
91 Requires: python-sqlalchemy >= 0.8.4, python-sqlalchemy <= 0.8.99, python-sqlalchemy >= 0.9.7, python-sqlalchemy <= 0.9.99
92 Requires: python-migrate >= 0.9.1, python-migrate < 0.9.2, python-migrate > 0.9.2
94 Requires: python-paste-deploy >= 1.5.0
95 Requires: python-crypto >= 2.6
96 Requires: python-barbicanclient >= 2.1.0
97 Requires: python-glanceclient >= 1:0.14.0
98 Requires: python-routes >= 1.12.3, python-routes < 2.0, python-routes > 2.0
99 Requires: python-webob >= 1.2.3
100 Requires: python-wsgiref >= 0.1.2
101 Requires: python-oslo-i18n >= 1.0.0
103 Requires: python-swiftclient >= 2.2.0
104 Requires: python-requests >= 1.2.1, python-requests < 2.4.0, python-requests > 2.4.0
105 Requires: python-keystoneclient
106 Requires: python-keystonemiddleware >= 1.0.0
107 Requires: python-kombu >= 2.4.8
108 Requires: python-novaclient >= 1:2.18.0
110 Requires: python-six >= 1.7.0
112 Requires: python-babel >= 1.3
113 Requires: python-lockfile
115 Requires: python-rtslib-fb >= 2.1.fb39
116 Requires: python-taskflow >= 0.4
118 Requires: python-ceph
119 #Requires: iscsi-initiator-utils
121 %description -n python-cinder
122 OpenStack Volume (codename Cinder) provides services to manage and
123 access block storage volumes for use by Virtual Machine instances.
125 This package contains the cinder Python library.
129 Summary: Documentation for OpenStack Volume
132 Requires: %{name} = %{version}-%{release}
134 BuildRequires: graphviz
136 # Required to build module documents
137 BuildRequires: python-eventlet
138 BuildRequires: python-routes
139 BuildRequires: python-sqlalchemy
140 BuildRequires: python-webob
141 # while not strictly required, quiets the build down when building docs.
142 BuildRequires: python-migrate, python-iso8601
145 OpenStack Volume (codename Cinder) provides services to manage and
146 access block storage volumes for use by Virtual Machine instances.
148 This package contains documentation files for cinder.
152 %setup -q -n cinder-%{version}
156 find . \( -name .gitignore -o -name .placeholder \) -delete
158 find cinder -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
160 # TODO: Have the following handle multi line entries
161 sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py
163 # Remove the requirements file so that pbr hooks don't add it
164 # to distutils requires_dist config
165 rm -rf {test-,}requirements.txt tools/{pip,test}-requires
167 # We add REDHATCINDERVERSION/RELEASE with the pbr removal patch
168 sed -i s/REDHATCINDERVERSION/%{version}/ cinder/version.py
169 sed -i s/REDHATCINDERRELEASE/%{release}/ cinder/version.py
172 %{__python} setup.py build
175 %{__python} setup.py install -O1 --skip-build --root %{buildroot}
177 # docs generation requires everything to be installed first
178 export PYTHONPATH="$( pwd ):$PYTHONPATH"
183 SPHINX_DEBUG=1 sphinx-build -b html source build/html
184 # Fix hidden-file-or-dir warnings
185 rm -fr build/html/.doctrees build/html/.buildinfo
188 # Create dir link to avoid a sphinx-build exception
189 mkdir -p build/man/.doctrees/
190 ln -s . build/man/.doctrees/man
191 SPHINX_DEBUG=1 sphinx-build -b man -c source source/man build/man
192 mkdir -p %{buildroot}%{_mandir}/man1
193 install -p -D -m 644 build/man/*.1 %{buildroot}%{_mandir}/man1/
198 install -d -m 755 %{buildroot}%{_sharedstatedir}/cinder
199 install -d -m 755 %{buildroot}%{_sharedstatedir}/cinder/tmp
200 install -d -m 755 %{buildroot}%{_localstatedir}/log/cinder
202 # Install config files
203 install -d -m 755 %{buildroot}%{_sysconfdir}/cinder
204 install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/cinder/cinder-dist.conf
205 install -p -D -m 640 etc/cinder/cinder.conf.sample %{buildroot}%{_sysconfdir}/cinder/cinder.conf
206 install -d -m 755 %{buildroot}%{_sysconfdir}/cinder/volumes
207 install -p -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/tgt/conf.d/cinder.conf
208 install -p -D -m 640 etc/cinder/rootwrap.conf %{buildroot}%{_sysconfdir}/cinder/rootwrap.conf
209 install -p -D -m 640 etc/cinder/api-paste.ini %{buildroot}%{_sysconfdir}/cinder/api-paste.ini
210 install -p -D -m 640 etc/cinder/policy.json %{buildroot}%{_sysconfdir}/cinder/policy.json
212 # Install initscripts for services
213 install -p -D -m 755 %{SOURCE10} %{buildroot}%{_initrddir}/openstack-cinder-api
214 install -p -D -m 755 %{SOURCE11} %{buildroot}%{_initrddir}/openstack-cinder-scheduler
215 install -p -D -m 755 %{SOURCE12} %{buildroot}%{_initrddir}/openstack-cinder-volume
216 install -p -D -m 755 %{SOURCE13} %{buildroot}%{_initrddir}/openstack-cinder-backup
219 install -p -D -m 440 %{SOURCE20} %{buildroot}%{_sysconfdir}/sudoers.d/cinder
222 install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-cinder
224 # Install pid directory
225 install -d -m 755 %{buildroot}%{_localstatedir}/run/cinder
227 # Install rootwrap files in /usr/share/cinder/rootwrap
228 mkdir -p %{buildroot}%{_datarootdir}/cinder/rootwrap/
229 install -p -D -m 644 etc/cinder/rootwrap.d/* %{buildroot}%{_datarootdir}/cinder/rootwrap/
231 # Remove unneeded in production stuff
232 rm -f %{buildroot}%{_bindir}/cinder-debug
233 rm -fr %{buildroot}%{python_sitelib}/cinder/tests/
234 rm -fr %{buildroot}%{python_sitelib}/run_tests.*
235 rm -f %{buildroot}/usr/share/doc/cinder/README*
238 getent group cinder >/dev/null || groupadd -r cinder --gid 165
239 if ! getent passwd cinder >/dev/null; then
240 useradd -u 165 -r -g cinder -G cinder,nobody -d %{_sharedstatedir}/cinder -s /sbin/nologin -c "OpenStack Cinder Daemons" cinder
245 for svc in volume api scheduler backup; do
246 /sbin/chkconfig --add openstack-cinder-$svc
250 if [ $1 -eq 0 ] ; then
251 for svc in volume api scheduler backup; do
252 /sbin/service openstack-cinder-${svc} stop > /dev/null 2>&1
253 /sbin/chkconfig --del openstack-cinder-${svc}
258 if [ $1 -ge 1 ] ; then
259 # Package upgrade, not uninstall
260 for svc in volume api scheduler backup; do
261 /sbin/service openstack-cinder-${svc} condrestart > /dev/null 2>&1 || :
268 %dir %{_sysconfdir}/cinder
269 %config(noreplace) %attr(-, root, cinder) %{_sysconfdir}/cinder/cinder.conf
270 %config(noreplace) %attr(-, root, cinder) %{_sysconfdir}/cinder/api-paste.ini
271 %config(noreplace) %attr(-, root, cinder) %{_sysconfdir}/cinder/rootwrap.conf
272 %config(noreplace) %attr(-, root, cinder) %{_sysconfdir}/cinder/policy.json
273 %config(noreplace) %{_sysconfdir}/logrotate.d/openstack-cinder
274 %config(noreplace) %{_sysconfdir}/sudoers.d/cinder
275 %config(noreplace) %{_sysconfdir}/tgt/conf.d/cinder.conf
276 %attr(-, root, cinder) %{_datadir}/cinder/cinder-dist.conf
278 %dir %attr(0750, cinder, root) %{_localstatedir}/log/cinder
279 %dir %attr(0755, cinder, root) %{_localstatedir}/run/cinder
280 %dir %attr(0755, cinder, root) %{_sysconfdir}/cinder/volumes
283 %{_initrddir}/openstack-cinder-*
284 %{_datarootdir}/cinder
285 %{_mandir}/man1/cinder*.1.gz
287 %defattr(-, cinder, cinder, -)
288 %dir %{_sharedstatedir}/cinder
289 %dir %{_sharedstatedir}/cinder/tmp
291 %files -n python-cinder
293 %{python_sitelib}/cinder
294 %{python_sitelib}/cinder-%{version}*.egg-info
302 * Wed Jun 11 2014 Eric Harney <eharney@redhat.com> - 2014.1.1-2
303 - Add dependency on iscsi-initiator-utils
305 * Mon Jun 09 2014 Eric Harney <eharney@redhat.com> - 2014.1.1-1
306 - Update to Icehouse stable release 1
308 * Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2014.1-4
309 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
311 * Tue Apr 29 2014 Alan Pevec <apevec@redhat.com> - 2014.1-3
312 - drop crudini build dependency
314 * Mon Apr 21 2014 Eric Harney <eharney@redhat.com> - 2014.1-2
315 - Remove qpid settings from cinder-dist.conf
317 * Thu Apr 17 2014 Eric Harney <eharney@redhat.com> - 2014.1-1
318 - Update to 2014.1 (Icehouse)
320 * Tue Apr 15 2014 Eric Harney <eharney@redhat.com> - 2014.1-0.10.rc3
321 - Add python-oslo-messaging requirement
322 - Add GlusterFS delete patch
323 - Add systemd patches (not used yet)
325 * Tue Apr 15 2014 Eric Harney <eharney@redhat.com> - 2014.1-0.9.rc3
326 - Update to Icehouse RC3
328 * Mon Apr 07 2014 Eric Harney <eharney@redhat.com> - 2014.1-0.8.rc2
329 - Update to Icehouse RC2
330 - Icehouse requires newer version of python-six
332 * Thu Mar 27 2014 Eric Harney <eharney@redhat.com> - 2014.1-0.7.rc1
333 - Update to Icehouse RC1
335 * Tue Mar 25 2014 Pádraig Brady <pbrady@redhat.com> - 2014.1-0.6.b3
336 - Depend on python-rtslib and targetcli rather than scsi-target-utils
338 * Fri Mar 21 2014 Pádraig Brady <pbrady@redhat.com> - 2014.1-0.5.b3
339 - Use lioadm iSCSI helper rather than tgtadm
341 * Sun Mar 16 2014 Eric Harney <eharney@redhat.com> - 2014.1-0.4.b3
342 - Update to Icehouse milestone 3
343 - Add deps on python-oslo-rootwrap, python-taskflow
345 * Mon Jan 27 2014 Eric Harney <eharney@redhat.com> - 2014.1-0.3.b2
346 - Update to Icehouse milestone 2
348 * Mon Jan 06 2014 Pádraig Brady <pbrady@redhat.com> - 2014.1-0.2.b1
349 - Set python-six min version to ensure updated
351 * Thu Dec 19 2013 Eric Harney <eharney@redhat.com> - 2014.1-0.1.b1
352 - Update to Icehouse milestone 1
354 * Mon Oct 28 2013 Eric Harney <eharney@redhat.com> - 2013.2-2
355 - Fix GlusterFS volume driver clone operations
357 * Thu Oct 17 2013 Eric Harney <eharney@redhat.com> - 2013.2-1
358 - Update to 2013.2 (Havana)
359 - Restart/remove cinder-backup service during upgrade/uninstallation
361 * Wed Oct 16 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.13.rc3
362 - Update to Havana RC3
364 * Fri Oct 11 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.12.rc2
365 - Update to Havana RC2
367 * Tue Oct 08 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.11.rc1
368 - Update to Havana RC1
369 - Fix python-novaclient req epoch
371 * Mon Sep 23 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.10.b3
372 - Depend on python-novaclient 2.15
374 * Wed Sep 18 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.9.b3
375 - Add cinder-dist.conf
376 - Tighten permissions on /var/log/cinder
378 * Mon Sep 9 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.8.b3
379 - Update to Havana milestone 3
380 - Add dependency on python-novaclient
382 * Thu Aug 29 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-0.7.b2
383 - Add dependency on sysfsutils to support the fiber channel driver
385 * Mon Aug 26 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.6.b2
386 - Add cinder-backup service init script
388 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2013.2-0.5.b2
389 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
391 * Mon Jul 22 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-0.4.b2
392 - Add dependency on python-suds to support the netapp driver
393 - Add dependency on python-keystoneclient for auth token middleware
394 - Add dependency on qemu-img for volume creation from Glance images
396 * Sun Jul 21 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-0.3.b2
397 - Update to Havana milestone 2
399 * Thu Jun 13 2013 Eric Harney <eharney@redhat.com> - 2013.2-0.2.b1
400 - Update to Havana milestone 1
402 * Mon May 13 2013 Eric Harney <eharney@redhat.com> - 2013.1.1-1
403 - Update to Grizzly stable release 1, 2013.1.1
405 * Mon Apr 08 2013 Eric Harney <eharney@redhat.com> - 2013.1-2
406 - Backport fix for GlusterFS driver get_volume_stats
408 * Thu Apr 04 2013 Eric Harney <eharney@redhat.com> - 2013.1-1
409 - Update to Grizzly final release
411 * Tue Apr 2 2013 Pádraig Brady <pbrady@redhat.com> - 2013.1-0.6.rc3
412 - Adjust to support sqlalchemy-0.8.0
414 * Wed Mar 27 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.5.rc3
415 - Update to Grizzly RC3 release
417 * Mon Mar 25 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.5.rc2
418 - Update to Grizzly RC2 release
420 * Mon Mar 18 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.5.rc1
421 - Update to Grizzly RC1 release
423 * Tue Mar 05 2013 Pádraig Brady <P@draigBrady.com> - 2013.1-0.4.g3
424 - Add dependency on python-stevedore
426 * Mon Feb 25 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.3.g3
427 - Fix build issues with G-3 update
429 * Mon Feb 25 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.2.g3
430 - Update to Grizzly milestone 3
432 * Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2013.1-0.2.g2
433 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
435 * Thu Jan 10 2013 Eric Harney <eharney@redhat.com> - 2013.1-0.1.g2
436 - Update to Grizzly milestone 2
438 * Thu Nov 29 2012 Eric Harney <eharney@redhat.com> - 2013.1-0.1.g1
439 - Update to Grizzly milestone 1
441 * Wed Nov 14 2012 Eric Harney <eharney@redhat.com> - 2012.2-2
442 - Remove unused dependency on python-daemon
444 * Thu Sep 27 2012 Pádraig Brady <P@draigBrady.com> - 2012.2-1
445 - Update to Folsom final
447 * Fri Sep 21 2012 Pádraig Brady <P@draigBrady.com> - 2012.2-0.5.rc1
448 - Update to Folsom RC1
450 * Fri Sep 21 2012 Pádraig Brady <P@draigBrady.com> - 2012.2-0.4.f3
451 - Fix to ensure that tgt configuration is honored
453 * Mon Sep 17 2012 Pádraig Brady <P@draigBrady.com> - 2012.2-0.3.f3
454 - Move user config out of /etc/cinder/api-paste.ini
455 - Require python-cinderclient
457 * Mon Sep 3 2012 Pádraig Brady <P@draigBrady.com> - 2012.2-0.2.f3