2 # spec file for package ceph
4 # Copyright (C) 2004-2019 The Ceph Project Developers. See COPYING file
5 # at the top-level directory of this distribution and at
6 # https://github.com/ceph/ceph/blob/master/COPYING
8 # All modifications and additions to the file contributed by third parties
9 # remain the property of their copyright owners, unless otherwise agreed
12 # This file is under the GNU Lesser General Public License, version 2.1
14 # Please submit bugfixes or comments via http://tracker.ceph.com/
17 #################################################################################
18 # conditional build section
20 # please read http://rpm.org/user_doc/conditional_builds.html for explanation of
22 #################################################################################
23 %bcond_with make_check
24 %bcond_with cmake_verbose_logging
25 %bcond_without ceph_test_package
29 %bcond_without tcmalloc
31 %if 0%{?fedora} || 0%{?rhel}
32 %bcond_without selinux
34 %bcond_with cephfs_java
36 %bcond_without cephfs_java
38 %bcond_without amqp_endpoint
39 %bcond_without kafka_endpoint
41 %bcond_without libradosstriper
43 %global _remote_tarball_prefix https
://download.ceph.com
/tarballs
/
47 %bcond_with cephfs_java
48 %bcond_with amqp_endpoint
49 %bcond_with kafka_endpoint
50 #Compat macro for new _fillupdir macro introduced in Nov 2017
51 %if ! %{defined _fillupdir}
52 %global _fillupdir
/var
/adm
/fillup
-templates
55 %bcond_without libradosstriper
58 %bcond_with libradosstriper
61 %ifarch x86_64 aarch64 ppc64le
68 %if 0%{?fedora} || 0%{?suse_version} >= 1500
69 # distros that ship cmd2 and/or colorama
70 %bcond_without cephfs_shell
72 # distros that do _not_ ship cmd2/colorama
73 %bcond_with cephfs_shell
75 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8
79 # get selinux policy version
80 # Force 0.0.0 policy version for centos builds to avoid repository sync issues between rhel and centos
82 %global _selinux_policy_version
0.0.0
84 %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
88 %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
89 %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
90 %{!?python3_pkgversion: %global python3_pkgversion 3}
91 %{!?python3_version_nodots: %global python3_version_nodots 3}
92 %{!?python3_version: %global python3_version 3}
94 %define __python
%{__python3}
96 # unify libexec for all targets
97 %global _libexecdir
%{_exec_prefix}/lib
99 # disable dwz which compresses the debuginfo
100 %global _find_debuginfo_dwz_opts
%{nil}
102 #################################################################################
103 # main package definition
104 #################################################################################
106 Version: @PROJECT_VERSION@
107 Release: @RPM_RELEASE@
%{?dist}
108 %if 0%{?fedora} || 0%{?rhel}
112 # define _epoch_prefix macro which will expand to the empty string if epoch is
114 %global _epoch_prefix
%{?epoch:%{epoch}:}
116 Summary: User space components of the Ceph file system
117 License: LGPL
-2.1 and LGPL
-3.0 and CC
-BY
-SA
-3.0 and GPL
-2.0 and BSL
-1.0 and BSD
-3-Clause and MIT
118 %if 0%{?suse_version}
119 Group: System
/Filesystems
121 URL: http
://ceph.com
/
122 Source0: %{?_remote_tarball_prefix}@TARBALL_BASENAME@.tar.bz2
123 %if 0%{?suse_version}
124 # _insert_obs_source_lines_here
125 ExclusiveArch: x86_64 aarch64 ppc64le s390x
127 #################################################################################
128 # dependencies that apply across all distro families
129 #################################################################################
130 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
131 Requires: ceph
-mds
= %{_epoch_prefix}%{version}-%{release}
132 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
133 Requires: ceph
-mon
= %{_epoch_prefix}%{version}-%{release}
134 Requires(post
): binutils
135 %if 0%{with cephfs_java}
136 BuildRequires
: java
-devel
137 BuildRequires
: sharutils
140 BuildRequires
: checkpolicy
141 BuildRequires
: selinux
-policy
-devel
145 BuildRequires
: cmake3
> 3.5
147 BuildRequires
: cmake
> 3.5
149 BuildRequires
: cryptsetup
150 BuildRequires
: fuse
-devel
152 # devtoolset offers newer make and valgrind-devel, but the old ones are good
154 BuildRequires
: devtoolset
-8-gcc
-c
++ >= 8.3.1-3.1
156 BuildRequires
: gcc
-c
++
159 %if 0%{with tcmalloc}
160 %if 0%{?fedora} || 0%{?rhel}
161 BuildRequires
: gperftools
-devel
>= 2.6.1
163 %if 0%{?suse_version}
164 BuildRequires
: gperftools
-devel
>= 2.4
167 BuildRequires
: leveldb
-devel
> 1.2
168 BuildRequires
: libaio
-devel
169 BuildRequires
: libblkid
-devel
>= 2.17
170 BuildRequires
: libcurl
-devel
171 BuildRequires
: libcap
-ng
-devel
172 BuildRequires
: pkgconfig
(libudev
)
173 BuildRequires
: libnl3
-devel
174 BuildRequires
: liboath
-devel
175 BuildRequires
: libtool
176 BuildRequires
: libxml2
-devel
178 BuildRequires
: ncurses
-devel
179 BuildRequires
: parted
182 BuildRequires
: pkgconfig
183 BuildRequires
: procps
184 BuildRequires
: python
%{python3_pkgversion}
185 BuildRequires
: python
%{python3_pkgversion}-devel
186 BuildRequires
: snappy
-devel
188 BuildRequires
: pkgconfig
(udev
)
189 BuildRequires
: util
-linux
190 BuildRequires
: valgrind
-devel
192 BuildRequires
: xfsprogs
193 BuildRequires
: xfsprogs
-devel
194 BuildRequires
: xmlstarlet
196 %if 0%{with amqp_endpoint}
197 BuildRequires
: librabbitmq
-devel
199 %if 0%{with kafka_endpoint}
200 BuildRequires
: librdkafka
-devel
202 %if 0%{with make_check}
204 BuildRequires
: libuuid
-devel
206 BuildRequires
: python
%{python3_version_nodots}-bcrypt
207 BuildRequires
: python
%{python3_version_nodots}-nose
208 BuildRequires
: python
%{python3_version_nodots}-requests
209 BuildRequires
: python
%{python3_version_nodots}-dateutil
211 BuildRequires
: python
%{python3_pkgversion}-bcrypt
212 BuildRequires
: python
%{python3_pkgversion}-nose
213 BuildRequires
: python
%{python3_pkgversion}-pecan
214 BuildRequires
: python
%{python3_pkgversion}-requests
215 BuildRequires
: python
%{python3_pkgversion}-dateutil
218 BuildRequires
: python
%{python3_version_nodots}-six
219 BuildRequires
: python
%{python3_version_nodots}-virtualenv
221 BuildRequires
: python
%{python3_pkgversion}-six
222 BuildRequires
: python
%{python3_pkgversion}-virtualenv
225 BuildRequires
: python
%{python3_version_nodots}-coverage
227 BuildRequires
: python
%{python3_pkgversion}-coverage
230 BuildRequires
: python
%{python3_version_nodots}-pyOpenSSL
232 BuildRequires
: python
%{python3_pkgversion}-pyOpenSSL
237 BuildRequires
: c
-ares
-devel
238 BuildRequires
: gnutls
-devel
239 BuildRequires
: hwloc
-devel
240 BuildRequires
: libpciaccess
-devel
241 BuildRequires
: lksctp
-tools
-devel
242 BuildRequires
: protobuf
-devel
244 BuildRequires
: systemtap
-sdt
-devel
245 BuildRequires
: yaml
-cpp
-devel
247 #################################################################################
248 # distro-conditional dependencies
249 #################################################################################
250 %if 0%{?suse_version}
251 BuildRequires
: pkgconfig
(systemd
)
252 BuildRequires
: systemd
-rpm
-macros
254 PreReq
: %fillup_prereq
255 BuildRequires
: fdupes
256 BuildRequires
: net
-tools
257 BuildRequires
: libbz2
-devel
258 BuildRequires
: mozilla
-nss
-devel
259 BuildRequires
: keyutils
-devel
260 BuildRequires
: libopenssl
-devel
261 BuildRequires
: lsb
-release
262 BuildRequires
: openldap2
-devel
264 #BuildRequires: krb5-devel
265 BuildRequires
: cunit
-devel
266 BuildRequires
: python
%{python3_pkgversion}-setuptools
267 BuildRequires
: python
%{python3_pkgversion}-Cython
268 BuildRequires
: python
%{python3_pkgversion}-PrettyTable
269 BuildRequires
: python
%{python3_pkgversion}-Sphinx
270 BuildRequires
: rdma
-core
-devel
271 BuildRequires
: liblz4
-devel
>= 1.7
272 # for prometheus-alerts
273 BuildRequires
: golang
-github
-prometheus
-prometheus
275 %if 0%{?fedora} || 0%{?rhel}
277 BuildRequires
: boost
-random
278 BuildRequires
: nss
-devel
279 BuildRequires
: keyutils
-libs
-devel
280 BuildRequires
: libibverbs
-devel
281 BuildRequires
: librdmacm
-devel
282 BuildRequires
: openldap
-devel
283 #BuildRequires: krb5-devel
284 BuildRequires
: openssl
-devel
285 BuildRequires
: CUnit
-devel
286 BuildRequires
: redhat
-lsb
-core
287 BuildRequires
: python
%{python3_pkgversion}-devel
288 BuildRequires
: python
%{python3_pkgversion}-setuptools
290 BuildRequires
: python
%{python3_version_nodots}-Cython
292 BuildRequires
: python
%{python3_pkgversion}-Cython
294 BuildRequires
: python
%{python3_pkgversion}-prettytable
295 BuildRequires
: python
%{python3_pkgversion}-sphinx
296 BuildRequires
: lz4
-devel
>= 1.7
298 # distro-conditional make check dependencies
299 %if 0%{with make_check}
300 %if 0%{?fedora} || 0%{?rhel}
301 BuildRequires
: libtool
-ltdl
-devel
302 BuildRequires
: xmlsec1
303 BuildRequires
: xmlsec1
-devel
305 BuildRequires
: xmlsec1
-nss
307 BuildRequires
: xmlsec1
-openssl
308 BuildRequires
: xmlsec1
-openssl
-devel
310 BuildRequires
: python
%{python3_version_nodots}-jwt
311 BuildRequires
: python
%{python3_version_nodots}-scipy
313 BuildRequires
: python
%{python3_pkgversion}-cherrypy
314 BuildRequires
: python
%{python3_pkgversion}-jwt
315 BuildRequires
: python
%{python3_pkgversion}-routes
316 BuildRequires
: python
%{python3_pkgversion}-scipy
317 BuildRequires
: python
%{python3_pkgversion}-werkzeug
320 BuildRequires
: python
%{python3_version_nodots}-pyOpenSSL
322 BuildRequires
: python
%{python3_pkgversion}-pyOpenSSL
325 %if 0%{?suse_version}
326 BuildRequires
: libxmlsec1
-1
327 BuildRequires
: libxmlsec1
-nss1
328 BuildRequires
: libxmlsec1
-openssl1
329 BuildRequires
: python
%{python3_pkgversion}-CherryPy
330 BuildRequires
: python
%{python3_pkgversion}-PyJWT
331 BuildRequires
: python
%{python3_pkgversion}-Routes
332 BuildRequires
: python
%{python3_pkgversion}-Werkzeug
333 BuildRequires
: python
%{python3_pkgversion}-numpy
-devel
334 BuildRequires
: xmlsec1
-devel
335 BuildRequires
: xmlsec1
-openssl
-devel
338 # lttng and babeltrace for rbd-replay-prep
340 %if 0%{?fedora} || 0%{?rhel}
341 BuildRequires
: lttng
-ust
-devel
342 BuildRequires
: libbabeltrace
-devel
344 %if 0%{?suse_version}
345 BuildRequires
: lttng
-ust
-devel
346 BuildRequires
: babeltrace
-devel
349 %if 0%{?suse_version}
350 BuildRequires
: libexpat
-devel
352 %if 0%{?rhel} || 0%{?fedora}
353 BuildRequires
: expat
-devel
356 %if 0%{?fedora} || 0%{?rhel}
357 BuildRequires
: redhat
-rpm
-config
360 %if 0%{?fedora} || 0%{?rhel}
361 BuildRequires
: cryptopp
-devel
362 BuildRequires
: numactl
-devel
363 BuildRequires
: protobuf
-compiler
365 %if 0%{?suse_version}
366 BuildRequires
: libcryptopp
-devel
367 BuildRequires
: libnuma
-devel
371 BuildRequires
: /usr
/bin
/pathfix.py
375 Ceph is a massively scalable
, open
-source, distributed storage system that runs
376 on commodity hardware and delivers object
, block and file system storage.
379 #################################################################################
381 #################################################################################
383 Summary: Ceph Base Package
384 %if 0%{?suse_version}
385 Group: System
/Filesystems
387 Provides: ceph
-test:/usr
/bin
/ceph
-kvstore
-tool
388 Requires: ceph
-common
= %{_epoch_prefix}%{version}-%{release}
389 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
390 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
391 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
392 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
394 Requires: ceph
-selinux
= %{_epoch_prefix}%{version}-%{release}
403 Requires: python
%{python3_pkgversion}-setuptools
407 %if 0%{?fedora} || 0%{?rhel}
408 # The following is necessary due to tracker 36508 and can be removed once the
409 # associated upstream bugs are resolved.
410 %if 0%{with tcmalloc}
411 Requires: gperftools
-libs
>= 2.6.1
418 Base is the package that includes all the files shared amongst ceph servers
421 Summary: Utility to bootstrap Ceph clusters
423 %if 0%{?suse_version}
424 Requires: apparmor
-abstractions
426 Requires: python
%{python3_pkgversion}
430 %description -n cephadm
431 Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed
432 with systemd and podman.
434 %package -n ceph
-common
436 %if 0%{?suse_version}
437 Group: System
/Filesystems
439 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
440 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
441 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
442 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
443 Requires: python
%{python3_pkgversion}-rbd = %{_epoch_prefix}%{version}-%{release}
444 Requires: python
%{python3_pkgversion}-cephfs = %{_epoch_prefix}%{version}-%{release}
445 Requires: python
%{python3_pkgversion}-rgw = %{_epoch_prefix}%{version}-%{release}
446 Requires: python
%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
447 Requires: python
%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
448 %if 0%{?fedora} || 0%{?rhel}
449 Requires: python
%{python3_pkgversion}-prettytable
451 %if 0%{?suse_version}
452 Requires: python
%{python3_pkgversion}-PrettyTable
454 %if 0%{with libradosstriper}
455 Requires: libradosstriper1
= %{_epoch_prefix}%{version}-%{release}
458 %if 0%{?suse_version}
459 Requires(pre
): pwdutils
461 %description -n ceph
-common
462 Common utilities to mount and interact with a ceph storage cluster.
463 Comprised of files that are common to Ceph clients and servers.
466 Summary: Ceph Metadata Server Daemon
467 %if 0%{?suse_version}
468 Group: System
/Filesystems
470 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
472 ceph
-mds is the metadata server daemon
for the Ceph distributed file system.
473 One or more instances of ceph
-mds collectively manage the file system
474 namespace
, coordinating access to the shared OSD cluster.
477 Summary: Ceph Monitor Daemon
478 %if 0%{?suse_version}
479 Group: System
/Filesystems
481 Provides: ceph
-test:/usr
/bin
/ceph
-monstore
-tool
482 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
484 ceph
-mon is the cluster monitor daemon
for the Ceph distributed file
485 system. One or more instances of ceph
-mon form a Paxos part
-time
486 parliament cluster that provides extremely reliable and durable storage
487 of cluster membership
, configuration
, and state.
490 Summary: Ceph Manager Daemon
491 %if 0%{?suse_version}
492 Group: System
/Filesystems
494 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
495 Requires: ceph
-mgr
-modules
-core
= %{_epoch_prefix}%{version}-%{release}
497 Requires: python
%{python3_version_nodots}-six
499 Requires: python
%{python3_pkgversion}-six
502 Recommends
: ceph
-mgr
-dashboard
= %{_epoch_prefix}%{version}-%{release}
503 Recommends
: ceph
-mgr
-diskprediction
-local = %{_epoch_prefix}%{version}-%{release}
504 Recommends
: ceph
-mgr
-diskprediction
-cloud
= %{_epoch_prefix}%{version}-%{release}
505 Recommends
: ceph
-mgr
-k8sevents
= %{_epoch_prefix}%{version}-%{release}
506 Recommends
: ceph
-mgr
-cephadm
= %{_epoch_prefix}%{version}-%{release}
507 Recommends
: python
%{python3_pkgversion}-influxdb
510 ceph
-mgr enables python modules that provide services
(such as the REST
511 module derived from Calamari
) and expose CLI hooks. ceph
-mgr gathers
512 the cluster maps
, the daemon metadata
, and performance counters
, and
513 exposes all these to the python modules.
515 %package mgr
-dashboard
516 Summary: Ceph Dashboard
518 %if 0%{?suse_version}
519 Group: System
/Filesystems
521 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
522 Requires: ceph
-grafana
-dashboards
= %{_epoch_prefix}%{version}-%{release}
523 Requires: ceph
-prometheus
-alerts
= %{_epoch_prefix}%{version}-%{release}
524 %if 0%{?fedora} || 0%{?rhel}
525 Requires: python
%{python3_pkgversion}-cherrypy
526 Requires: python
%{python3_pkgversion}-jwt
527 Requires: python
%{python3_pkgversion}-routes
528 Requires: python
%{python3_pkgversion}-werkzeug
530 %if 0%{?suse_version}
531 Requires: python
%{python3_pkgversion}-CherryPy
532 Requires: python
%{python3_pkgversion}-PyJWT
533 Requires: python
%{python3_pkgversion}-Routes
534 Requires: python
%{python3_pkgversion}-Werkzeug
536 %description mgr
-dashboard
537 ceph
-mgr
-dashboard is a manager module
, providing a web
-based application
538 to monitor and manage many aspects of a Ceph cluster and related components.
539 See the Dashboard documentation at http
://docs.ceph.com
/ for details and a
540 detailed feature overview.
542 %package mgr
-diskprediction
-local
543 Summary: Ceph Manager module
for predicting disk failures
545 %if 0%{?suse_version}
546 Group: System
/Filesystems
548 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
549 Requires: python
%{python3_pkgversion}-numpy
550 Requires: python3
-scipy
555 %description mgr
-diskprediction
-local
556 ceph
-mgr
-diskprediction
-local is a ceph
-mgr module that tries to predict
557 disk failures using
local algorithms and machine
-learning databases.
559 %package mgr
-diskprediction
-cloud
560 Summary: Ceph Manager module
for cloud
-based disk failure prediction
562 %if 0%{?suse_version}
563 Group: System
/Filesystems
565 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
566 %if 0%{without python2}
567 Requires: python3
-grpcio
568 Requires: python3
-protobuf
570 Requires: python2
-grpcio
571 Requires: python2
-protobuf
573 %description mgr
-diskprediction
-cloud
574 ceph
-mgr
-diskprediction
-cloud is a ceph
-mgr module that tries to predict
575 disk failures using services
in the Google cloud.
577 %package mgr
-modules
-core
578 Summary: Ceph Manager modules which are always enabled
580 %if 0%{?suse_version}
581 Group: System
/Filesystems
584 Requires: python
%{python3_version_nodots}-bcrypt
585 Requires: python
%{python3_version_nodots}-pyOpenSSL
586 Requires: python
%{python3_version_nodots}-requests
587 Requires: python
%{python3_version_nodots}-PyYAML
588 Requires: python
%{python3_version_nodots}-dateutil
590 Requires: python
%{python3_pkgversion}-bcrypt
591 Requires: python
%{python3_pkgversion}-pecan
592 Requires: python
%{python3_pkgversion}-pyOpenSSL
593 Requires: python
%{python3_pkgversion}-requests
594 Requires: python
%{python3_pkgversion}-dateutil
596 %if 0%{?fedora} || 0%{?rhel} >= 8
597 Requires: python
%{python3_pkgversion}-cherrypy
598 Requires: python
%{python3_pkgversion}-pyyaml
599 Requires: python
%{python3_pkgversion}-werkzeug
601 %if 0%{?suse_version}
602 Requires: python
%{python3_pkgversion}-CherryPy
603 Requires: python
%{python3_pkgversion}-PyYAML
604 Requires: python
%{python3_pkgversion}-Werkzeug
607 Recommends
: ceph
-mgr
-rook
= %{_epoch_prefix}%{version}-%{release}
609 %description mgr
-modules
-core
610 ceph
-mgr
-modules
-core provides a
set of modules which are always
615 Summary: Ceph Manager module
for Rook
-based orchestration
616 %if 0%{?suse_version}
617 Group: System
/Filesystems
619 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
620 Requires: python
%{python3_pkgversion}-kubernetes
621 Requires: python
%{python3_pkgversion}-jsonpatch
622 %description mgr
-rook
623 ceph
-mgr
-rook is a ceph
-mgr module
for orchestration functions using
626 %package mgr
-k8sevents
628 Summary: Ceph Manager module to orchestrate ceph
-events to kubernetes' events API
629 %if 0%{?suse_version}
630 Group: System
/Filesystems
632 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
633 Requires: python
%{python3_pkgversion}-kubernetes
634 %description mgr
-k8sevents
635 ceph
-mgr
-k8sevents is a ceph
-mgr module that sends every ceph
-events
636 to kubernetes' events API
639 Summary: Ceph Manager module
for cephadm
-based orchestration
641 %if 0%{?suse_version}
642 Group: System
/Filesystems
644 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
645 Requires: python
%{python3_pkgversion}-remoto
646 Requires: cephadm
= %{_epoch_prefix}%{version}-%{release}
647 %if 0%{?suse_version}
650 %if 0%{?rhel} || 0%{?fedora}
651 Requires: openssh
-clients
653 %description mgr
-cephadm
654 ceph
-mgr
-cephadm is a ceph
-mgr module
for orchestration functions using
655 the integrated cephadm deployment tool management operations.
658 Summary: Ceph fuse
-based client
659 %if 0%{?suse_version}
660 Group: System
/Filesystems
663 Requires: python
%{python3_pkgversion}
665 FUSE based client
for Ceph distributed network file system
668 Summary: Ceph fuse
-based client
669 %if 0%{?suse_version}
670 Group: System
/Filesystems
672 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
673 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
674 %description -n rbd
-fuse
675 FUSE based client to map Ceph rbd images to files
677 %package -n rbd
-mirror
678 Summary: Ceph daemon
for mirroring RBD images
679 %if 0%{?suse_version}
680 Group: System
/Filesystems
682 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
683 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
684 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
685 %description -n rbd
-mirror
686 Daemon
for mirroring RBD images between Ceph clusters
, streaming
687 changes asynchronously.
689 %package immutable
-object
-cache
690 Summary: Ceph daemon
for immutable object cache
691 %if 0%{?suse_version}
692 Group: System
/Filesystems
694 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
695 %description immutable
-object
-cache
696 Daemon
for immutable object cache.
699 Summary: Ceph RBD client base on NBD
700 %if 0%{?suse_version}
701 Group: System
/Filesystems
703 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
704 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
705 %description -n rbd
-nbd
706 NBD based client to map Ceph rbd images to
local device
709 Summary: Rados REST gateway
710 %if 0%{?suse_version}
711 Group: System
/Filesystems
713 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
715 Requires: ceph
-selinux
= %{_epoch_prefix}%{version}-%{release}
717 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
718 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
719 %if 0%{?rhel} || 0%{?fedora}
723 RADOS is a distributed object store used by the Ceph distributed
724 storage system. This package provides a REST gateway to the
725 object store that aims to implement a superset of Amazon's S3
726 service as well as the OpenStack Object Storage
("Swift"
) API.
729 %package resource
-agents
730 Summary: OCF
-compliant resource agents
for Ceph daemons
731 %if 0%{?suse_version}
732 Group: System
/Filesystems
734 Requires: ceph
-base
= %{_epoch_prefix}%{version}
735 Requires: resource
-agents
736 %description resource
-agents
737 Resource agents
for monitoring and managing Ceph daemons
738 under Open Cluster Framework
(OCF
) compliant resource
739 managers such as Pacemaker.
743 Summary: Ceph Object Storage Daemon
744 %if 0%{?suse_version}
745 Group: System
/Filesystems
747 Provides: ceph
-test:/usr
/bin
/ceph
-osdomap
-tool
748 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
751 Requires: libstoragemgmt
753 ceph
-osd is the object storage daemon
for the Ceph distributed file
754 system. It is responsible
for storing objects on a
local file system
755 and providing access to them over the network.
759 Summary: Ceph Object Storage Daemon
(crimson
)
760 %if 0%{?suse_version}
761 Group: System
/Filesystems
763 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
764 %description crimson
-osd
765 crimson
-osd is the object storage daemon
for the Ceph distributed file
766 system. It is responsible
for storing objects on a
local file system
767 and providing access to them over the network.
770 %package -n librados2
771 Summary: RADOS distributed object store client library
772 %if 0%{?suse_version}
773 Group: System
/Libraries
775 %if 0%{?rhel} || 0%{?fedora}
776 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
778 %description -n librados2
779 RADOS is a reliable
, autonomic distributed object storage cluster
780 developed as part of the Ceph distributed storage system. This is a
781 shared library allowing applications to access the distributed object
782 store using a simple file
-like interface.
784 %package -n librados
-devel
785 Summary: RADOS headers
786 %if 0%{?suse_version}
787 Group: Development
/Libraries
/C and C
++
789 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
790 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
791 Provides: librados2
-devel
= %{_epoch_prefix}%{version}-%{release}
792 Obsoletes
: librados2
-devel
< %{_epoch_prefix}%{version}-%{release}
793 %description -n librados
-devel
794 This package contains C libraries and headers needed to develop programs
795 that use RADOS object store.
797 %package -n libradospp
-devel
798 Summary: RADOS headers
799 %if 0%{?suse_version}
800 Group: Development
/Libraries
/C and C
++
802 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
803 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
804 %description -n libradospp
-devel
805 This package contains C
++ libraries and headers needed to develop programs
806 that use RADOS object store.
809 Summary: RADOS gateway client library
810 %if 0%{?suse_version}
811 Group: System
/Libraries
813 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
814 %description -n librgw2
815 This package provides a library implementation of the RADOS gateway
816 (distributed object store with S3 and Swift personalities
).
818 %package -n librgw
-devel
819 Summary: RADOS gateway client library
820 %if 0%{?suse_version}
821 Group: Development
/Libraries
/C and C
++
823 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
824 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
825 Provides: librgw2
-devel
= %{_epoch_prefix}%{version}-%{release}
826 Obsoletes
: librgw2
-devel
< %{_epoch_prefix}%{version}-%{release}
827 %description -n librgw
-devel
828 This package contains libraries and headers needed to develop programs
829 that use RADOS gateway client library.
831 %package -n python
%{python3_pkgversion}-rgw
832 Summary: Python
3 libraries
for the RADOS gateway
833 %if 0%{?suse_version}
834 Group: Development
/Libraries
/Python
836 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
837 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
838 %{?python_provide:%python_provide python%{python3_pkgversion}-rgw}
839 Provides: python
-rgw
= %{_epoch_prefix}%{version}-%{release}
840 Obsoletes
: python
-rgw
< %{_epoch_prefix}%{version}-%{release}
841 %description -n python
%{python3_pkgversion}-rgw
842 This package contains Python
3 libraries
for interacting with Cephs RADOS
845 %package -n python
%{python3_pkgversion}-rados
846 Summary: Python
3 libraries
for the RADOS object store
847 %if 0%{?suse_version}
848 Group: Development
/Libraries
/Python
850 Requires: python
%{python3_pkgversion}
851 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
852 %{?python_provide:%python_provide python%{python3_pkgversion}-rados}
853 Provides: python
-rados
= %{_epoch_prefix}%{version}-%{release}
854 Obsoletes
: python
-rados
< %{_epoch_prefix}%{version}-%{release}
855 %description -n python
%{python3_pkgversion}-rados
856 This package contains Python
3 libraries
for interacting with Cephs RADOS
859 %if 0%{with libradosstriper}
860 %package -n libradosstriper1
861 Summary: RADOS striping interface
862 %if 0%{?suse_version}
863 Group: System
/Libraries
865 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
866 %description -n libradosstriper1
867 Striping interface built on top of the rados library
, allowing
868 to stripe bigger objects onto several standard rados objects using
869 an interface very similar to the rados one.
871 %package -n libradosstriper
-devel
872 Summary: RADOS striping interface headers
873 %if 0%{?suse_version}
874 Group: Development
/Libraries
/C and C
++
876 Requires: libradosstriper1
= %{_epoch_prefix}%{version}-%{release}
877 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
878 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
879 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
880 Provides: libradosstriper1
-devel
= %{_epoch_prefix}%{version}-%{release}
881 Obsoletes
: libradosstriper1
-devel
< %{_epoch_prefix}%{version}-%{release}
882 %description -n libradosstriper
-devel
883 This package contains libraries and headers needed to develop programs
884 that use RADOS striping interface.
888 Summary: RADOS block device client library
889 %if 0%{?suse_version}
890 Group: System
/Libraries
892 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
893 %if 0%{?suse_version}
894 Requires(post
): coreutils
896 %if 0%{?rhel} || 0%{?fedora}
897 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
899 %description -n librbd1
900 RBD is a block device striped across multiple distributed objects
in
901 RADOS
, a reliable
, autonomic distributed object storage cluster
902 developed as part of the Ceph distributed storage system. This is a
903 shared library allowing applications to manage these block devices.
905 %package -n librbd
-devel
906 Summary: RADOS block device headers
907 %if 0%{?suse_version}
908 Group: Development
/Libraries
/C and C
++
910 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
911 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
912 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
913 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
914 Provides: librbd1
-devel
= %{_epoch_prefix}%{version}-%{release}
915 Obsoletes
: librbd1
-devel
< %{_epoch_prefix}%{version}-%{release}
916 %description -n librbd
-devel
917 This package contains libraries and headers needed to develop programs
918 that use RADOS block device.
920 %package -n python
%{python3_pkgversion}-rbd
921 Summary: Python
3 libraries
for the RADOS block device
922 %if 0%{?suse_version}
923 Group: Development
/Libraries
/Python
925 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
926 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
927 %{?python_provide:%python_provide python%{python3_pkgversion}-rbd}
928 Provides: python
-rbd
= %{_epoch_prefix}%{version}-%{release}
929 Obsoletes
: python
-rbd
< %{_epoch_prefix}%{version}-%{release}
930 %description -n python
%{python3_pkgversion}-rbd
931 This package contains Python
3 libraries
for interacting with Cephs RADOS
934 %package -n libcephfs2
935 Summary: Ceph distributed file system client library
936 %if 0%{?suse_version}
937 Group: System
/Libraries
939 Obsoletes
: libcephfs1
940 %if 0%{?rhel} || 0%{?fedora}
941 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
942 Obsoletes
: ceph
-libcephfs
944 %description -n libcephfs2
945 Ceph is a distributed network file system designed to provide excellent
946 performance
, reliability
, and scalability. This is a shared library
947 allowing applications to access a Ceph distributed file system via a
948 POSIX
-like interface.
950 %package -n libcephfs
-devel
951 Summary: Ceph distributed file system headers
952 %if 0%{?suse_version}
953 Group: Development
/Libraries
/C and C
++
955 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
956 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
957 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
958 Provides: libcephfs2
-devel
= %{_epoch_prefix}%{version}-%{release}
959 Obsoletes
: libcephfs2
-devel
< %{_epoch_prefix}%{version}-%{release}
960 %description -n libcephfs
-devel
961 This package contains libraries and headers needed to develop programs
962 that use Cephs distributed file system.
964 %package -n python
%{python3_pkgversion}-cephfs
965 Summary: Python
3 libraries
for Ceph distributed file system
966 %if 0%{?suse_version}
967 Group: Development
/Libraries
/Python
969 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
970 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
971 Requires: python
%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
972 %{?python_provide:%python_provide python%{python3_pkgversion}-cephfs}
973 Provides: python
-cephfs
= %{_epoch_prefix}%{version}-%{release}
974 Obsoletes
: python
-cephfs
< %{_epoch_prefix}%{version}-%{release}
975 %description -n python
%{python3_pkgversion}-cephfs
976 This package contains Python
3 libraries
for interacting with Cephs distributed
979 %package -n python
%{python3_pkgversion}-ceph
-argparse
980 Summary: Python
3 utility libraries
for Ceph CLI
981 %if 0%{?suse_version}
982 Group: Development
/Libraries
/Python
984 %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-argparse}
985 %description -n python
%{python3_pkgversion}-ceph
-argparse
986 This package contains types and routines
for Python
3 used by the Ceph CLI as
987 well as the RESTful interface. These have to
do with querying the daemons
for
988 command-description information
, validating user
command input against those
989 descriptions
, and submitting the
command to the appropriate daemon.
991 %package -n python
%{python3_pkgversion}-ceph
-common
992 Summary: Python
3 utility libraries
for Ceph
993 %if 0%{?suse_version}
994 Group: Development
/Libraries
/Python
996 %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-common}
997 %description -n python
%{python3_pkgversion}-ceph
-common
998 This package contains data structures
, classes and functions used by Ceph.
999 It also contains utilities used
for the cephadm orchestrator.
1001 %if 0%{with cephfs_shell}
1002 %package -n cephfs
-shell
1003 Summary: Interactive shell
for Ceph file system
1004 Requires: python
%{python3_pkgversion}-cmd2
1005 Requires: python
%{python3_pkgversion}-colorama
1006 Requires: python
%{python3_pkgversion}-cephfs
1007 %description -n cephfs
-shell
1008 This package contains an interactive tool that allows accessing a Ceph
1009 file system without mounting it by providing a nice pseudo
-shell which
1010 works like an FTP client.
1013 %if 0%{with ceph_test_package}
1014 %package -n ceph
-test
1015 Summary: Ceph benchmarks and
test tools
1016 %if 0%{?suse_version}
1017 Group: System
/Benchmark
1019 Requires: ceph
-common
= %{_epoch_prefix}%{version}-%{release}
1020 Requires: xmlstarlet
1023 %description -n ceph
-test
1024 This package contains Ceph benchmarks and
test tools.
1027 %if 0%{with cephfs_java}
1029 %package -n libcephfs_jni1
1030 Summary: Java Native Interface library
for CephFS Java bindings
1031 %if 0%{?suse_version}
1032 Group: System
/Libraries
1035 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
1036 %description -n libcephfs_jni1
1037 This package contains the Java Native Interface library
for CephFS Java
1040 %package -n libcephfs_jni
-devel
1041 Summary: Development files
for CephFS Java Native Interface library
1042 %if 0%{?suse_version}
1043 Group: Development
/Libraries
/Java
1046 Requires: libcephfs_jni1
= %{_epoch_prefix}%{version}-%{release}
1047 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
1048 Provides: libcephfs_jni1
-devel
= %{_epoch_prefix}%{version}-%{release}
1049 Obsoletes
: libcephfs_jni1
-devel
< %{_epoch_prefix}%{version}-%{release}
1050 %description -n libcephfs_jni
-devel
1051 This package contains the development files
for CephFS Java Native Interface
1054 %package -n cephfs
-java
1055 Summary: Java libraries
for the Ceph File System
1056 %if 0%{?suse_version}
1057 Group: System
/Libraries
1060 Requires: libcephfs_jni1
= %{_epoch_prefix}%{version}-%{release}
1062 BuildRequires
: junit
1063 %description -n cephfs
-java
1064 This package contains the Java libraries
for the Ceph File System.
1068 %package -n rados
-objclass
-devel
1069 Summary: RADOS object class development kit
1070 %if 0%{?suse_version}
1071 Group: Development
/Libraries
/C and C
++
1073 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
1074 %description -n rados
-objclass
-devel
1075 This package contains libraries and headers needed to develop RADOS object
1078 %if 0%{with selinux}
1081 Summary: SELinux support
for Ceph MON
, OSD and MDS
1082 %if 0%{?suse_version}
1083 Group: System
/Filesystems
1085 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
1086 Requires: policycoreutils
, libselinux
-utils
1087 Requires(post
): ceph
-base
= %{_epoch_prefix}%{version}-%{release}
1088 Requires(post
): selinux
-policy
-base
>= %{_selinux_policy_version}, policycoreutils
, gawk
1089 Requires(postun
): policycoreutils
1090 %description selinux
1091 This package contains SELinux support
for Ceph MON
, OSD and MDS. The package
1092 also performs file
-system relabelling which can take a long
time on heavily
1093 populated file
-systems.
1097 %package grafana
-dashboards
1098 Summary: The
set of Grafana dashboards
for monitoring purposes
1100 %if 0%{?suse_version}
1101 Group: System
/Filesystems
1103 %description grafana
-dashboards
1104 This package provides a
set of Grafana dashboards
for monitoring of
1105 Ceph clusters. The dashboards require a Prometheus server setup
1106 collecting data from Ceph Manager "prometheus" module and Prometheus
1107 project "node_exporter" module. The dashboards are designed to be
1108 integrated with the Ceph Manager Dashboard web UI.
1110 %package prometheus
-alerts
1111 Summary: Prometheus alerts
for a Ceph deplyoment
1113 Group: System
/Monitoring
1114 %description prometheus
-alerts
1115 This package provides Ceph’s default alerts
for Prometheus.
1117 #################################################################################
1119 #################################################################################
1121 %autosetup -p1
-n @TARBALL_BASENAME@
1124 # LTO can be enabled as soon as the following GCC bug is fixed:
1125 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200
1126 %define _lto_cflags
%{nil}
1129 .
/opt
/rh
/devtoolset
-8/enable
1132 %if 0%{with cephfs_java}
1134 for i
in /usr
/{lib64
,lib
}/jvm
/java
/include
{,/linux
}; do
1135 [ -d $i
] && java_inc
="$java_inc
-I$i"
1139 %if 0%{?suse_version}
1140 # the following setting fixed an OOM condition we once encountered in the OBS
1141 RPM_OPT_FLAGS
="$RPM_OPT_FLAGS
--param ggc
-min
-expand
=20 --param ggc
-min
-heapsize
=32768"
1144 export CPPFLAGS
="$java_inc"
1145 export CFLAGS
="$RPM_OPT_FLAGS"
1146 export CXXFLAGS
="$RPM_OPT_FLAGS"
1147 export LDFLAGS
="$RPM_LD_FLAGS"
1149 # Parallel build settings ...
1150 CEPH_MFLAGS_JOBS
="
%{?_smp_mflags}"
1151 CEPH_SMP_NCPUS
=$
(echo "$CEPH_MFLAGS_JOBS" | sed 's
/-j
//'
)
1152 %if 0%{?__isa_bits} == 32
1153 # 32-bit builds can use 3G memory max, which is not enough even for -j2
1156 # do not eat all memory
1157 echo "Available memory
:"
1159 echo "System limits
:"
1161 if test -n "$CEPH_SMP_NCPUS"
-a "$CEPH_SMP_NCPUS"
-gt
1 ; then
1162 mem_per_process
=2500
1163 max_mem
=$
(LANG
=C free
-m | sed
-n "s|^Mem
: *\
([0-9]*\
).
*$|\
1|p"
)
1164 max_jobs
="$
(($max_mem
/ $mem_per_process
))"
1165 test "$CEPH_SMP_NCPUS"
-gt "$max_jobs"
&& CEPH_SMP_NCPUS
="$max_jobs"
&& echo "Warning
: Reducing build parallelism to
-j$max_jobs because of memory limits"
1166 test "$CEPH_SMP_NCPUS"
-le
0 && CEPH_SMP_NCPUS
="
1"
&& echo "Warning
: Not using parallel build at all because of memory limits"
1168 export CEPH_SMP_NCPUS
1169 export CEPH_MFLAGS_JOBS
="
-j$CEPH_SMP_NCPUS"
1181 -DCMAKE_INSTALL_PREFIX
=%{_prefix} \
1182 -DCMAKE_INSTALL_LIBDIR
=%{_libdir} \
1183 -DCMAKE_INSTALL_LIBEXECDIR
=%{_libexecdir} \
1184 -DCMAKE_INSTALL_LOCALSTATEDIR
=%{_localstatedir} \
1185 -DCMAKE_INSTALL_SYSCONFDIR
=%{_sysconfdir} \
1186 -DCMAKE_INSTALL_MANDIR
=%{_mandir} \
1187 -DCMAKE_INSTALL_DOCDIR
=%{_docdir}/ceph \
1188 -DCMAKE_INSTALL_INCLUDEDIR
=%{_includedir} \
1190 -DWITH_PYTHON3
=%{python3_version} \
1191 -DWITH_MGR_DASHBOARD_FRONTEND
=OFF \
1192 %if 0%{without ceph_test_package}
1195 %if 0%{with cephfs_java}
1196 -DWITH_CEPHFS_JAVA
=ON \
1198 %if 0%{with selinux}
1203 -DWITH_BABELTRACE
=ON \
1206 -DWITH_BABELTRACE
=OFF \
1208 $CEPH_EXTRA_CMAKE_ARGS \
1212 %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le
%{ix86} x86_64
1213 -DWITH_BOOST_CONTEXT
=ON \
1215 -DWITH_BOOST_CONTEXT
=OFF \
1217 %if 0%{with cephfs_shell}
1218 -DWITH_CEPHFS_SHELL
=ON \
1220 %if 0%{with libradosstriper}
1221 -DWITH_LIBRADOSSTRIPER
=ON \
1223 -DWITH_LIBRADOSSTRIPER
=OFF \
1225 %if 0%{with amqp_endpoint}
1226 -DWITH_RADOSGW_AMQP_ENDPOINT
=ON \
1228 -DWITH_RADOSGW_AMQP_ENDPOINT
=OFF \
1230 %if 0%{with kafka_endpoint}
1231 -DWITH_RADOSGW_KAFKA_ENDPOINT
=ON \
1233 -DWITH_RADOSGW_KAFKA_ENDPOINT
=OFF \
1235 %if 0%{with cmake_verbose_logging}
1236 -DCMAKE_VERBOSE_MAKEFILE
=ON \
1238 -DBOOST_J
=$CEPH_SMP_NCPUS \
1241 %if %{with cmake_verbose_logging}
1242 cat .
/CMakeFiles
/CMakeOutput.log
1243 cat .
/CMakeFiles
/CMakeError.log
1246 make "$CEPH_MFLAGS_JOBS"
1249 %if 0%{with make_check}
1251 # run in-tree unittests
1253 ctest "$CEPH_MFLAGS_JOBS"
1259 make DESTDIR
=%{buildroot} install
1260 # we have dropped sysvinit bits
1261 rm -f
%{buildroot}/%{_sysconfdir}/init.d
/ceph
1263 install -m
0644 -D src
/etc
-rbdmap
%{buildroot}%{_sysconfdir}/ceph
/rbdmap
1264 %if 0%{?fedora} || 0%{?rhel}
1265 install -m
0644 -D etc
/sysconfig
/ceph
%{buildroot}%{_sysconfdir}/sysconfig
/ceph
1267 %if 0%{?suse_version}
1268 install -m
0644 -D etc
/sysconfig
/ceph
%{buildroot}%{_fillupdir}/sysconfig.%{name}
1270 install -m
0644 -D systemd
/ceph.tmpfiles.d
%{buildroot}%{_tmpfilesdir}/ceph
-common.conf
1271 install -m
0644 -D systemd
/50-ceph.preset
%{buildroot}%{_libexecdir}/systemd
/system
-preset
/50-ceph.preset
1272 mkdir -p
%{buildroot}%{_sbindir}
1273 install -m
0644 -D src
/logrotate.conf
%{buildroot}%{_sysconfdir}/logrotate.d
/ceph
1274 chmod
0644 %{buildroot}%{_docdir}/ceph
/sample.ceph.conf
1275 install -m
0644 -D COPYING
%{buildroot}%{_docdir}/ceph
/COPYING
1276 install -m
0644 -D etc
/sysctl
/90-ceph
-osd.conf
%{buildroot}%{_sysctldir}/90-ceph
-osd.conf
1278 install -m
0755 src
/cephadm
/cephadm
%{buildroot}%{_sbindir}/cephadm
1279 mkdir -p
%{buildroot}%{_sharedstatedir}/cephadm
1280 chmod
0700 %{buildroot}%{_sharedstatedir}/cephadm
1281 mkdir -p
%{buildroot}%{_sharedstatedir}/cephadm
/.ssh
1282 chmod
0700 %{buildroot}%{_sharedstatedir}/cephadm
/.ssh
1283 touch
%{buildroot}%{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1284 chmod
0600 %{buildroot}%{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1286 # firewall templates and /sbin/mount.ceph symlink
1287 %if 0%{?suse_version}
1288 mkdir -p
%{buildroot}/sbin
1289 ln
-sf
%{_sbindir}/mount.ceph %{buildroot}/sbin
/mount.ceph
1293 install -m
0644 -D udev
/50-rbd.rules
%{buildroot}%{_udevrulesdir}/50-rbd.rules
1296 install -m
0600 -D sudoers.d
/ceph
-osd
-smartctl
%{buildroot}%{_sysconfdir}/sudoers.d
/ceph
-osd
-smartctl
1297 install -m
0600 -D sudoers.d
/cephadm
%{buildroot}%{_sysconfdir}/sudoers.d
/cephadm
1300 pathfix.py
-pni "
%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/*
1301 pathfix.py
-pni "
%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/*
1304 #set up placeholder directories
1305 mkdir -p
%{buildroot}%{_sysconfdir}/ceph
1306 mkdir -p
%{buildroot}%{_localstatedir}/run
/ceph
1307 mkdir -p
%{buildroot}%{_localstatedir}/log
/ceph
1308 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/tmp
1309 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mon
1310 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/osd
1311 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mds
1312 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mgr
1313 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/crash
1314 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/crash
/posted
1315 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/radosgw
1316 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-osd
1317 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-mds
1318 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rgw
1319 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-mgr
1320 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rbd
1321 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rbd
-mirror
1324 install -m
644 -D monitoring
/prometheus
/alerts
/ceph_default_alerts.yml
%{buildroot}/etc
/prometheus
/ceph
/ceph_default_alerts.yml
1326 %if 0%{?suse_version}
1327 # create __pycache__ directories and their contents
1328 %py3_compile %{buildroot}%{python3_sitelib}
1329 # hardlink duplicate files under /usr to save space
1330 %fdupes %{buildroot}%{_prefix}
1334 %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
1340 #################################################################################
1341 # files and systemd scriptlets
1342 #################################################################################
1346 %{_bindir}/ceph
-crash
1347 %{_bindir}/crushtool
1348 %{_bindir}/monmaptool
1349 %{_bindir}/osdmaptool
1350 %{_bindir}/ceph
-kvstore
-tool
1352 %{_libexecdir}/systemd
/system
-preset
/50-ceph.preset
1353 %{_sbindir}/ceph
-create
-keys
1354 %dir %{_libexecdir}/ceph
1355 %{_libexecdir}/ceph
/ceph_common.sh
1356 %dir %{_libdir}/rados
-classes
1357 %{_libdir}/rados
-classes
/*
1358 %dir %{_libdir}/ceph
1359 %dir %{_libdir}/ceph
/erasure
-code
1360 %{_libdir}/ceph
/erasure
-code
/libec_
*.so
*
1361 %dir %{_libdir}/ceph
/compressor
1362 %{_libdir}/ceph
/compressor
/libceph_
*.so
*
1363 %{_unitdir}/ceph
-crash.service
1364 %dir %{_libdir}/ceph
/crypto
1365 %{_libdir}/ceph
/crypto
/libceph_
*.so
*
1367 %{_libdir}/libos_tp.so
*
1368 %{_libdir}/libosd_tp.so
*
1370 %config(noreplace
) %{_sysconfdir}/logrotate.d
/ceph
1371 %if 0%{?fedora} || 0%{?rhel}
1372 %config(noreplace
) %{_sysconfdir}/sysconfig
/ceph
1374 %if 0%{?suse_version}
1375 %{_fillupdir}/sysconfig.
*
1377 %{_unitdir}/ceph.target
1378 %dir %{python3_sitelib}/ceph_volume
1379 %{python3_sitelib}/ceph_volume
/*
1380 %{python3_sitelib}/ceph_volume
-*
1381 %{_mandir}/man8
/ceph
-deploy
.8*
1382 %{_mandir}/man8
/ceph
-create
-keys
.8*
1383 %{_mandir}/man8
/ceph
-run
.8*
1384 %{_mandir}/man8
/crushtool
.8*
1385 %{_mandir}/man8
/osdmaptool
.8*
1386 %{_mandir}/man8
/monmaptool
.8*
1387 %{_mandir}/man8
/ceph
-kvstore
-tool
.8*
1388 #set up placeholder directories
1389 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/crash
1390 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/crash
/posted
1391 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/tmp
1392 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-osd
1393 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-mds
1394 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rgw
1395 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-mgr
1396 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rbd
1397 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rbd
-mirror
1401 %if 0%{?suse_version}
1403 if [ $
1 -eq
1 ] ; then
1404 /usr
/bin
/systemctl preset ceph.target ceph
-crash.service
>/dev
/null
2>&1 ||
:
1407 %if 0%{?fedora} || 0%{?rhel}
1408 %systemd_post ceph.target ceph
-crash.service
1410 if [ $
1 -eq
1 ] ; then
1411 /usr
/bin
/systemctl start ceph.target ceph
-crash.service
>/dev
/null
2>&1 ||
:
1415 %if 0%{?suse_version}
1416 %service_del_preun ceph.target ceph
-crash.service
1418 %if 0%{?fedora} || 0%{?rhel}
1419 %systemd_preun ceph.target ceph
-crash.service
1424 %if 0%{?suse_version}
1425 DISABLE_RESTART_ON_UPDATE
="yes"
1426 %service_del_postun ceph.target
1428 %if 0%{?fedora} || 0%{?rhel}
1429 %systemd_postun ceph.target
1431 if [ $
1 -ge
1 ] ; then
1432 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1433 # "yes". In any case: if units are not running, do not touch them.
1434 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1435 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1436 source $SYSCONF_CEPH
1441 getent group cephadm
>/dev
/null || groupadd
-r cephadm
1442 getent passwd cephadm
>/dev
/null || useradd
-r
-g cephadm
-s
/bin
/bash
-c "cephadm user
for mgr
/cephadm"
-d
%{_sharedstatedir}/cephadm cephadm
1445 %if ! 0%{?suse_version}
1447 userdel
-r cephadm || true
1453 %{_sysconfdir}/sudoers.d
/cephadm
1454 %attr(0700,cephadm
,cephadm
) %dir %{_sharedstatedir}/cephadm
1455 %attr(0700,cephadm
,cephadm
) %dir %{_sharedstatedir}/cephadm
/.ssh
1456 %attr(0600,cephadm
,cephadm
) %{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1459 %dir %{_docdir}/ceph
1460 %doc %{_docdir}/ceph
/sample.ceph.conf
1461 %license %{_docdir}/ceph
/COPYING
1463 %{_bindir}/ceph
-authtool
1464 %{_bindir}/ceph
-conf
1465 %{_bindir}/ceph
-dencoder
1466 %{_bindir}/ceph
-rbdnamer
1468 %{_bindir}/cephfs
-data
-scan
1469 %{_bindir}/cephfs
-journal
-tool
1470 %{_bindir}/cephfs
-table
-tool
1472 %{_bindir}/radosgw
-admin
1474 %{_bindir}/rbd
-replay
1475 %{_bindir}/rbd
-replay
-many
1477 %{_sbindir}/mount.ceph
1478 %if 0%{?suse_version}
1482 %{_bindir}/rbd
-replay
-prep
1484 %{_bindir}/ceph
-post
-file
1485 %{_tmpfilesdir}/ceph
-common.conf
1486 %{_mandir}/man8
/ceph
-authtool
.8*
1487 %{_mandir}/man8
/ceph
-conf
.8*
1488 %{_mandir}/man8
/ceph
-dencoder
.8*
1489 %{_mandir}/man8
/ceph
-rbdnamer
.8*
1490 %{_mandir}/man8
/ceph
-syn
.8*
1491 %{_mandir}/man8
/ceph
-post
-file
.8*
1492 %{_mandir}/man8
/ceph
.8*
1493 %{_mandir}/man8
/mount.ceph
.8*
1494 %{_mandir}/man8
/rados
.8*
1495 %{_mandir}/man8
/radosgw
-admin
.8*
1496 %{_mandir}/man8
/rbd
.8*
1497 %{_mandir}/man8
/rbdmap
.8*
1498 %{_mandir}/man8
/rbd
-replay
.8*
1499 %{_mandir}/man8
/rbd
-replay
-many
.8*
1500 %{_mandir}/man8
/rbd
-replay
-prep
.8*
1501 %dir %{_datadir}/ceph
/
1502 %{_datadir}/ceph
/known_hosts_drop.ceph.com
1503 %{_datadir}/ceph
/id_rsa_drop.ceph.com
1504 %{_datadir}/ceph
/id_rsa_drop.ceph.com.pub
1505 %dir %{_sysconfdir}/ceph
/
1506 %config %{_sysconfdir}/bash_completion.d
/ceph
1507 %config %{_sysconfdir}/bash_completion.d
/rados
1508 %config %{_sysconfdir}/bash_completion.d
/rbd
1509 %config %{_sysconfdir}/bash_completion.d
/radosgw
-admin
1510 %config(noreplace
) %{_sysconfdir}/ceph
/rbdmap
1511 %{_unitdir}/rbdmap.service
1512 %dir %{_udevrulesdir}
1513 %{_udevrulesdir}/50-rbd.rules
1514 %attr(3770,ceph
,ceph
) %dir %{_localstatedir}/log
/ceph
/
1515 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/
1520 %if 0%{?rhel} || 0%{?fedora}
1521 /usr
/sbin
/groupadd ceph
-g $CEPH_GROUP_ID
-o
-r
2>/dev
/null ||
:
1522 /usr
/sbin
/useradd ceph
-u $CEPH_USER_ID
-o
-r
-g ceph
-s
/sbin
/nologin
-c "Ceph daemons"
-d
%{_localstatedir}/lib
/ceph
2>/dev
/null ||
:
1524 %if 0%{?suse_version}
1525 if ! getent group ceph
>/dev
/null
; then
1526 CEPH_GROUP_ID_OPTION
=""
1527 getent group $CEPH_GROUP_ID
>/dev
/null || CEPH_GROUP_ID_OPTION
="
-g $CEPH_GROUP_ID"
1528 groupadd ceph $CEPH_GROUP_ID_OPTION
-r
2>/dev
/null ||
:
1530 if ! getent passwd ceph
>/dev
/null
; then
1531 CEPH_USER_ID_OPTION
=""
1532 getent passwd $CEPH_USER_ID
>/dev
/null || CEPH_USER_ID_OPTION
="
-u $CEPH_USER_ID"
1533 useradd ceph $CEPH_USER_ID_OPTION
-r
-g ceph
-s
/sbin
/nologin
2>/dev
/null ||
:
1535 usermod
-c "Ceph storage service" \
1536 -d
%{_localstatedir}/lib
/ceph \
1544 %tmpfiles_create %{_tmpfilesdir}/ceph
-common.conf
1547 # Package removal cleanup
1548 if [ "$
1"
-eq "
0"
] ; then
1549 rm -rf
%{_localstatedir}/log
/ceph
1550 rm -rf
%{_sysconfdir}/ceph
1555 %{_mandir}/man8
/ceph
-mds
.8*
1556 %{_unitdir}/ceph
-mds@.service
1557 %{_unitdir}/ceph
-mds.target
1558 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mds
1561 %if 0%{?suse_version}
1562 if [ $
1 -eq
1 ] ; then
1563 /usr
/bin
/systemctl preset ceph
-mds@\
*.service ceph
-mds.target
>/dev
/null
2>&1 ||
:
1566 %if 0%{?fedora} || 0%{?rhel}
1567 %systemd_post ceph
-mds@\
*.service ceph
-mds.target
1569 if [ $
1 -eq
1 ] ; then
1570 /usr
/bin
/systemctl start ceph
-mds.target
>/dev
/null
2>&1 ||
:
1574 %if 0%{?suse_version}
1575 %service_del_preun ceph
-mds@\
*.service ceph
-mds.target
1577 %if 0%{?fedora} || 0%{?rhel}
1578 %systemd_preun ceph
-mds@\
*.service ceph
-mds.target
1582 %if 0%{?suse_version}
1583 DISABLE_RESTART_ON_UPDATE
="yes"
1584 %service_del_postun ceph
-mds@\
*.service ceph
-mds.target
1586 %if 0%{?fedora} || 0%{?rhel}
1587 %systemd_postun ceph
-mds@\
*.service ceph
-mds.target
1589 if [ $
1 -ge
1 ] ; then
1590 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1591 # "yes". In any case: if units are not running, do not touch them.
1592 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1593 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1594 source $SYSCONF_CEPH
1596 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1597 /usr
/bin
/systemctl try
-restart ceph
-mds@\
*.service
> /dev
/null
2>&1 ||
:
1603 %dir %{_datadir}/ceph
/mgr
1604 %{_datadir}/ceph
/mgr
/mgr_module.
*
1605 %{_datadir}/ceph
/mgr
/mgr_util.
*
1607 %{_datadir}/ceph
/mgr
/__pycache__
1609 %{_unitdir}/ceph
-mgr@.service
1610 %{_unitdir}/ceph
-mgr.target
1611 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mgr
1614 %if 0%{?suse_version}
1615 if [ $
1 -eq
1 ] ; then
1616 /usr
/bin
/systemctl preset ceph
-mgr@\
*.service ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1619 %if 0%{?fedora} || 0%{?rhel}
1620 %systemd_post ceph
-mgr@\
*.service ceph
-mgr.target
1622 if [ $
1 -eq
1 ] ; then
1623 /usr
/bin
/systemctl start ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1627 %if 0%{?suse_version}
1628 %service_del_preun ceph
-mgr@\
*.service ceph
-mgr.target
1630 %if 0%{?fedora} || 0%{?rhel}
1631 %systemd_preun ceph
-mgr@\
*.service ceph
-mgr.target
1635 %if 0%{?suse_version}
1636 DISABLE_RESTART_ON_UPDATE
="yes"
1637 %service_del_postun ceph
-mgr@\
*.service ceph
-mgr.target
1639 %if 0%{?fedora} || 0%{?rhel}
1640 %systemd_postun ceph
-mgr@\
*.service ceph
-mgr.target
1642 if [ $
1 -ge
1 ] ; then
1643 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1644 # "yes". In any case: if units are not running, do not touch them.
1645 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1646 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1647 source $SYSCONF_CEPH
1649 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1650 /usr
/bin
/systemctl try
-restart ceph
-mgr@\
*.service
> /dev
/null
2>&1 ||
:
1654 %files mgr
-dashboard
1655 %{_datadir}/ceph
/mgr
/dashboard
1658 if [ $
1 -eq
1 ] ; then
1659 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1662 %postun mgr
-dashboard
1663 if [ $
1 -eq
1 ] ; then
1664 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1667 %files mgr
-diskprediction
-local
1668 %{_datadir}/ceph
/mgr
/diskprediction_local
1670 %post mgr
-diskprediction
-local
1671 if [ $
1 -eq
1 ] ; then
1672 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1675 %postun mgr
-diskprediction
-local
1676 if [ $
1 -eq
1 ] ; then
1677 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1680 %files mgr
-diskprediction
-cloud
1681 %{_datadir}/ceph
/mgr
/diskprediction_cloud
1683 %post mgr
-diskprediction
-cloud
1684 if [ $
1 -eq
1 ] ; then
1685 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1688 %postun mgr
-diskprediction
-cloud
1689 if [ $
1 -eq
1 ] ; then
1690 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1693 %files mgr
-modules
-core
1694 %dir %{_datadir}/ceph
/mgr
1695 %{_datadir}/ceph
/mgr
/alerts
1696 %{_datadir}/ceph
/mgr
/balancer
1697 %{_datadir}/ceph
/mgr
/crash
1698 %{_datadir}/ceph
/mgr
/devicehealth
1699 %{_datadir}/ceph
/mgr
/influx
1700 %{_datadir}/ceph
/mgr
/insights
1701 %{_datadir}/ceph
/mgr
/iostat
1702 %{_datadir}/ceph
/mgr
/localpool
1703 %{_datadir}/ceph
/mgr
/orchestrator
1704 %{_datadir}/ceph
/mgr
/osd_perf_query
1705 %{_datadir}/ceph
/mgr
/osd_support
1706 %{_datadir}/ceph
/mgr
/pg_autoscaler
1707 %{_datadir}/ceph
/mgr
/progress
1708 %{_datadir}/ceph
/mgr
/prometheus
1709 %{_datadir}/ceph
/mgr
/rbd_support
1710 %{_datadir}/ceph
/mgr
/restful
1711 %{_datadir}/ceph
/mgr
/selftest
1712 %{_datadir}/ceph
/mgr
/status
1713 %{_datadir}/ceph
/mgr
/telegraf
1714 %{_datadir}/ceph
/mgr
/telemetry
1715 %{_datadir}/ceph
/mgr
/test_orchestrator
1716 %{_datadir}/ceph
/mgr
/volumes
1717 %{_datadir}/ceph
/mgr
/zabbix
1720 %{_datadir}/ceph
/mgr
/rook
1723 if [ $
1 -eq
1 ] ; then
1724 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1728 if [ $
1 -eq
1 ] ; then
1729 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1732 %files mgr
-k8sevents
1733 %{_datadir}/ceph
/mgr
/k8sevents
1736 if [ $
1 -eq
1 ] ; then
1737 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1740 %postun mgr
-k8sevents
1741 if [ $
1 -eq
1 ] ; then
1742 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1746 %{_datadir}/ceph
/mgr
/cephadm
1749 if [ $
1 -eq
1 ] ; then
1750 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1754 if [ $
1 -eq
1 ] ; then
1755 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1760 %{_bindir}/ceph
-monstore
-tool
1761 %{_mandir}/man8
/ceph
-mon
.8*
1762 %{_unitdir}/ceph
-mon@.service
1763 %{_unitdir}/ceph
-mon.target
1764 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mon
1767 %if 0%{?suse_version}
1768 if [ $
1 -eq
1 ] ; then
1769 /usr
/bin
/systemctl preset ceph
-mon@\
*.service ceph
-mon.target
>/dev
/null
2>&1 ||
:
1772 %if 0%{?fedora} || 0%{?rhel}
1773 %systemd_post ceph
-mon@\
*.service ceph
-mon.target
1775 if [ $
1 -eq
1 ] ; then
1776 /usr
/bin
/systemctl start ceph
-mon.target
>/dev
/null
2>&1 ||
:
1780 %if 0%{?suse_version}
1781 %service_del_preun ceph
-mon@\
*.service ceph
-mon.target
1783 %if 0%{?fedora} || 0%{?rhel}
1784 %systemd_preun ceph
-mon@\
*.service ceph
-mon.target
1788 %if 0%{?suse_version}
1789 DISABLE_RESTART_ON_UPDATE
="yes"
1790 %service_del_postun ceph
-mon@\
*.service ceph
-mon.target
1792 %if 0%{?fedora} || 0%{?rhel}
1793 %systemd_postun ceph
-mon@\
*.service ceph
-mon.target
1795 if [ $
1 -ge
1 ] ; then
1796 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1797 # "yes". In any case: if units are not running, do not touch them.
1798 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1799 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1800 source $SYSCONF_CEPH
1802 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1803 /usr
/bin
/systemctl try
-restart ceph
-mon@\
*.service
> /dev
/null
2>&1 ||
:
1808 %{_bindir}/ceph
-fuse
1809 %{_mandir}/man8
/ceph
-fuse
.8*
1810 %{_sbindir}/mount.fuse.ceph
1811 %{_unitdir}/ceph
-fuse@.service
1812 %{_unitdir}/ceph
-fuse.target
1816 %{_mandir}/man8
/rbd
-fuse
.8*
1818 %files -n rbd
-mirror
1819 %{_bindir}/rbd
-mirror
1820 %{_mandir}/man8
/rbd
-mirror
.8*
1821 %{_unitdir}/ceph
-rbd
-mirror@.service
1822 %{_unitdir}/ceph
-rbd
-mirror.target
1825 %if 0%{?suse_version}
1826 if [ $
1 -eq
1 ] ; then
1827 /usr
/bin
/systemctl preset ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
>/dev
/null
2>&1 ||
:
1830 %if 0%{?fedora} || 0%{?rhel}
1831 %systemd_post ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1833 if [ $
1 -eq
1 ] ; then
1834 /usr
/bin
/systemctl start ceph
-rbd
-mirror.target
>/dev
/null
2>&1 ||
:
1837 %preun -n rbd
-mirror
1838 %if 0%{?suse_version}
1839 %service_del_preun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1841 %if 0%{?fedora} || 0%{?rhel}
1842 %systemd_preun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1845 %postun -n rbd
-mirror
1846 %if 0%{?suse_version}
1847 DISABLE_RESTART_ON_UPDATE
="yes"
1848 %service_del_postun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1850 %if 0%{?fedora} || 0%{?rhel}
1851 %systemd_postun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1853 if [ $
1 -ge
1 ] ; then
1854 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1855 # "yes". In any case: if units are not running, do not touch them.
1856 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1857 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1858 source $SYSCONF_CEPH
1860 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1861 /usr
/bin
/systemctl try
-restart ceph
-rbd
-mirror@\
*.service
> /dev
/null
2>&1 ||
:
1865 %files immutable
-object
-cache
1866 %{_bindir}/ceph
-immutable
-object
-cache
1867 %{_mandir}/man8
/ceph
-immutable
-object
-cache
.8*
1868 %{_unitdir}/ceph
-immutable
-object
-cache@.service
1869 %{_unitdir}/ceph
-immutable
-object
-cache.target
1871 %post immutable
-object
-cache
1872 %if 0%{?suse_version}
1873 if [ $
1 -eq
1 ] ; then
1874 /usr
/bin
/systemctl preset ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
>/dev
/null
2>&1 ||
:
1877 %if 0%{?fedora} || 0%{?rhel}
1878 %systemd_post ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1880 if [ $
1 -eq
1 ] ; then
1881 /usr
/bin
/systemctl start ceph
-immutable
-object
-cache.target
>/dev
/null
2>&1 ||
:
1884 %preun immutable
-object
-cache
1885 %if 0%{?suse_version}
1886 %service_del_preun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1888 %if 0%{?fedora} || 0%{?rhel}
1889 %systemd_preun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1892 %postun immutable
-object
-cache
1893 test -n "$FIRST_ARG" || FIRST_ARG
=$
1
1894 %if 0%{?suse_version}
1895 DISABLE_RESTART_ON_UPDATE
="yes"
1896 %service_del_postun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1898 %if 0%{?fedora} || 0%{?rhel}
1899 %systemd_postun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1901 if [ $FIRST_ARG
-ge
1 ] ; then
1902 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1903 # "yes". In any case: if units are not running, do not touch them.
1904 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1905 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1906 source $SYSCONF_CEPH
1908 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1909 /usr
/bin
/systemctl try
-restart ceph
-immutable
-object
-cache@\
*.service
> /dev
/null
2>&1 ||
:
1915 %{_mandir}/man8
/rbd
-nbd
.8*
1919 %{_bindir}/radosgw
-token
1920 %{_bindir}/radosgw
-es
1921 %{_bindir}/radosgw
-object
-expirer
1922 %{_libdir}/libradosgw.so
*
1923 %{_mandir}/man8
/radosgw
.8*
1924 %dir %{_localstatedir}/lib
/ceph
/radosgw
1925 %{_unitdir}/ceph
-radosgw@.service
1926 %{_unitdir}/ceph
-radosgw.target
1930 %if 0%{?suse_version}
1931 if [ $
1 -eq
1 ] ; then
1932 /usr
/bin
/systemctl preset ceph
-radosgw@\
*.service ceph
-radosgw.target
>/dev
/null
2>&1 ||
:
1935 %if 0%{?fedora} || 0%{?rhel}
1936 %systemd_post ceph
-radosgw@\
*.service ceph
-radosgw.target
1938 if [ $
1 -eq
1 ] ; then
1939 /usr
/bin
/systemctl start ceph
-radosgw.target
>/dev
/null
2>&1 ||
:
1943 %if 0%{?suse_version}
1944 %service_del_preun ceph
-radosgw@\
*.service ceph
-radosgw.target
1946 %if 0%{?fedora} || 0%{?rhel}
1947 %systemd_preun ceph
-radosgw@\
*.service ceph
-radosgw.target
1952 %if 0%{?suse_version}
1953 DISABLE_RESTART_ON_UPDATE
="yes"
1954 %service_del_postun ceph
-radosgw@\
*.service ceph
-radosgw.target
1956 %if 0%{?fedora} || 0%{?rhel}
1957 %systemd_postun ceph
-radosgw@\
*.service ceph
-radosgw.target
1959 if [ $
1 -ge
1 ] ; then
1960 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1961 # "yes". In any case: if units are not running, do not touch them.
1962 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1963 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1964 source $SYSCONF_CEPH
1966 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1967 /usr
/bin
/systemctl try
-restart ceph
-radosgw@\
*.service
> /dev
/null
2>&1 ||
:
1972 %{_bindir}/ceph
-clsinfo
1973 %{_bindir}/ceph
-bluestore
-tool
1974 %{_bindir}/ceph
-objectstore
-tool
1975 %{_bindir}/ceph
-osdomap
-tool
1977 %{_libexecdir}/ceph
/ceph
-osd
-prestart.sh
1978 %{_sbindir}/ceph
-volume
1979 %{_sbindir}/ceph
-volume
-systemd
1980 %{_mandir}/man8
/ceph
-clsinfo
.8*
1981 %{_mandir}/man8
/ceph
-osd
.8*
1982 %{_mandir}/man8
/ceph
-bluestore
-tool
.8*
1983 %{_mandir}/man8
/ceph
-volume
.8*
1984 %{_mandir}/man8
/ceph
-volume
-systemd
.8*
1985 %{_unitdir}/ceph
-osd@.service
1986 %{_unitdir}/ceph
-osd.target
1987 %{_unitdir}/ceph
-volume@.service
1988 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/osd
1989 %config(noreplace
) %{_sysctldir}/90-ceph
-osd.conf
1990 %{_sysconfdir}/sudoers.d
/ceph
-osd
-smartctl
1993 %if 0%{?suse_version}
1994 if [ $
1 -eq
1 ] ; then
1995 /usr
/bin
/systemctl preset ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
>/dev
/null
2>&1 ||
:
1998 %if 0%{?fedora} || 0%{?rhel}
1999 %systemd_post ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2001 if [ $
1 -eq
1 ] ; then
2002 /usr
/bin
/systemctl start ceph
-osd.target
>/dev
/null
2>&1 ||
:
2004 %if 0%{?sysctl_apply}
2005 %sysctl_apply 90-ceph
-osd.conf
2007 /usr
/lib
/systemd
/systemd
-sysctl
%{_sysctldir}/90-ceph
-osd.conf
> /dev
/null
2>&1 ||
:
2011 %if 0%{?suse_version}
2012 %service_del_preun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2014 %if 0%{?fedora} || 0%{?rhel}
2015 %systemd_preun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2019 %if 0%{?suse_version}
2020 DISABLE_RESTART_ON_UPDATE
="yes"
2021 %service_del_postun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2023 %if 0%{?fedora} || 0%{?rhel}
2024 %systemd_postun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2026 if [ $
1 -ge
1 ] ; then
2027 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2028 # "yes". In any case: if units are not running, do not touch them.
2029 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2030 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2031 source $SYSCONF_CEPH
2033 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2034 /usr
/bin
/systemctl try
-restart ceph
-osd@\
*.service ceph
-volume@\
*.service
> /dev
/null
2>&1 ||
:
2038 %if 0%{with seastar}
2040 %{_bindir}/crimson
-osd
2045 %files resource
-agents
2046 %dir %{_prefix}/lib
/ocf
2047 %dir %{_prefix}/lib
/ocf
/resource.d
2048 %dir %{_prefix}/lib
/ocf
/resource.d
/ceph
2049 %attr(0755,-,-) %{_prefix}/lib
/ocf
/resource.d
/ceph
/rbd
2054 %{_libdir}/librados.so.
*
2055 %dir %{_libdir}/ceph
2056 %{_libdir}/ceph
/libceph
-common.so.
*
2058 %{_libdir}/librados_tp.so.
*
2060 %dir %{_sysconfdir}/ceph
2062 %post -n librados2
-p
/sbin
/ldconfig
2064 %postun -n librados2
-p
/sbin
/ldconfig
2066 %files -n librados
-devel
2067 %dir %{_includedir}/rados
2068 %{_includedir}/rados
/librados.h
2069 %{_includedir}/rados
/rados_types.h
2070 %{_libdir}/librados.so
2072 %{_libdir}/librados_tp.so
2074 %{_bindir}/librados
-config
2075 %{_mandir}/man8
/librados
-config
.8*
2077 %files -n libradospp
-devel
2078 %dir %{_includedir}/rados
2079 %{_includedir}/rados
/buffer.h
2080 %{_includedir}/rados
/buffer_fwd.h
2081 %{_includedir}/rados
/crc32c.h
2082 %{_includedir}/rados
/inline_memory.h
2083 %{_includedir}/rados
/librados.hpp
2084 %{_includedir}/rados
/librados_fwd.hpp
2085 %{_includedir}/rados
/page.h
2086 %{_includedir}/rados
/rados_types.hpp
2088 %files -n python
%{python3_pkgversion}-rados
2089 %{python3_sitearch}/rados.cpython
*.so
2090 %{python3_sitearch}/rados
-*.egg
-info
2092 %if 0%{with libradosstriper}
2093 %files -n libradosstriper1
2094 %{_libdir}/libradosstriper.so.
*
2096 %post -n libradosstriper1
-p
/sbin
/ldconfig
2098 %postun -n libradosstriper1
-p
/sbin
/ldconfig
2100 %files -n libradosstriper
-devel
2101 %dir %{_includedir}/radosstriper
2102 %{_includedir}/radosstriper
/libradosstriper.h
2103 %{_includedir}/radosstriper
/libradosstriper.hpp
2104 %{_libdir}/libradosstriper.so
2108 %{_libdir}/librbd.so.
*
2110 %{_libdir}/librbd_tp.so.
*
2113 %post -n librbd1
-p
/sbin
/ldconfig
2115 %postun -n librbd1
-p
/sbin
/ldconfig
2117 %files -n librbd
-devel
2118 %dir %{_includedir}/rbd
2119 %{_includedir}/rbd
/librbd.h
2120 %{_includedir}/rbd
/librbd.hpp
2121 %{_includedir}/rbd
/features.h
2122 %{_libdir}/librbd.so
2124 %{_libdir}/librbd_tp.so
2128 %{_libdir}/librgw.so.
*
2129 %{_libdir}/librgw_admin_user.so.
*
2131 %{_libdir}/librgw_op_tp.so.
*
2132 %{_libdir}/librgw_rados_tp.so.
*
2135 %post -n librgw2
-p
/sbin
/ldconfig
2137 %postun -n librgw2
-p
/sbin
/ldconfig
2139 %files -n librgw
-devel
2140 %dir %{_includedir}/rados
2141 %{_includedir}/rados
/librgw.h
2142 %{_includedir}/rados
/librgw_admin_user.h
2143 %{_includedir}/rados
/rgw_file.h
2144 %{_libdir}/librgw.so
2145 %{_libdir}/librgw_admin_user.so
2147 %{_libdir}/librgw_op_tp.so
2148 %{_libdir}/librgw_rados_tp.so
2151 %files -n python
%{python3_pkgversion}-rgw
2152 %{python3_sitearch}/rgw.cpython
*.so
2153 %{python3_sitearch}/rgw
-*.egg
-info
2155 %files -n python
%{python3_pkgversion}-rbd
2156 %{python3_sitearch}/rbd.cpython
*.so
2157 %{python3_sitearch}/rbd
-*.egg
-info
2159 %files -n libcephfs2
2160 %{_libdir}/libcephfs.so.
*
2161 %dir %{_sysconfdir}/ceph
2163 %post -n libcephfs2
-p
/sbin
/ldconfig
2165 %postun -n libcephfs2
-p
/sbin
/ldconfig
2167 %files -n libcephfs
-devel
2168 %dir %{_includedir}/cephfs
2169 %{_includedir}/cephfs
/libcephfs.h
2170 %{_includedir}/cephfs
/ceph_statx.h
2171 %{_libdir}/libcephfs.so
2173 %files -n python
%{python3_pkgversion}-cephfs
2174 %{python3_sitearch}/cephfs.cpython
*.so
2175 %{python3_sitearch}/cephfs
-*.egg
-info
2176 %{python3_sitelib}/ceph_volume_client.py
2177 %{python3_sitelib}/__pycache__
/ceph_volume_client.cpython
*.py
*
2179 %files -n python
%{python3_pkgversion}-ceph
-argparse
2180 %{python3_sitelib}/ceph_argparse.py
2181 %{python3_sitelib}/__pycache__
/ceph_argparse.cpython
*.py
*
2182 %{python3_sitelib}/ceph_daemon.py
2183 %{python3_sitelib}/__pycache__
/ceph_daemon.cpython
*.py
*
2185 %files -n python
%{python3_pkgversion}-ceph
-common
2186 %{python3_sitelib}/ceph
2187 %{python3_sitelib}/ceph
-*.egg
-info
2189 %if 0%{with cephfs_shell}
2190 %files -n cephfs
-shell
2191 %{python3_sitelib}/cephfs_shell
-*.egg
-info
2192 %{_bindir}/cephfs
-shell
2195 %if 0%{with ceph_test_package}
2197 %{_bindir}/ceph
-client
-debug
2198 %{_bindir}/ceph_bench_log
2199 %{_bindir}/ceph_kvstorebench
2200 %{_bindir}/ceph_multi_stress_watch
2201 %{_bindir}/ceph_erasure_code
2202 %{_bindir}/ceph_erasure_code_benchmark
2203 %{_bindir}/ceph_omapbench
2204 %{_bindir}/ceph_objectstore_bench
2205 %{_bindir}/ceph_perf_objectstore
2206 %{_bindir}/ceph_perf_local
2207 %{_bindir}/ceph_perf_msgr_client
2208 %{_bindir}/ceph_perf_msgr_server
2209 %{_bindir}/ceph_psim
2210 %{_bindir}/ceph_radosacl
2211 %{_bindir}/ceph_rgw_jsonparser
2212 %{_bindir}/ceph_rgw_multiparser
2213 %{_bindir}/ceph_scratchtool
2214 %{_bindir}/ceph_scratchtoolpp
2215 %{_bindir}/ceph_test_
*
2216 %{_bindir}/ceph
-coverage
2217 %{_bindir}/ceph
-debugpack
2218 %{_bindir}/ceph
-dedup
-tool
2219 %{_mandir}/man8
/ceph
-debugpack
.8*
2220 %dir %{_libdir}/ceph
2221 %{_libdir}/ceph
/ceph
-monstore
-update
-crush.sh
2224 %if 0%{with cephfs_java}
2225 %files -n libcephfs_jni1
2226 %{_libdir}/libcephfs_jni.so.
*
2228 %post -n libcephfs_jni1
-p
/sbin
/ldconfig
2230 %postun -n libcephfs_jni1
-p
/sbin
/ldconfig
2232 %files -n libcephfs_jni
-devel
2233 %{_libdir}/libcephfs_jni.so
2235 %files -n cephfs
-java
2236 %{_javadir}/libcephfs.jar
2237 %{_javadir}/libcephfs
-test.jar
2240 %files -n rados
-objclass
-devel
2241 %dir %{_includedir}/rados
2242 %{_includedir}/rados
/objclass.h
2244 %if 0%{with selinux}
2246 %attr(0600,root
,root
) %{_datadir}/selinux
/packages
/ceph.pp
2247 %{_datadir}/selinux
/devel
/include
/contrib
/ceph.
if
2248 %{_mandir}/man8
/ceph_selinux
.8*
2251 # backup file_contexts before update
2252 .
/etc
/selinux
/config
2253 FILE_CONTEXT
=/etc
/selinux
/$
{SELINUXTYPE
}/contexts
/files
/file_contexts
2254 cp $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
2256 # Install the policy
2257 /usr
/sbin
/semodule
-i
%{_datadir}/selinux
/packages
/ceph.pp
2259 # Load the policy if SELinux is enabled
2260 if ! /usr
/sbin
/selinuxenabled
; then
2261 # Do not relabel if selinux is not enabled
2265 if diff $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
> /dev
/null
2>&1; then
2266 # Do not relabel if file contexts did not change
2270 # Check whether the daemons are running
2271 /usr
/bin
/systemctl status ceph.target
> /dev
/null
2>&1
2274 # Stop the daemons if they were running
2275 if test $STATUS
-eq
0; then
2276 /usr
/bin
/systemctl stop ceph.target
> /dev
/null
2>&1
2279 # Relabel the files fix for first package install
2280 /usr
/sbin
/fixfiles
-C $
{FILE_CONTEXT
}.pre restore
2> /dev
/null
2282 rm -f $
{FILE_CONTEXT
}.pre
2283 # The fixfiles command won't fix label for /var/run/ceph
2284 /usr
/sbin
/restorecon
-R
/var
/run
/ceph
> /dev
/null
2>&1
2286 # Start the daemons iff they were running before
2287 if test $STATUS
-eq
0; then
2288 /usr
/bin
/systemctl start ceph.target
> /dev
/null
2>&1 ||
:
2293 if [ $
1 -eq
0 ]; then
2294 # backup file_contexts before update
2295 .
/etc
/selinux
/config
2296 FILE_CONTEXT
=/etc
/selinux
/$
{SELINUXTYPE
}/contexts
/files
/file_contexts
2297 cp $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
2300 /usr
/sbin
/semodule
-n
-r ceph
> /dev
/null
2>&1
2302 # Reload the policy if SELinux is enabled
2303 if ! /usr
/sbin
/selinuxenabled
; then
2304 # Do not relabel if SELinux is not enabled
2308 # Check whether the daemons are running
2309 /usr
/bin
/systemctl status ceph.target
> /dev
/null
2>&1
2312 # Stop the daemons if they were running
2313 if test $STATUS
-eq
0; then
2314 /usr
/bin
/systemctl stop ceph.target
> /dev
/null
2>&1
2317 /usr
/sbin
/fixfiles
-C $
{FILE_CONTEXT
}.pre restore
2> /dev
/null
2318 rm -f $
{FILE_CONTEXT
}.pre
2319 # The fixfiles command won't fix label for /var/run/ceph
2320 /usr
/sbin
/restorecon
-R
/var
/run
/ceph
> /dev
/null
2>&1
2322 # Start the daemons if they were running before
2323 if test $STATUS
-eq
0; then
2324 /usr
/bin
/systemctl start ceph.target
> /dev
/null
2>&1 ||
:
2329 %endif # with selinux
2331 %files grafana
-dashboards
2332 %if 0%{?suse_version}
2333 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
2334 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
/dashboards
2336 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
/dashboards
/ceph
-dashboard
2337 %config %{_sysconfdir}/grafana
/dashboards
/ceph
-dashboard
/*
2338 %doc monitoring
/grafana
/dashboards
/README
2339 %doc monitoring
/grafana
/README.md
2341 %files prometheus
-alerts
2342 %if 0%{?suse_version}
2343 %attr(0755,root
,root
) %dir %{_sysconfdir}/prometheus
2345 %attr(0755,root
,root
) %dir %{_sysconfdir}/prometheus
/ceph
2346 %config %{_sysconfdir}/prometheus
/ceph
/ceph_default_alerts.yml