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
/
46 %bcond_with amqp_endpoint
47 %bcond_with cephfs_java
48 %bcond_with kafka_endpoint
49 %bcond_with libradosstriper
50 %ifarch x86_64 aarch64 ppc64le
57 #Compat macro for _fillupdir macro introduced in Nov 2017
58 %if ! %{defined _fillupdir}
59 %global _fillupdir
/var
/adm
/fillup
-templates
63 %if 0%{?fedora} || 0%{?suse_version} >= 1500
64 # distros that ship cmd2 and/or colorama
65 %bcond_without cephfs_shell
67 # distros that do _not_ ship cmd2/colorama
68 %bcond_with cephfs_shell
70 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8
74 # get selinux policy version
75 # Force 0.0.0 policy version for centos builds to avoid repository sync issues between rhel and centos
77 %global _selinux_policy_version
0.0.0
79 %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
83 %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
84 %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
85 %{!?python3_pkgversion: %global python3_pkgversion 3}
86 %{!?python3_version_nodots: %global python3_version_nodots 3}
87 %{!?python3_version: %global python3_version 3}
89 %define __python
%{__python3}
91 # unify libexec for all targets
92 %global _libexecdir
%{_exec_prefix}/lib
94 # disable dwz which compresses the debuginfo
95 %global _find_debuginfo_dwz_opts
%{nil}
97 #################################################################################
98 # main package definition
99 #################################################################################
103 %if 0%{?fedora} || 0%{?rhel}
107 # define _epoch_prefix macro which will expand to the empty string if epoch is
109 %global _epoch_prefix
%{?epoch:%{epoch}:}
111 Summary: User space components of the Ceph file system
112 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
113 %if 0%{?suse_version}
114 Group: System
/Filesystems
116 URL: http
://ceph.com
/
117 Source0: %{?_remote_tarball_prefix}ceph
-15.2.9.tar.bz2
118 %if 0%{?suse_version}
119 # _insert_obs_source_lines_here
120 ExclusiveArch: x86_64 aarch64 ppc64le s390x
122 #################################################################################
123 # dependencies that apply across all distro families
124 #################################################################################
125 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
126 Requires: ceph
-mds
= %{_epoch_prefix}%{version}-%{release}
127 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
128 Requires: ceph
-mon
= %{_epoch_prefix}%{version}-%{release}
129 Requires(post
): binutils
130 %if 0%{with cephfs_java}
131 BuildRequires
: java
-devel
132 BuildRequires
: sharutils
135 BuildRequires
: checkpolicy
136 BuildRequires
: selinux
-policy
-devel
140 BuildRequires
: cmake3
> 3.5
142 BuildRequires
: cmake
> 3.5
144 BuildRequires
: cryptsetup
145 BuildRequires
: fuse
-devel
147 # devtoolset offers newer make and valgrind-devel, but the old ones are good
149 BuildRequires
: devtoolset
-8-gcc
-c
++ >= 8.3.1-3.1
151 BuildRequires
: gcc
-c
++
154 %if 0%{with tcmalloc}
155 %if 0%{?fedora} || 0%{?rhel}
156 BuildRequires
: gperftools
-devel
>= 2.6.1
158 %if 0%{?suse_version}
159 BuildRequires
: gperftools
-devel
>= 2.4
162 BuildRequires
: leveldb
-devel
> 1.2
163 BuildRequires
: libaio
-devel
164 BuildRequires
: libblkid
-devel
>= 2.17
165 BuildRequires
: libcurl
-devel
166 BuildRequires
: libcap
-ng
-devel
167 BuildRequires
: pkgconfig
(libudev
)
168 BuildRequires
: libnl3
-devel
169 BuildRequires
: liboath
-devel
170 BuildRequires
: libtool
171 BuildRequires
: libxml2
-devel
173 BuildRequires
: ncurses
-devel
174 BuildRequires
: parted
177 BuildRequires
: pkgconfig
178 BuildRequires
: procps
179 BuildRequires
: python
%{python3_pkgversion}
180 BuildRequires
: python
%{python3_pkgversion}-devel
181 BuildRequires
: snappy
-devel
183 BuildRequires
: pkgconfig
(udev
)
184 BuildRequires
: util
-linux
185 BuildRequires
: valgrind
-devel
187 BuildRequires
: xfsprogs
188 BuildRequires
: xfsprogs
-devel
189 BuildRequires
: xmlstarlet
191 %if 0%{with amqp_endpoint}
192 BuildRequires
: librabbitmq
-devel
194 %if 0%{with kafka_endpoint}
195 BuildRequires
: librdkafka
-devel
197 %if 0%{with make_check}
199 BuildRequires
: libuuid
-devel
201 BuildRequires
: python
%{python3_version_nodots}-bcrypt
202 BuildRequires
: python
%{python3_version_nodots}-nose
203 BuildRequires
: python
%{python3_version_nodots}-requests
204 BuildRequires
: python
%{python3_version_nodots}-dateutil
206 BuildRequires
: python
%{python3_pkgversion}-bcrypt
207 BuildRequires
: python
%{python3_pkgversion}-nose
208 BuildRequires
: python
%{python3_pkgversion}-pecan
209 BuildRequires
: python
%{python3_pkgversion}-requests
210 BuildRequires
: python
%{python3_pkgversion}-dateutil
213 BuildRequires
: python
%{python3_version_nodots}-six
214 BuildRequires
: python
%{python3_version_nodots}-virtualenv
216 BuildRequires
: python
%{python3_pkgversion}-six
217 BuildRequires
: python
%{python3_pkgversion}-virtualenv
220 BuildRequires
: python
%{python3_version_nodots}-coverage
222 BuildRequires
: python
%{python3_pkgversion}-coverage
225 BuildRequires
: python
%{python3_version_nodots}-pyOpenSSL
227 BuildRequires
: python
%{python3_pkgversion}-pyOpenSSL
232 BuildRequires
: c
-ares
-devel
233 BuildRequires
: gnutls
-devel
234 BuildRequires
: hwloc
-devel
235 BuildRequires
: libpciaccess
-devel
236 BuildRequires
: lksctp
-tools
-devel
237 BuildRequires
: protobuf
-devel
239 BuildRequires
: systemtap
-sdt
-devel
240 BuildRequires
: yaml
-cpp
-devel
242 #################################################################################
243 # distro-conditional dependencies
244 #################################################################################
245 %if 0%{?suse_version}
246 BuildRequires
: pkgconfig
(systemd
)
247 BuildRequires
: systemd
-rpm
-macros
249 PreReq
: %fillup_prereq
250 BuildRequires
: fdupes
251 BuildRequires
: net
-tools
252 BuildRequires
: libbz2
-devel
253 BuildRequires
: mozilla
-nss
-devel
254 BuildRequires
: keyutils
-devel
255 BuildRequires
: libopenssl
-devel
256 BuildRequires
: lsb
-release
257 BuildRequires
: openldap2
-devel
259 #BuildRequires: krb5-devel
260 BuildRequires
: cunit
-devel
261 BuildRequires
: python
%{python3_pkgversion}-setuptools
262 BuildRequires
: python
%{python3_pkgversion}-Cython
263 BuildRequires
: python
%{python3_pkgversion}-PrettyTable
264 BuildRequires
: python
%{python3_pkgversion}-Sphinx
265 BuildRequires
: rdma
-core
-devel
266 BuildRequires
: liblz4
-devel
>= 1.7
267 # for prometheus-alerts
268 BuildRequires
: golang
-github
-prometheus
-prometheus
270 %if 0%{?fedora} || 0%{?rhel}
272 BuildRequires
: boost
-random
273 BuildRequires
: nss
-devel
274 BuildRequires
: keyutils
-libs
-devel
275 BuildRequires
: libibverbs
-devel
276 BuildRequires
: librdmacm
-devel
277 BuildRequires
: openldap
-devel
278 #BuildRequires: krb5-devel
279 BuildRequires
: openssl
-devel
280 BuildRequires
: CUnit
-devel
281 BuildRequires
: redhat
-lsb
-core
282 BuildRequires
: python
%{python3_pkgversion}-devel
283 BuildRequires
: python
%{python3_pkgversion}-setuptools
285 BuildRequires
: python
%{python3_version_nodots}-Cython
287 BuildRequires
: python
%{python3_pkgversion}-Cython
289 BuildRequires
: python
%{python3_pkgversion}-prettytable
290 BuildRequires
: python
%{python3_pkgversion}-sphinx
291 BuildRequires
: lz4
-devel
>= 1.7
293 # distro-conditional make check dependencies
294 %if 0%{with make_check}
295 %if 0%{?fedora} || 0%{?rhel}
296 BuildRequires
: libtool
-ltdl
-devel
297 BuildRequires
: xmlsec1
298 BuildRequires
: xmlsec1
-devel
300 BuildRequires
: xmlsec1
-nss
302 BuildRequires
: xmlsec1
-openssl
303 BuildRequires
: xmlsec1
-openssl
-devel
305 BuildRequires
: python
%{python3_version_nodots}-jwt
306 BuildRequires
: python
%{python3_version_nodots}-scipy
308 BuildRequires
: python
%{python3_pkgversion}-cherrypy
309 BuildRequires
: python
%{python3_pkgversion}-jwt
310 BuildRequires
: python
%{python3_pkgversion}-routes
311 BuildRequires
: python
%{python3_pkgversion}-scipy
312 BuildRequires
: python
%{python3_pkgversion}-werkzeug
315 BuildRequires
: python
%{python3_version_nodots}-pyOpenSSL
317 BuildRequires
: python
%{python3_pkgversion}-pyOpenSSL
320 %if 0%{?suse_version}
321 BuildRequires
: libxmlsec1
-1
322 BuildRequires
: libxmlsec1
-nss1
323 BuildRequires
: libxmlsec1
-openssl1
324 BuildRequires
: python
%{python3_pkgversion}-CherryPy
325 BuildRequires
: python
%{python3_pkgversion}-PyJWT
326 BuildRequires
: python
%{python3_pkgversion}-Routes
327 BuildRequires
: python
%{python3_pkgversion}-Werkzeug
328 BuildRequires
: python
%{python3_pkgversion}-numpy
-devel
329 BuildRequires
: xmlsec1
-devel
330 BuildRequires
: xmlsec1
-openssl
-devel
333 # lttng and babeltrace for rbd-replay-prep
335 %if 0%{?fedora} || 0%{?rhel}
336 BuildRequires
: lttng
-ust
-devel
337 BuildRequires
: libbabeltrace
-devel
339 %if 0%{?suse_version}
340 BuildRequires
: lttng
-ust
-devel
341 BuildRequires
: babeltrace
-devel
344 %if 0%{?suse_version}
345 BuildRequires
: libexpat
-devel
347 %if 0%{?rhel} || 0%{?fedora}
348 BuildRequires
: expat
-devel
351 %if 0%{?fedora} || 0%{?rhel}
352 BuildRequires
: redhat
-rpm
-config
355 %if 0%{?fedora} || 0%{?rhel}
356 BuildRequires
: cryptopp
-devel
357 BuildRequires
: numactl
-devel
358 BuildRequires
: protobuf
-compiler
360 %if 0%{?suse_version}
361 BuildRequires
: libcryptopp
-devel
362 BuildRequires
: libnuma
-devel
366 BuildRequires
: /usr
/bin
/pathfix.py
370 Ceph is a massively scalable
, open
-source, distributed storage system that runs
371 on commodity hardware and delivers object
, block and file system storage.
374 #################################################################################
376 #################################################################################
378 Summary: Ceph Base Package
379 %if 0%{?suse_version}
380 Group: System
/Filesystems
382 Provides: ceph
-test:/usr
/bin
/ceph
-kvstore
-tool
383 Requires: ceph
-common
= %{_epoch_prefix}%{version}-%{release}
384 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
385 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
386 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
387 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
389 Requires: ceph
-selinux
= %{_epoch_prefix}%{version}-%{release}
398 Requires: python
%{python3_pkgversion}-setuptools
402 %if 0%{?fedora} || 0%{?rhel}
403 # The following is necessary due to tracker 36508 and can be removed once the
404 # associated upstream bugs are resolved.
405 %if 0%{with tcmalloc}
406 Requires: gperftools
-libs
>= 2.6.1
413 Base is the package that includes all the files shared amongst ceph servers
416 Summary: Utility to bootstrap Ceph clusters
419 Requires: python
%{python3_pkgversion}
423 %description -n cephadm
424 Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed
425 with systemd and podman.
427 %package -n ceph
-common
429 %if 0%{?suse_version}
430 Group: System
/Filesystems
432 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
433 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
434 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
435 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
436 Requires: python
%{python3_pkgversion}-rbd = %{_epoch_prefix}%{version}-%{release}
437 Requires: python
%{python3_pkgversion}-cephfs = %{_epoch_prefix}%{version}-%{release}
438 Requires: python
%{python3_pkgversion}-rgw = %{_epoch_prefix}%{version}-%{release}
439 Requires: python
%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
440 Requires: python
%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
441 %if 0%{?fedora} || 0%{?rhel}
442 Requires: python
%{python3_pkgversion}-prettytable
444 %if 0%{?suse_version}
445 Requires: python
%{python3_pkgversion}-PrettyTable
447 %if 0%{with libradosstriper}
448 Requires: libradosstriper1
= %{_epoch_prefix}%{version}-%{release}
451 %if 0%{?suse_version}
452 Requires(pre
): pwdutils
454 %description -n ceph
-common
455 Common utilities to mount and interact with a ceph storage cluster.
456 Comprised of files that are common to Ceph clients and servers.
459 Summary: Ceph Metadata Server Daemon
460 %if 0%{?suse_version}
461 Group: System
/Filesystems
463 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
465 ceph
-mds is the metadata server daemon
for the Ceph distributed file system.
466 One or more instances of ceph
-mds collectively manage the file system
467 namespace
, coordinating access to the shared OSD cluster.
470 Summary: Ceph Monitor Daemon
471 %if 0%{?suse_version}
472 Group: System
/Filesystems
474 Provides: ceph
-test:/usr
/bin
/ceph
-monstore
-tool
475 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
478 %if 0%{?suse_version}
479 Requires: smartmontools
481 Recommends
: smartmontools
485 ceph
-mon is the cluster monitor daemon
for the Ceph distributed file
486 system. One or more instances of ceph
-mon form a Paxos part
-time
487 parliament cluster that provides extremely reliable and durable storage
488 of cluster membership
, configuration
, and state.
491 Summary: Ceph Manager Daemon
492 %if 0%{?suse_version}
493 Group: System
/Filesystems
495 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
496 Requires: ceph
-mgr
-modules
-core
= %{_epoch_prefix}%{version}-%{release}
498 Requires: python
%{python3_version_nodots}-six
500 Requires: python
%{python3_pkgversion}-six
503 Recommends
: ceph
-mgr
-dashboard
= %{_epoch_prefix}%{version}-%{release}
504 Recommends
: ceph
-mgr
-diskprediction
-local = %{_epoch_prefix}%{version}-%{release}
505 Recommends
: ceph
-mgr
-diskprediction
-cloud
= %{_epoch_prefix}%{version}-%{release}
506 Recommends
: ceph
-mgr
-k8sevents
= %{_epoch_prefix}%{version}-%{release}
507 Recommends
: ceph
-mgr
-cephadm
= %{_epoch_prefix}%{version}-%{release}
508 Recommends
: python
%{python3_pkgversion}-influxdb
511 ceph
-mgr enables python modules that provide services
(such as the REST
512 module derived from Calamari
) and expose CLI hooks. ceph
-mgr gathers
513 the cluster maps
, the daemon metadata
, and performance counters
, and
514 exposes all these to the python modules.
516 %package mgr
-dashboard
517 Summary: Ceph Dashboard
519 %if 0%{?suse_version}
520 Group: System
/Filesystems
522 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
523 Requires: ceph
-grafana
-dashboards
= %{_epoch_prefix}%{version}-%{release}
524 Requires: ceph
-prometheus
-alerts
= %{_epoch_prefix}%{version}-%{release}
525 %if 0%{?fedora} || 0%{?rhel}
526 Requires: python
%{python3_pkgversion}-cherrypy
527 Requires: python
%{python3_pkgversion}-jwt
528 Requires: python
%{python3_pkgversion}-routes
529 Requires: python
%{python3_pkgversion}-werkzeug
531 Recommends
: python
%{python3_pkgversion}-saml
534 %if 0%{?suse_version}
535 Requires: python
%{python3_pkgversion}-CherryPy
536 Requires: python
%{python3_pkgversion}-PyJWT
537 Requires: python
%{python3_pkgversion}-Routes
538 Requires: python
%{python3_pkgversion}-Werkzeug
539 Recommends
: python
%{python3_pkgversion}-python3
-saml
541 %description mgr
-dashboard
542 ceph
-mgr
-dashboard is a manager module
, providing a web
-based application
543 to monitor and manage many aspects of a Ceph cluster and related components.
544 See the Dashboard documentation at http
://docs.ceph.com
/ for details and a
545 detailed feature overview.
547 %package mgr
-diskprediction
-local
548 Summary: Ceph Manager module
for predicting disk failures
550 %if 0%{?suse_version}
551 Group: System
/Filesystems
553 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
554 Requires: python
%{python3_pkgversion}-numpy
555 Requires: python3
-scipy
560 %description mgr
-diskprediction
-local
561 ceph
-mgr
-diskprediction
-local is a ceph
-mgr module that tries to predict
562 disk failures using
local algorithms and machine
-learning databases.
564 %package mgr
-diskprediction
-cloud
565 Summary: Ceph Manager module
for cloud
-based disk failure prediction
567 %if 0%{?suse_version}
568 Group: System
/Filesystems
570 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
571 %if 0%{without python2}
572 Requires: python3
-grpcio
573 Requires: python3
-protobuf
575 Requires: python2
-grpcio
576 Requires: python2
-protobuf
578 %description mgr
-diskprediction
-cloud
579 ceph
-mgr
-diskprediction
-cloud is a ceph
-mgr module that tries to predict
580 disk failures using services
in the Google cloud.
582 %package mgr
-modules
-core
583 Summary: Ceph Manager modules which are always enabled
585 %if 0%{?suse_version}
586 Group: System
/Filesystems
589 Requires: python
%{python3_version_nodots}-bcrypt
590 Requires: python
%{python3_version_nodots}-pyOpenSSL
591 Requires: python
%{python3_version_nodots}-requests
592 Requires: python
%{python3_version_nodots}-PyYAML
593 Requires: python
%{python3_version_nodots}-dateutil
595 Requires: python
%{python3_pkgversion}-bcrypt
596 Requires: python
%{python3_pkgversion}-pecan
597 Requires: python
%{python3_pkgversion}-pyOpenSSL
598 Requires: python
%{python3_pkgversion}-requests
599 Requires: python
%{python3_pkgversion}-dateutil
601 %if 0%{?fedora} || 0%{?rhel} >= 8
602 Requires: python
%{python3_pkgversion}-cherrypy
603 Requires: python
%{python3_pkgversion}-pyyaml
604 Requires: python
%{python3_pkgversion}-werkzeug
606 %if 0%{?suse_version}
607 Requires: python
%{python3_pkgversion}-CherryPy
608 Requires: python
%{python3_pkgversion}-PyYAML
609 Requires: python
%{python3_pkgversion}-Werkzeug
612 Recommends
: ceph
-mgr
-rook
= %{_epoch_prefix}%{version}-%{release}
614 %description mgr
-modules
-core
615 ceph
-mgr
-modules
-core provides a
set of modules which are always
620 Summary: Ceph Manager module
for Rook
-based orchestration
621 %if 0%{?suse_version}
622 Group: System
/Filesystems
624 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
625 Requires: python
%{python3_pkgversion}-kubernetes
626 Requires: python
%{python3_pkgversion}-jsonpatch
627 %description mgr
-rook
628 ceph
-mgr
-rook is a ceph
-mgr module
for orchestration functions using
631 %package mgr
-k8sevents
633 Summary: Ceph Manager module to orchestrate ceph
-events to kubernetes' events API
634 %if 0%{?suse_version}
635 Group: System
/Filesystems
637 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
638 Requires: python
%{python3_pkgversion}-kubernetes
639 %description mgr
-k8sevents
640 ceph
-mgr
-k8sevents is a ceph
-mgr module that sends every ceph
-events
641 to kubernetes' events API
644 Summary: Ceph Manager module
for cephadm
-based orchestration
646 %if 0%{?suse_version}
647 Group: System
/Filesystems
649 Requires: ceph
-mgr
= %{_epoch_prefix}%{version}-%{release}
650 Requires: python
%{python3_pkgversion}-remoto
651 Requires: cephadm
= %{_epoch_prefix}%{version}-%{release}
652 %if 0%{?suse_version}
654 Requires: python
%{python3_pkgversion}-Jinja2
656 %if 0%{?rhel} || 0%{?fedora}
657 Requires: openssh
-clients
658 Requires: python
%{python3_pkgversion}-jinja2
660 %description mgr
-cephadm
661 ceph
-mgr
-cephadm is a ceph
-mgr module
for orchestration functions using
662 the integrated cephadm deployment tool management operations.
665 Summary: Ceph fuse
-based client
666 %if 0%{?suse_version}
667 Group: System
/Filesystems
670 Requires: python
%{python3_pkgversion}
672 FUSE based client
for Ceph distributed network file system
675 Summary: Ceph fuse
-based client
676 %if 0%{?suse_version}
677 Group: System
/Filesystems
679 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
680 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
681 %description -n rbd
-fuse
682 FUSE based client to map Ceph rbd images to files
684 %package -n rbd
-mirror
685 Summary: Ceph daemon
for mirroring RBD images
686 %if 0%{?suse_version}
687 Group: System
/Filesystems
689 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
690 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
691 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
692 %description -n rbd
-mirror
693 Daemon
for mirroring RBD images between Ceph clusters
, streaming
694 changes asynchronously.
696 %package immutable
-object
-cache
697 Summary: Ceph daemon
for immutable object cache
698 %if 0%{?suse_version}
699 Group: System
/Filesystems
701 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
702 %description immutable
-object
-cache
703 Daemon
for immutable object cache.
706 Summary: Ceph RBD client base on NBD
707 %if 0%{?suse_version}
708 Group: System
/Filesystems
710 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
711 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
712 %description -n rbd
-nbd
713 NBD based client to map Ceph rbd images to
local device
716 Summary: Rados REST gateway
717 %if 0%{?suse_version}
718 Group: System
/Filesystems
720 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
722 Requires: ceph
-selinux
= %{_epoch_prefix}%{version}-%{release}
724 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
725 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
726 %if 0%{?rhel} || 0%{?fedora}
730 RADOS is a distributed object store used by the Ceph distributed
731 storage system. This package provides a REST gateway to the
732 object store that aims to implement a superset of Amazon's S3
733 service as well as the OpenStack Object Storage
("Swift"
) API.
736 %package resource
-agents
737 Summary: OCF
-compliant resource agents
for Ceph daemons
738 %if 0%{?suse_version}
739 Group: System
/Filesystems
741 Requires: ceph
-base
= %{_epoch_prefix}%{version}
742 Requires: resource
-agents
743 %description resource
-agents
744 Resource agents
for monitoring and managing Ceph daemons
745 under Open Cluster Framework
(OCF
) compliant resource
746 managers such as Pacemaker.
750 Summary: Ceph Object Storage Daemon
751 %if 0%{?suse_version}
752 Group: System
/Filesystems
754 Provides: ceph
-test:/usr
/bin
/ceph
-osdomap
-tool
755 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
758 Requires: libstoragemgmt
759 Requires: python
%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
762 %if 0%{?suse_version}
763 Requires: smartmontools
765 Recommends
: smartmontools
769 ceph
-osd is the object storage daemon
for the Ceph distributed file
770 system. It is responsible
for storing objects on a
local file system
771 and providing access to them over the network.
775 Summary: Ceph Object Storage Daemon
(crimson
)
776 %if 0%{?suse_version}
777 Group: System
/Filesystems
779 Requires: ceph
-osd
= %{_epoch_prefix}%{version}-%{release}
780 %description crimson
-osd
781 crimson
-osd is the object storage daemon
for the Ceph distributed file
782 system. It is responsible
for storing objects on a
local file system
783 and providing access to them over the network.
786 %package -n librados2
787 Summary: RADOS distributed object store client library
788 %if 0%{?suse_version}
789 Group: System
/Libraries
791 %if 0%{?rhel} || 0%{?fedora}
792 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
794 %description -n librados2
795 RADOS is a reliable
, autonomic distributed object storage cluster
796 developed as part of the Ceph distributed storage system. This is a
797 shared library allowing applications to access the distributed object
798 store using a simple file
-like interface.
800 %package -n librados
-devel
801 Summary: RADOS headers
802 %if 0%{?suse_version}
803 Group: Development
/Libraries
/C and C
++
805 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
806 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
807 Provides: librados2
-devel
= %{_epoch_prefix}%{version}-%{release}
808 Obsoletes
: librados2
-devel
< %{_epoch_prefix}%{version}-%{release}
809 %description -n librados
-devel
810 This package contains C libraries and headers needed to develop programs
811 that use RADOS object store.
813 %package -n libradospp
-devel
814 Summary: RADOS headers
815 %if 0%{?suse_version}
816 Group: Development
/Libraries
/C and C
++
818 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
819 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
820 %description -n libradospp
-devel
821 This package contains C
++ libraries and headers needed to develop programs
822 that use RADOS object store.
825 Summary: RADOS gateway client library
826 %if 0%{?suse_version}
827 Group: System
/Libraries
829 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
830 %description -n librgw2
831 This package provides a library implementation of the RADOS gateway
832 (distributed object store with S3 and Swift personalities
).
834 %package -n librgw
-devel
835 Summary: RADOS gateway client library
836 %if 0%{?suse_version}
837 Group: Development
/Libraries
/C and C
++
839 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
840 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
841 Provides: librgw2
-devel
= %{_epoch_prefix}%{version}-%{release}
842 Obsoletes
: librgw2
-devel
< %{_epoch_prefix}%{version}-%{release}
843 %description -n librgw
-devel
844 This package contains libraries and headers needed to develop programs
845 that use RADOS gateway client library.
847 %package -n python
%{python3_pkgversion}-rgw
848 Summary: Python
3 libraries
for the RADOS gateway
849 %if 0%{?suse_version}
850 Group: Development
/Libraries
/Python
852 Requires: librgw2
= %{_epoch_prefix}%{version}-%{release}
853 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
854 %{?python_provide:%python_provide python%{python3_pkgversion}-rgw}
855 Provides: python
-rgw
= %{_epoch_prefix}%{version}-%{release}
856 Obsoletes
: python
-rgw
< %{_epoch_prefix}%{version}-%{release}
857 %description -n python
%{python3_pkgversion}-rgw
858 This package contains Python
3 libraries
for interacting with Cephs RADOS
861 %package -n python
%{python3_pkgversion}-rados
862 Summary: Python
3 libraries
for the RADOS object store
863 %if 0%{?suse_version}
864 Group: Development
/Libraries
/Python
866 Requires: python
%{python3_pkgversion}
867 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
868 %{?python_provide:%python_provide python%{python3_pkgversion}-rados}
869 Provides: python
-rados
= %{_epoch_prefix}%{version}-%{release}
870 Obsoletes
: python
-rados
< %{_epoch_prefix}%{version}-%{release}
871 %description -n python
%{python3_pkgversion}-rados
872 This package contains Python
3 libraries
for interacting with Cephs RADOS
875 %if 0%{with libradosstriper}
876 %package -n libradosstriper1
877 Summary: RADOS striping interface
878 %if 0%{?suse_version}
879 Group: System
/Libraries
881 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
882 %description -n libradosstriper1
883 Striping interface built on top of the rados library
, allowing
884 to stripe bigger objects onto several standard rados objects using
885 an interface very similar to the rados one.
887 %package -n libradosstriper
-devel
888 Summary: RADOS striping interface headers
889 %if 0%{?suse_version}
890 Group: Development
/Libraries
/C and C
++
892 Requires: libradosstriper1
= %{_epoch_prefix}%{version}-%{release}
893 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
894 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
895 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
896 Provides: libradosstriper1
-devel
= %{_epoch_prefix}%{version}-%{release}
897 Obsoletes
: libradosstriper1
-devel
< %{_epoch_prefix}%{version}-%{release}
898 %description -n libradosstriper
-devel
899 This package contains libraries and headers needed to develop programs
900 that use RADOS striping interface.
904 Summary: RADOS block device client library
905 %if 0%{?suse_version}
906 Group: System
/Libraries
908 Requires: librados2
= %{_epoch_prefix}%{version}-%{release}
909 %if 0%{?suse_version}
910 Requires(post
): coreutils
912 %if 0%{?rhel} || 0%{?fedora}
913 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
915 %description -n librbd1
916 RBD is a block device striped across multiple distributed objects
in
917 RADOS
, a reliable
, autonomic distributed object storage cluster
918 developed as part of the Ceph distributed storage system. This is a
919 shared library allowing applications to manage these block devices.
921 %package -n librbd
-devel
922 Summary: RADOS block device headers
923 %if 0%{?suse_version}
924 Group: Development
/Libraries
/C and C
++
926 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
927 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
928 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
929 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
930 Provides: librbd1
-devel
= %{_epoch_prefix}%{version}-%{release}
931 Obsoletes
: librbd1
-devel
< %{_epoch_prefix}%{version}-%{release}
932 %description -n librbd
-devel
933 This package contains libraries and headers needed to develop programs
934 that use RADOS block device.
936 %package -n python
%{python3_pkgversion}-rbd
937 Summary: Python
3 libraries
for the RADOS block device
938 %if 0%{?suse_version}
939 Group: Development
/Libraries
/Python
941 Requires: librbd1
= %{_epoch_prefix}%{version}-%{release}
942 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
943 %{?python_provide:%python_provide python%{python3_pkgversion}-rbd}
944 Provides: python
-rbd
= %{_epoch_prefix}%{version}-%{release}
945 Obsoletes
: python
-rbd
< %{_epoch_prefix}%{version}-%{release}
946 %description -n python
%{python3_pkgversion}-rbd
947 This package contains Python
3 libraries
for interacting with Cephs RADOS
950 %package -n libcephfs2
951 Summary: Ceph distributed file system client library
952 %if 0%{?suse_version}
953 Group: System
/Libraries
955 Obsoletes
: libcephfs1
< %{_epoch_prefix}%{version}-%{release}
956 %if 0%{?rhel} || 0%{?fedora}
957 Obsoletes
: ceph
-libs
< %{_epoch_prefix}%{version}-%{release}
958 Obsoletes
: ceph
-libcephfs
960 %description -n libcephfs2
961 Ceph is a distributed network file system designed to provide excellent
962 performance
, reliability
, and scalability. This is a shared library
963 allowing applications to access a Ceph distributed file system via a
964 POSIX
-like interface.
966 %package -n libcephfs
-devel
967 Summary: Ceph distributed file system headers
968 %if 0%{?suse_version}
969 Group: Development
/Libraries
/C and C
++
971 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
972 Requires: librados
-devel
= %{_epoch_prefix}%{version}-%{release}
973 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
974 Provides: libcephfs2
-devel
= %{_epoch_prefix}%{version}-%{release}
975 Obsoletes
: libcephfs2
-devel
< %{_epoch_prefix}%{version}-%{release}
976 %description -n libcephfs
-devel
977 This package contains libraries and headers needed to develop programs
978 that use Cephs distributed file system.
980 %package -n python
%{python3_pkgversion}-cephfs
981 Summary: Python
3 libraries
for Ceph distributed file system
982 %if 0%{?suse_version}
983 Group: Development
/Libraries
/Python
985 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
986 Requires: python
%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
987 Requires: python
%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
988 %{?python_provide:%python_provide python%{python3_pkgversion}-cephfs}
989 Provides: python
-cephfs
= %{_epoch_prefix}%{version}-%{release}
990 Obsoletes
: python
-cephfs
< %{_epoch_prefix}%{version}-%{release}
991 %description -n python
%{python3_pkgversion}-cephfs
992 This package contains Python
3 libraries
for interacting with Cephs distributed
995 %package -n python
%{python3_pkgversion}-ceph
-argparse
996 Summary: Python
3 utility libraries
for Ceph CLI
997 %if 0%{?suse_version}
998 Group: Development
/Libraries
/Python
1000 %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-argparse}
1001 %description -n python
%{python3_pkgversion}-ceph
-argparse
1002 This package contains types and routines
for Python
3 used by the Ceph CLI as
1003 well as the RESTful interface. These have to
do with querying the daemons
for
1004 command-description information
, validating user
command input against those
1005 descriptions
, and submitting the
command to the appropriate daemon.
1007 %package -n python
%{python3_pkgversion}-ceph
-common
1008 Summary: Python
3 utility libraries
for Ceph
1009 %if 0%{?fedora} || 0%{?rhel} >= 8
1010 Requires: python
%{python3_pkgversion}-pyyaml
1012 %if 0%{?suse_version}
1013 Requires: python
%{python3_pkgversion}-PyYAML
1015 %if 0%{?suse_version}
1016 Group: Development
/Libraries
/Python
1018 %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-common}
1019 %description -n python
%{python3_pkgversion}-ceph
-common
1020 This package contains data structures
, classes and functions used by Ceph.
1021 It also contains utilities used
for the cephadm orchestrator.
1023 %if 0%{with cephfs_shell}
1024 %package -n cephfs
-shell
1025 Summary: Interactive shell
for Ceph file system
1026 Requires: python
%{python3_pkgversion}-cmd2
1027 Requires: python
%{python3_pkgversion}-colorama
1028 Requires: python
%{python3_pkgversion}-cephfs
1029 %description -n cephfs
-shell
1030 This package contains an interactive tool that allows accessing a Ceph
1031 file system without mounting it by providing a nice pseudo
-shell which
1032 works like an FTP client.
1035 %if 0%{with ceph_test_package}
1036 %package -n ceph
-test
1037 Summary: Ceph benchmarks and
test tools
1038 %if 0%{?suse_version}
1039 Group: System
/Benchmark
1041 Requires: ceph
-common
= %{_epoch_prefix}%{version}-%{release}
1042 Requires: xmlstarlet
1045 %description -n ceph
-test
1046 This package contains Ceph benchmarks and
test tools.
1049 %if 0%{with cephfs_java}
1051 %package -n libcephfs_jni1
1052 Summary: Java Native Interface library
for CephFS Java bindings
1053 %if 0%{?suse_version}
1054 Group: System
/Libraries
1057 Requires: libcephfs2
= %{_epoch_prefix}%{version}-%{release}
1058 %description -n libcephfs_jni1
1059 This package contains the Java Native Interface library
for CephFS Java
1062 %package -n libcephfs_jni
-devel
1063 Summary: Development files
for CephFS Java Native Interface library
1064 %if 0%{?suse_version}
1065 Group: Development
/Libraries
/Java
1068 Requires: libcephfs_jni1
= %{_epoch_prefix}%{version}-%{release}
1069 Obsoletes
: ceph
-devel
< %{_epoch_prefix}%{version}-%{release}
1070 Provides: libcephfs_jni1
-devel
= %{_epoch_prefix}%{version}-%{release}
1071 Obsoletes
: libcephfs_jni1
-devel
< %{_epoch_prefix}%{version}-%{release}
1072 %description -n libcephfs_jni
-devel
1073 This package contains the development files
for CephFS Java Native Interface
1076 %package -n cephfs
-java
1077 Summary: Java libraries
for the Ceph File System
1078 %if 0%{?suse_version}
1079 Group: System
/Libraries
1082 Requires: libcephfs_jni1
= %{_epoch_prefix}%{version}-%{release}
1084 BuildRequires
: junit
1085 %description -n cephfs
-java
1086 This package contains the Java libraries
for the Ceph File System.
1090 %package -n rados
-objclass
-devel
1091 Summary: RADOS object class development kit
1092 %if 0%{?suse_version}
1093 Group: Development
/Libraries
/C and C
++
1095 Requires: libradospp
-devel
= %{_epoch_prefix}%{version}-%{release}
1096 %description -n rados
-objclass
-devel
1097 This package contains libraries and headers needed to develop RADOS object
1100 %if 0%{with selinux}
1103 Summary: SELinux support
for Ceph MON
, OSD and MDS
1104 %if 0%{?suse_version}
1105 Group: System
/Filesystems
1107 Requires: ceph
-base
= %{_epoch_prefix}%{version}-%{release}
1108 Requires: policycoreutils
, libselinux
-utils
1109 Requires(post
): ceph
-base
= %{_epoch_prefix}%{version}-%{release}
1110 Requires(post
): selinux
-policy
-base
>= %{_selinux_policy_version}, policycoreutils
, gawk
1111 Requires(postun
): policycoreutils
1112 %description selinux
1113 This package contains SELinux support
for Ceph MON
, OSD and MDS. The package
1114 also performs file
-system relabelling which can take a long
time on heavily
1115 populated file
-systems.
1119 %package grafana
-dashboards
1120 Summary: The
set of Grafana dashboards
for monitoring purposes
1122 %if 0%{?suse_version}
1123 Group: System
/Filesystems
1125 %description grafana
-dashboards
1126 This package provides a
set of Grafana dashboards
for monitoring of
1127 Ceph clusters. The dashboards require a Prometheus server setup
1128 collecting data from Ceph Manager "prometheus" module and Prometheus
1129 project "node_exporter" module. The dashboards are designed to be
1130 integrated with the Ceph Manager Dashboard web UI.
1132 %package prometheus
-alerts
1133 Summary: Prometheus alerts
for a Ceph deplyoment
1135 Group: System
/Monitoring
1136 %description prometheus
-alerts
1137 This package provides Ceph’s default alerts
for Prometheus.
1139 #################################################################################
1141 #################################################################################
1143 %autosetup -p1
-n ceph
-15.2.9
1146 # LTO can be enabled as soon as the following GCC bug is fixed:
1147 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200
1148 %define _lto_cflags
%{nil}
1151 .
/opt
/rh
/devtoolset
-8/enable
1154 %if 0%{with cephfs_java}
1156 for i
in /usr
/{lib64
,lib
}/jvm
/java
/include
{,/linux
}; do
1157 [ -d $i
] && java_inc
="$java_inc
-I$i"
1161 %if 0%{?suse_version}
1162 # the following setting fixed an OOM condition we once encountered in the OBS
1163 RPM_OPT_FLAGS
="$RPM_OPT_FLAGS
--param ggc
-min
-expand
=20 --param ggc
-min
-heapsize
=32768"
1166 export CPPFLAGS
="$java_inc"
1167 export CFLAGS
="$RPM_OPT_FLAGS"
1168 export CXXFLAGS
="$RPM_OPT_FLAGS"
1169 export LDFLAGS
="$RPM_LD_FLAGS"
1171 # Parallel build settings ...
1172 CEPH_MFLAGS_JOBS
="
%{?_smp_mflags}"
1173 CEPH_SMP_NCPUS
=$
(echo "$CEPH_MFLAGS_JOBS" | sed 's
/-j
//'
)
1174 %if 0%{?__isa_bits} == 32
1175 # 32-bit builds can use 3G memory max, which is not enough even for -j2
1178 # do not eat all memory
1179 echo "Available memory
:"
1181 echo "System limits
:"
1183 if test -n "$CEPH_SMP_NCPUS"
-a "$CEPH_SMP_NCPUS"
-gt
1 ; then
1184 mem_per_process
=2500
1185 max_mem
=$
(LANG
=C free
-m | sed
-n "s|^Mem
: *\
([0-9]*\
).
*$|\
1|p"
)
1186 max_jobs
="$
(($max_mem
/ $mem_per_process
))"
1187 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"
1188 test "$CEPH_SMP_NCPUS"
-le
0 && CEPH_SMP_NCPUS
="
1"
&& echo "Warning
: Not using parallel build at all because of memory limits"
1190 export CEPH_SMP_NCPUS
1191 export CEPH_MFLAGS_JOBS
="
-j$CEPH_SMP_NCPUS"
1203 -DCMAKE_INSTALL_PREFIX
=%{_prefix} \
1204 -DCMAKE_INSTALL_LIBDIR
=%{_libdir} \
1205 -DCMAKE_INSTALL_LIBEXECDIR
=%{_libexecdir} \
1206 -DCMAKE_INSTALL_LOCALSTATEDIR
=%{_localstatedir} \
1207 -DCMAKE_INSTALL_SYSCONFDIR
=%{_sysconfdir} \
1208 -DCMAKE_INSTALL_MANDIR
=%{_mandir} \
1209 -DCMAKE_INSTALL_DOCDIR
=%{_docdir}/ceph \
1210 -DCMAKE_INSTALL_INCLUDEDIR
=%{_includedir} \
1212 -DWITH_PYTHON3
=%{python3_version} \
1213 -DWITH_MGR_DASHBOARD_FRONTEND
=OFF \
1214 %if 0%{without ceph_test_package}
1217 %if 0%{with cephfs_java}
1218 -DWITH_CEPHFS_JAVA
=ON \
1220 %if 0%{with selinux}
1225 -DWITH_BABELTRACE
=ON \
1228 -DWITH_BABELTRACE
=OFF \
1230 $CEPH_EXTRA_CMAKE_ARGS \
1234 %ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le
%{ix86} x86_64
1235 -DWITH_BOOST_CONTEXT
=ON \
1237 -DWITH_BOOST_CONTEXT
=OFF \
1239 %if 0%{with cephfs_shell}
1240 -DWITH_CEPHFS_SHELL
=ON \
1242 %if 0%{with libradosstriper}
1243 -DWITH_LIBRADOSSTRIPER
=ON \
1245 -DWITH_LIBRADOSSTRIPER
=OFF \
1247 %if 0%{with amqp_endpoint}
1248 -DWITH_RADOSGW_AMQP_ENDPOINT
=ON \
1250 -DWITH_RADOSGW_AMQP_ENDPOINT
=OFF \
1252 %if 0%{with kafka_endpoint}
1253 -DWITH_RADOSGW_KAFKA_ENDPOINT
=ON \
1255 -DWITH_RADOSGW_KAFKA_ENDPOINT
=OFF \
1257 %if 0%{with cmake_verbose_logging}
1258 -DCMAKE_VERBOSE_MAKEFILE
=ON \
1260 -DBOOST_J
=$CEPH_SMP_NCPUS \
1263 %if %{with cmake_verbose_logging}
1264 cat .
/CMakeFiles
/CMakeOutput.log
1265 cat .
/CMakeFiles
/CMakeError.log
1268 make "$CEPH_MFLAGS_JOBS"
1271 %if 0%{with make_check}
1273 # run in-tree unittests
1275 ctest "$CEPH_MFLAGS_JOBS"
1281 make DESTDIR
=%{buildroot} install
1282 # we have dropped sysvinit bits
1283 rm -f
%{buildroot}/%{_sysconfdir}/init.d
/ceph
1285 install -m
0644 -D src
/etc
-rbdmap
%{buildroot}%{_sysconfdir}/ceph
/rbdmap
1286 %if 0%{?fedora} || 0%{?rhel}
1287 install -m
0644 -D etc
/sysconfig
/ceph
%{buildroot}%{_sysconfdir}/sysconfig
/ceph
1289 %if 0%{?suse_version}
1290 install -m
0644 -D etc
/sysconfig
/ceph
%{buildroot}%{_fillupdir}/sysconfig.%{name}
1292 install -m
0644 -D systemd
/ceph.tmpfiles.d
%{buildroot}%{_tmpfilesdir}/ceph
-common.conf
1293 install -m
0644 -D systemd
/50-ceph.preset
%{buildroot}%{_libexecdir}/systemd
/system
-preset
/50-ceph.preset
1294 mkdir -p
%{buildroot}%{_sbindir}
1295 install -m
0644 -D src
/logrotate.conf
%{buildroot}%{_sysconfdir}/logrotate.d
/ceph
1296 chmod
0644 %{buildroot}%{_docdir}/ceph
/sample.ceph.conf
1297 install -m
0644 -D COPYING
%{buildroot}%{_docdir}/ceph
/COPYING
1298 install -m
0644 -D etc
/sysctl
/90-ceph
-osd.conf
%{buildroot}%{_sysctldir}/90-ceph
-osd.conf
1300 install -m
0755 src
/cephadm
/cephadm
%{buildroot}%{_sbindir}/cephadm
1301 mkdir -p
%{buildroot}%{_sharedstatedir}/cephadm
1302 chmod
0700 %{buildroot}%{_sharedstatedir}/cephadm
1303 mkdir -p
%{buildroot}%{_sharedstatedir}/cephadm
/.ssh
1304 chmod
0700 %{buildroot}%{_sharedstatedir}/cephadm
/.ssh
1305 touch
%{buildroot}%{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1306 chmod
0600 %{buildroot}%{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1308 # firewall templates and /sbin/mount.ceph symlink
1309 %if 0%{?suse_version}
1310 mkdir -p
%{buildroot}/sbin
1311 ln
-sf
%{_sbindir}/mount.ceph %{buildroot}/sbin
/mount.ceph
1315 install -m
0644 -D udev
/50-rbd.rules
%{buildroot}%{_udevrulesdir}/50-rbd.rules
1318 install -m
0440 -D sudoers.d
/ceph
-osd
-smartctl
%{buildroot}%{_sysconfdir}/sudoers.d
/ceph
-osd
-smartctl
1321 pathfix.py
-pni "
%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/*
1322 pathfix.py
-pni "
%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/*
1325 #set up placeholder directories
1326 mkdir -p
%{buildroot}%{_sysconfdir}/ceph
1327 mkdir -p
%{buildroot}%{_localstatedir}/run
/ceph
1328 mkdir -p
%{buildroot}%{_localstatedir}/log
/ceph
1329 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/tmp
1330 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mon
1331 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/osd
1332 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mds
1333 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/mgr
1334 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/crash
1335 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/crash
/posted
1336 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/radosgw
1337 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-osd
1338 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-mds
1339 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rgw
1340 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-mgr
1341 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rbd
1342 mkdir -p
%{buildroot}%{_localstatedir}/lib
/ceph
/bootstrap
-rbd
-mirror
1345 install -m
644 -D monitoring
/prometheus
/alerts
/ceph_default_alerts.yml
%{buildroot}/etc
/prometheus
/ceph
/ceph_default_alerts.yml
1347 %if 0%{?suse_version}
1348 # create __pycache__ directories and their contents
1349 %py3_compile %{buildroot}%{python3_sitelib}
1350 # hardlink duplicate files under /usr to save space
1351 %fdupes %{buildroot}%{_prefix}
1355 %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
1361 #################################################################################
1362 # files and systemd scriptlets
1363 #################################################################################
1367 %{_bindir}/ceph
-crash
1368 %{_bindir}/crushtool
1369 %{_bindir}/monmaptool
1370 %{_bindir}/osdmaptool
1371 %{_bindir}/ceph
-kvstore
-tool
1373 %{_libexecdir}/systemd
/system
-preset
/50-ceph.preset
1374 %{_sbindir}/ceph
-create
-keys
1375 %dir %{_libexecdir}/ceph
1376 %{_libexecdir}/ceph
/ceph_common.sh
1377 %dir %{_libdir}/rados
-classes
1378 %{_libdir}/rados
-classes
/*
1379 %dir %{_libdir}/ceph
1380 %dir %{_libdir}/ceph
/erasure
-code
1381 %{_libdir}/ceph
/erasure
-code
/libec_
*.so
*
1382 %dir %{_libdir}/ceph
/compressor
1383 %{_libdir}/ceph
/compressor
/libceph_
*.so
*
1384 %{_unitdir}/ceph
-crash.service
1385 %dir %{_libdir}/ceph
/crypto
1386 %{_libdir}/ceph
/crypto
/libceph_
*.so
*
1388 %{_libdir}/libos_tp.so
*
1389 %{_libdir}/libosd_tp.so
*
1391 %config(noreplace
) %{_sysconfdir}/logrotate.d
/ceph
1392 %if 0%{?fedora} || 0%{?rhel}
1393 %config(noreplace
) %{_sysconfdir}/sysconfig
/ceph
1395 %if 0%{?suse_version}
1396 %{_fillupdir}/sysconfig.
*
1398 %{_unitdir}/ceph.target
1399 %dir %{python3_sitelib}/ceph_volume
1400 %{python3_sitelib}/ceph_volume
/*
1401 %{python3_sitelib}/ceph_volume
-*
1402 %{_mandir}/man8
/ceph
-deploy
.8*
1403 %{_mandir}/man8
/ceph
-create
-keys
.8*
1404 %{_mandir}/man8
/ceph
-run
.8*
1405 %{_mandir}/man8
/crushtool
.8*
1406 %{_mandir}/man8
/osdmaptool
.8*
1407 %{_mandir}/man8
/monmaptool
.8*
1408 %{_mandir}/man8
/ceph
-kvstore
-tool
.8*
1409 #set up placeholder directories
1410 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/crash
1411 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/crash
/posted
1412 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/tmp
1413 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-osd
1414 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-mds
1415 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rgw
1416 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-mgr
1417 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rbd
1418 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/bootstrap
-rbd
-mirror
1422 %if 0%{?suse_version}
1424 if [ $
1 -eq
1 ] ; then
1425 /usr
/bin
/systemctl preset ceph.target ceph
-crash.service
>/dev
/null
2>&1 ||
:
1428 %if 0%{?fedora} || 0%{?rhel}
1429 %systemd_post ceph.target ceph
-crash.service
1431 if [ $
1 -eq
1 ] ; then
1432 /usr
/bin
/systemctl start ceph.target ceph
-crash.service
>/dev
/null
2>&1 ||
:
1436 %if 0%{?suse_version}
1437 %service_del_preun ceph.target ceph
-crash.service
1439 %if 0%{?fedora} || 0%{?rhel}
1440 %systemd_preun ceph.target ceph
-crash.service
1445 %if 0%{?suse_version}
1446 DISABLE_RESTART_ON_UPDATE
="yes"
1447 %service_del_postun ceph.target
1449 %if 0%{?fedora} || 0%{?rhel}
1450 %systemd_postun ceph.target
1452 if [ $
1 -ge
1 ] ; then
1453 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1454 # "yes". In any case: if units are not running, do not touch them.
1455 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1456 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1457 source $SYSCONF_CEPH
1462 getent group cephadm
>/dev
/null || groupadd
-r cephadm
1463 getent passwd cephadm
>/dev
/null || useradd
-r
-g cephadm
-s
/bin
/bash
-c "cephadm user
for mgr
/cephadm"
-d
%{_sharedstatedir}/cephadm cephadm
1466 %if ! 0%{?suse_version}
1468 userdel
-r cephadm || true
1474 %{_mandir}/man8
/cephadm
.8*
1475 %attr(0700,cephadm
,cephadm
) %dir %{_sharedstatedir}/cephadm
1476 %attr(0700,cephadm
,cephadm
) %dir %{_sharedstatedir}/cephadm
/.ssh
1477 %attr(0600,cephadm
,cephadm
) %{_sharedstatedir}/cephadm
/.ssh
/authorized_keys
1480 %dir %{_docdir}/ceph
1481 %doc %{_docdir}/ceph
/sample.ceph.conf
1482 %license %{_docdir}/ceph
/COPYING
1484 %{_bindir}/ceph
-authtool
1485 %{_bindir}/ceph
-conf
1486 %{_bindir}/ceph
-dencoder
1487 %{_bindir}/ceph
-rbdnamer
1489 %{_bindir}/cephfs
-data
-scan
1490 %{_bindir}/cephfs
-journal
-tool
1491 %{_bindir}/cephfs
-table
-tool
1493 %{_bindir}/radosgw
-admin
1495 %{_bindir}/rbd
-replay
1496 %{_bindir}/rbd
-replay
-many
1498 %{_sbindir}/mount.ceph
1499 %if 0%{?suse_version}
1503 %{_bindir}/rbd
-replay
-prep
1505 %{_bindir}/ceph
-post
-file
1506 %{_tmpfilesdir}/ceph
-common.conf
1507 %{_mandir}/man8
/ceph
-authtool
.8*
1508 %{_mandir}/man8
/ceph
-conf
.8*
1509 %{_mandir}/man8
/ceph
-dencoder
.8*
1510 %{_mandir}/man8
/ceph
-diff
-sorted
.8*
1511 %{_mandir}/man8
/ceph
-rbdnamer
.8*
1512 %{_mandir}/man8
/ceph
-syn
.8*
1513 %{_mandir}/man8
/ceph
-post
-file
.8*
1514 %{_mandir}/man8
/ceph
.8*
1515 %{_mandir}/man8
/mount.ceph
.8*
1516 %{_mandir}/man8
/rados
.8*
1517 %{_mandir}/man8
/radosgw
-admin
.8*
1518 %{_mandir}/man8
/rbd
.8*
1519 %{_mandir}/man8
/rbdmap
.8*
1520 %{_mandir}/man8
/rbd
-replay
.8*
1521 %{_mandir}/man8
/rbd
-replay
-many
.8*
1522 %{_mandir}/man8
/rbd
-replay
-prep
.8*
1523 %{_mandir}/man8
/rgw
-orphan
-list
.8*
1524 %dir %{_datadir}/ceph
/
1525 %{_datadir}/ceph
/known_hosts_drop.ceph.com
1526 %{_datadir}/ceph
/id_rsa_drop.ceph.com
1527 %{_datadir}/ceph
/id_rsa_drop.ceph.com.pub
1528 %dir %{_sysconfdir}/ceph
/
1529 %config %{_sysconfdir}/bash_completion.d
/ceph
1530 %config %{_sysconfdir}/bash_completion.d
/rados
1531 %config %{_sysconfdir}/bash_completion.d
/rbd
1532 %config %{_sysconfdir}/bash_completion.d
/radosgw
-admin
1533 %config(noreplace
) %{_sysconfdir}/ceph
/rbdmap
1534 %{_unitdir}/rbdmap.service
1535 %dir %{_udevrulesdir}
1536 %{_udevrulesdir}/50-rbd.rules
1537 %attr(3770,ceph
,ceph
) %dir %{_localstatedir}/log
/ceph
/
1538 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/
1543 %if 0%{?rhel} || 0%{?fedora}
1544 /usr
/sbin
/groupadd ceph
-g $CEPH_GROUP_ID
-o
-r
2>/dev
/null ||
:
1545 /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 ||
:
1547 %if 0%{?suse_version}
1548 if ! getent group ceph
>/dev
/null
; then
1549 CEPH_GROUP_ID_OPTION
=""
1550 getent group $CEPH_GROUP_ID
>/dev
/null || CEPH_GROUP_ID_OPTION
="
-g $CEPH_GROUP_ID"
1551 groupadd ceph $CEPH_GROUP_ID_OPTION
-r
2>/dev
/null ||
:
1553 if ! getent passwd ceph
>/dev
/null
; then
1554 CEPH_USER_ID_OPTION
=""
1555 getent passwd $CEPH_USER_ID
>/dev
/null || CEPH_USER_ID_OPTION
="
-u $CEPH_USER_ID"
1556 useradd ceph $CEPH_USER_ID_OPTION
-r
-g ceph
-s
/sbin
/nologin
2>/dev
/null ||
:
1558 usermod
-c "Ceph storage service" \
1559 -d
%{_localstatedir}/lib
/ceph \
1567 %tmpfiles_create %{_tmpfilesdir}/ceph
-common.conf
1570 # Package removal cleanup
1571 if [ "$
1"
-eq "
0"
] ; then
1572 rm -rf
%{_localstatedir}/log
/ceph
1573 rm -rf
%{_sysconfdir}/ceph
1578 %{_mandir}/man8
/ceph
-mds
.8*
1579 %{_unitdir}/ceph
-mds@.service
1580 %{_unitdir}/ceph
-mds.target
1581 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mds
1584 %if 0%{?suse_version}
1585 if [ $
1 -eq
1 ] ; then
1586 /usr
/bin
/systemctl preset ceph
-mds@\
*.service ceph
-mds.target
>/dev
/null
2>&1 ||
:
1589 %if 0%{?fedora} || 0%{?rhel}
1590 %systemd_post ceph
-mds@\
*.service ceph
-mds.target
1592 if [ $
1 -eq
1 ] ; then
1593 /usr
/bin
/systemctl start ceph
-mds.target
>/dev
/null
2>&1 ||
:
1597 %if 0%{?suse_version}
1598 %service_del_preun ceph
-mds@\
*.service ceph
-mds.target
1600 %if 0%{?fedora} || 0%{?rhel}
1601 %systemd_preun ceph
-mds@\
*.service ceph
-mds.target
1605 %if 0%{?suse_version}
1606 DISABLE_RESTART_ON_UPDATE
="yes"
1607 %service_del_postun ceph
-mds@\
*.service ceph
-mds.target
1609 %if 0%{?fedora} || 0%{?rhel}
1610 %systemd_postun ceph
-mds@\
*.service ceph
-mds.target
1612 if [ $
1 -ge
1 ] ; then
1613 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1614 # "yes". In any case: if units are not running, do not touch them.
1615 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1616 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1617 source $SYSCONF_CEPH
1619 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1620 /usr
/bin
/systemctl try
-restart ceph
-mds@\
*.service
> /dev
/null
2>&1 ||
:
1626 %dir %{_datadir}/ceph
/mgr
1627 %{_datadir}/ceph
/mgr
/mgr_module.
*
1628 %{_datadir}/ceph
/mgr
/mgr_util.
*
1630 %{_datadir}/ceph
/mgr
/__pycache__
1632 %{_unitdir}/ceph
-mgr@.service
1633 %{_unitdir}/ceph
-mgr.target
1634 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mgr
1637 %if 0%{?suse_version}
1638 if [ $
1 -eq
1 ] ; then
1639 /usr
/bin
/systemctl preset ceph
-mgr@\
*.service ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1642 %if 0%{?fedora} || 0%{?rhel}
1643 %systemd_post ceph
-mgr@\
*.service ceph
-mgr.target
1645 if [ $
1 -eq
1 ] ; then
1646 /usr
/bin
/systemctl start ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1650 %if 0%{?suse_version}
1651 %service_del_preun ceph
-mgr@\
*.service ceph
-mgr.target
1653 %if 0%{?fedora} || 0%{?rhel}
1654 %systemd_preun ceph
-mgr@\
*.service ceph
-mgr.target
1658 %if 0%{?suse_version}
1659 DISABLE_RESTART_ON_UPDATE
="yes"
1660 %service_del_postun ceph
-mgr@\
*.service ceph
-mgr.target
1662 %if 0%{?fedora} || 0%{?rhel}
1663 %systemd_postun ceph
-mgr@\
*.service ceph
-mgr.target
1665 if [ $
1 -ge
1 ] ; then
1666 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1667 # "yes". In any case: if units are not running, do not touch them.
1668 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1669 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1670 source $SYSCONF_CEPH
1672 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1673 /usr
/bin
/systemctl try
-restart ceph
-mgr@\
*.service
> /dev
/null
2>&1 ||
:
1677 %files mgr
-dashboard
1678 %{_datadir}/ceph
/mgr
/dashboard
1681 if [ $
1 -eq
1 ] ; then
1682 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1685 %postun mgr
-dashboard
1686 if [ $
1 -eq
1 ] ; then
1687 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1690 %files mgr
-diskprediction
-local
1691 %{_datadir}/ceph
/mgr
/diskprediction_local
1693 %post mgr
-diskprediction
-local
1694 if [ $
1 -eq
1 ] ; then
1695 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1698 %postun mgr
-diskprediction
-local
1699 if [ $
1 -eq
1 ] ; then
1700 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1703 %files mgr
-diskprediction
-cloud
1704 %{_datadir}/ceph
/mgr
/diskprediction_cloud
1706 %post mgr
-diskprediction
-cloud
1707 if [ $
1 -eq
1 ] ; then
1708 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1711 %postun mgr
-diskprediction
-cloud
1712 if [ $
1 -eq
1 ] ; then
1713 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1716 %files mgr
-modules
-core
1717 %dir %{_datadir}/ceph
/mgr
1718 %{_datadir}/ceph
/mgr
/alerts
1719 %{_datadir}/ceph
/mgr
/balancer
1720 %{_datadir}/ceph
/mgr
/crash
1721 %{_datadir}/ceph
/mgr
/devicehealth
1722 %{_datadir}/ceph
/mgr
/influx
1723 %{_datadir}/ceph
/mgr
/insights
1724 %{_datadir}/ceph
/mgr
/iostat
1725 %{_datadir}/ceph
/mgr
/localpool
1726 %{_datadir}/ceph
/mgr
/orchestrator
1727 %{_datadir}/ceph
/mgr
/osd_perf_query
1728 %{_datadir}/ceph
/mgr
/osd_support
1729 %{_datadir}/ceph
/mgr
/pg_autoscaler
1730 %{_datadir}/ceph
/mgr
/progress
1731 %{_datadir}/ceph
/mgr
/prometheus
1732 %{_datadir}/ceph
/mgr
/rbd_support
1733 %{_datadir}/ceph
/mgr
/restful
1734 %{_datadir}/ceph
/mgr
/selftest
1735 %{_datadir}/ceph
/mgr
/status
1736 %{_datadir}/ceph
/mgr
/telegraf
1737 %{_datadir}/ceph
/mgr
/telemetry
1738 %{_datadir}/ceph
/mgr
/test_orchestrator
1739 %{_datadir}/ceph
/mgr
/volumes
1740 %{_datadir}/ceph
/mgr
/zabbix
1743 %{_datadir}/ceph
/mgr
/rook
1746 if [ $
1 -eq
1 ] ; then
1747 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1751 if [ $
1 -eq
1 ] ; then
1752 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1755 %files mgr
-k8sevents
1756 %{_datadir}/ceph
/mgr
/k8sevents
1759 if [ $
1 -eq
1 ] ; then
1760 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1763 %postun mgr
-k8sevents
1764 if [ $
1 -eq
1 ] ; then
1765 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1769 %{_datadir}/ceph
/mgr
/cephadm
1772 if [ $
1 -eq
1 ] ; then
1773 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1777 if [ $
1 -eq
1 ] ; then
1778 /usr
/bin
/systemctl try
-restart ceph
-mgr.target
>/dev
/null
2>&1 ||
:
1783 %{_bindir}/ceph
-monstore
-tool
1784 %{_mandir}/man8
/ceph
-mon
.8*
1785 %{_unitdir}/ceph
-mon@.service
1786 %{_unitdir}/ceph
-mon.target
1787 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/mon
1790 %if 0%{?suse_version}
1791 if [ $
1 -eq
1 ] ; then
1792 /usr
/bin
/systemctl preset ceph
-mon@\
*.service ceph
-mon.target
>/dev
/null
2>&1 ||
:
1795 %if 0%{?fedora} || 0%{?rhel}
1796 %systemd_post ceph
-mon@\
*.service ceph
-mon.target
1798 if [ $
1 -eq
1 ] ; then
1799 /usr
/bin
/systemctl start ceph
-mon.target
>/dev
/null
2>&1 ||
:
1803 %if 0%{?suse_version}
1804 %service_del_preun ceph
-mon@\
*.service ceph
-mon.target
1806 %if 0%{?fedora} || 0%{?rhel}
1807 %systemd_preun ceph
-mon@\
*.service ceph
-mon.target
1811 %if 0%{?suse_version}
1812 DISABLE_RESTART_ON_UPDATE
="yes"
1813 %service_del_postun ceph
-mon@\
*.service ceph
-mon.target
1815 %if 0%{?fedora} || 0%{?rhel}
1816 %systemd_postun ceph
-mon@\
*.service ceph
-mon.target
1818 if [ $
1 -ge
1 ] ; then
1819 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1820 # "yes". In any case: if units are not running, do not touch them.
1821 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1822 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1823 source $SYSCONF_CEPH
1825 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1826 /usr
/bin
/systemctl try
-restart ceph
-mon@\
*.service
> /dev
/null
2>&1 ||
:
1831 %{_bindir}/ceph
-fuse
1832 %{_mandir}/man8
/ceph
-fuse
.8*
1833 %{_sbindir}/mount.fuse.ceph
1834 %{_unitdir}/ceph
-fuse@.service
1835 %{_unitdir}/ceph
-fuse.target
1839 %{_mandir}/man8
/rbd
-fuse
.8*
1841 %files -n rbd
-mirror
1842 %{_bindir}/rbd
-mirror
1843 %{_mandir}/man8
/rbd
-mirror
.8*
1844 %{_unitdir}/ceph
-rbd
-mirror@.service
1845 %{_unitdir}/ceph
-rbd
-mirror.target
1848 %if 0%{?suse_version}
1849 if [ $
1 -eq
1 ] ; then
1850 /usr
/bin
/systemctl preset ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
>/dev
/null
2>&1 ||
:
1853 %if 0%{?fedora} || 0%{?rhel}
1854 %systemd_post ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1856 if [ $
1 -eq
1 ] ; then
1857 /usr
/bin
/systemctl start ceph
-rbd
-mirror.target
>/dev
/null
2>&1 ||
:
1860 %preun -n rbd
-mirror
1861 %if 0%{?suse_version}
1862 %service_del_preun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1864 %if 0%{?fedora} || 0%{?rhel}
1865 %systemd_preun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1868 %postun -n rbd
-mirror
1869 %if 0%{?suse_version}
1870 DISABLE_RESTART_ON_UPDATE
="yes"
1871 %service_del_postun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1873 %if 0%{?fedora} || 0%{?rhel}
1874 %systemd_postun ceph
-rbd
-mirror@\
*.service ceph
-rbd
-mirror.target
1876 if [ $
1 -ge
1 ] ; then
1877 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1878 # "yes". In any case: if units are not running, do not touch them.
1879 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1880 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1881 source $SYSCONF_CEPH
1883 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1884 /usr
/bin
/systemctl try
-restart ceph
-rbd
-mirror@\
*.service
> /dev
/null
2>&1 ||
:
1888 %files immutable
-object
-cache
1889 %{_bindir}/ceph
-immutable
-object
-cache
1890 %{_mandir}/man8
/ceph
-immutable
-object
-cache
.8*
1891 %{_unitdir}/ceph
-immutable
-object
-cache@.service
1892 %{_unitdir}/ceph
-immutable
-object
-cache.target
1894 %post immutable
-object
-cache
1895 %if 0%{?suse_version}
1896 if [ $
1 -eq
1 ] ; then
1897 /usr
/bin
/systemctl preset ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
>/dev
/null
2>&1 ||
:
1900 %if 0%{?fedora} || 0%{?rhel}
1901 %systemd_post ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1903 if [ $
1 -eq
1 ] ; then
1904 /usr
/bin
/systemctl start ceph
-immutable
-object
-cache.target
>/dev
/null
2>&1 ||
:
1907 %preun immutable
-object
-cache
1908 %if 0%{?suse_version}
1909 %service_del_preun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1911 %if 0%{?fedora} || 0%{?rhel}
1912 %systemd_preun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1915 %postun immutable
-object
-cache
1916 test -n "$FIRST_ARG" || FIRST_ARG
=$
1
1917 %if 0%{?suse_version}
1918 DISABLE_RESTART_ON_UPDATE
="yes"
1919 %service_del_postun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1921 %if 0%{?fedora} || 0%{?rhel}
1922 %systemd_postun ceph
-immutable
-object
-cache@\
*.service ceph
-immutable
-object
-cache.target
1924 if [ $FIRST_ARG
-ge
1 ] ; then
1925 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1926 # "yes". In any case: if units are not running, do not touch them.
1927 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1928 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1929 source $SYSCONF_CEPH
1931 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1932 /usr
/bin
/systemctl try
-restart ceph
-immutable
-object
-cache@\
*.service
> /dev
/null
2>&1 ||
:
1938 %{_mandir}/man8
/rbd
-nbd
.8*
1941 %{_bindir}/ceph
-diff
-sorted
1943 %{_bindir}/radosgw
-token
1944 %{_bindir}/radosgw
-es
1945 %{_bindir}/radosgw
-object
-expirer
1946 %{_bindir}/rgw
-orphan
-list
1947 %{_libdir}/libradosgw.so
*
1948 %{_mandir}/man8
/radosgw
.8*
1949 %dir %{_localstatedir}/lib
/ceph
/radosgw
1950 %{_unitdir}/ceph
-radosgw@.service
1951 %{_unitdir}/ceph
-radosgw.target
1955 %if 0%{?suse_version}
1956 if [ $
1 -eq
1 ] ; then
1957 /usr
/bin
/systemctl preset ceph
-radosgw@\
*.service ceph
-radosgw.target
>/dev
/null
2>&1 ||
:
1960 %if 0%{?fedora} || 0%{?rhel}
1961 %systemd_post ceph
-radosgw@\
*.service ceph
-radosgw.target
1963 if [ $
1 -eq
1 ] ; then
1964 /usr
/bin
/systemctl start ceph
-radosgw.target
>/dev
/null
2>&1 ||
:
1968 %if 0%{?suse_version}
1969 %service_del_preun ceph
-radosgw@\
*.service ceph
-radosgw.target
1971 %if 0%{?fedora} || 0%{?rhel}
1972 %systemd_preun ceph
-radosgw@\
*.service ceph
-radosgw.target
1977 %if 0%{?suse_version}
1978 DISABLE_RESTART_ON_UPDATE
="yes"
1979 %service_del_postun ceph
-radosgw@\
*.service ceph
-radosgw.target
1981 %if 0%{?fedora} || 0%{?rhel}
1982 %systemd_postun ceph
-radosgw@\
*.service ceph
-radosgw.target
1984 if [ $
1 -ge
1 ] ; then
1985 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
1986 # "yes". In any case: if units are not running, do not touch them.
1987 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
1988 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
1989 source $SYSCONF_CEPH
1991 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
1992 /usr
/bin
/systemctl try
-restart ceph
-radosgw@\
*.service
> /dev
/null
2>&1 ||
:
1997 %{_bindir}/ceph
-clsinfo
1998 %{_bindir}/ceph
-bluestore
-tool
1999 %{_bindir}/ceph
-objectstore
-tool
2000 %{_bindir}/ceph
-osdomap
-tool
2002 %{_libexecdir}/ceph
/ceph
-osd
-prestart.sh
2003 %{_sbindir}/ceph
-volume
2004 %{_sbindir}/ceph
-volume
-systemd
2005 %{_mandir}/man8
/ceph
-clsinfo
.8*
2006 %{_mandir}/man8
/ceph
-osd
.8*
2007 %{_mandir}/man8
/ceph
-bluestore
-tool
.8*
2008 %{_mandir}/man8
/ceph
-volume
.8*
2009 %{_mandir}/man8
/ceph
-volume
-systemd
.8*
2010 %{_unitdir}/ceph
-osd@.service
2011 %{_unitdir}/ceph
-osd.target
2012 %{_unitdir}/ceph
-volume@.service
2013 %attr(750,ceph
,ceph
) %dir %{_localstatedir}/lib
/ceph
/osd
2014 %config(noreplace
) %{_sysctldir}/90-ceph
-osd.conf
2015 %{_sysconfdir}/sudoers.d
/ceph
-osd
-smartctl
2018 %if 0%{?suse_version}
2019 if [ $
1 -eq
1 ] ; then
2020 /usr
/bin
/systemctl preset ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
>/dev
/null
2>&1 ||
:
2023 %if 0%{?fedora} || 0%{?rhel}
2024 %systemd_post ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2026 if [ $
1 -eq
1 ] ; then
2027 /usr
/bin
/systemctl start ceph
-osd.target
>/dev
/null
2>&1 ||
:
2029 %if 0%{?sysctl_apply}
2030 %sysctl_apply 90-ceph
-osd.conf
2032 /usr
/lib
/systemd
/systemd
-sysctl
%{_sysctldir}/90-ceph
-osd.conf
> /dev
/null
2>&1 ||
:
2036 %if 0%{?suse_version}
2037 %service_del_preun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2039 %if 0%{?fedora} || 0%{?rhel}
2040 %systemd_preun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2044 %if 0%{?suse_version}
2045 DISABLE_RESTART_ON_UPDATE
="yes"
2046 %service_del_postun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2048 %if 0%{?fedora} || 0%{?rhel}
2049 %systemd_postun ceph
-osd@\
*.service ceph
-volume@\
*.service ceph
-osd.target
2051 if [ $
1 -ge
1 ] ; then
2052 # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
2053 # "yes". In any case: if units are not running, do not touch them.
2054 SYSCONF_CEPH
=%{_sysconfdir}/sysconfig
/ceph
2055 if [ -f $SYSCONF_CEPH
-a
-r $SYSCONF_CEPH
] ; then
2056 source $SYSCONF_CEPH
2058 if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE"
= "Xyes"
] ; then
2059 /usr
/bin
/systemctl try
-restart ceph
-osd@\
*.service ceph
-volume@\
*.service
> /dev
/null
2>&1 ||
:
2063 %if 0%{with seastar}
2065 %{_bindir}/crimson
-osd
2070 %files resource
-agents
2071 %dir %{_prefix}/lib
/ocf
2072 %dir %{_prefix}/lib
/ocf
/resource.d
2073 %dir %{_prefix}/lib
/ocf
/resource.d
/ceph
2074 %attr(0755,-,-) %{_prefix}/lib
/ocf
/resource.d
/ceph
/rbd
2079 %{_libdir}/librados.so.
*
2080 %dir %{_libdir}/ceph
2081 %{_libdir}/ceph
/libceph
-common.so.
*
2083 %{_libdir}/librados_tp.so.
*
2085 %dir %{_sysconfdir}/ceph
2087 %post -n librados2
-p
/sbin
/ldconfig
2089 %postun -n librados2
-p
/sbin
/ldconfig
2091 %files -n librados
-devel
2092 %dir %{_includedir}/rados
2093 %{_includedir}/rados
/librados.h
2094 %{_includedir}/rados
/rados_types.h
2095 %{_libdir}/librados.so
2097 %{_libdir}/librados_tp.so
2099 %{_bindir}/librados
-config
2100 %{_mandir}/man8
/librados
-config
.8*
2102 %files -n libradospp
-devel
2103 %dir %{_includedir}/rados
2104 %{_includedir}/rados
/buffer.h
2105 %{_includedir}/rados
/buffer_fwd.h
2106 %{_includedir}/rados
/crc32c.h
2107 %{_includedir}/rados
/inline_memory.h
2108 %{_includedir}/rados
/librados.hpp
2109 %{_includedir}/rados
/librados_fwd.hpp
2110 %{_includedir}/rados
/page.h
2111 %{_includedir}/rados
/rados_types.hpp
2113 %files -n python
%{python3_pkgversion}-rados
2114 %{python3_sitearch}/rados.cpython
*.so
2115 %{python3_sitearch}/rados
-*.egg
-info
2117 %if 0%{with libradosstriper}
2118 %files -n libradosstriper1
2119 %{_libdir}/libradosstriper.so.
*
2121 %post -n libradosstriper1
-p
/sbin
/ldconfig
2123 %postun -n libradosstriper1
-p
/sbin
/ldconfig
2125 %files -n libradosstriper
-devel
2126 %dir %{_includedir}/radosstriper
2127 %{_includedir}/radosstriper
/libradosstriper.h
2128 %{_includedir}/radosstriper
/libradosstriper.hpp
2129 %{_libdir}/libradosstriper.so
2133 %{_libdir}/librbd.so.
*
2135 %{_libdir}/librbd_tp.so.
*
2138 %post -n librbd1
-p
/sbin
/ldconfig
2140 %postun -n librbd1
-p
/sbin
/ldconfig
2142 %files -n librbd
-devel
2143 %dir %{_includedir}/rbd
2144 %{_includedir}/rbd
/librbd.h
2145 %{_includedir}/rbd
/librbd.hpp
2146 %{_includedir}/rbd
/features.h
2147 %{_libdir}/librbd.so
2149 %{_libdir}/librbd_tp.so
2153 %{_libdir}/librgw.so.
*
2155 %{_libdir}/librgw_op_tp.so.
*
2156 %{_libdir}/librgw_rados_tp.so.
*
2159 %post -n librgw2
-p
/sbin
/ldconfig
2161 %postun -n librgw2
-p
/sbin
/ldconfig
2163 %files -n librgw
-devel
2164 %dir %{_includedir}/rados
2165 %{_includedir}/rados
/librgw.h
2166 %{_includedir}/rados
/rgw_file.h
2167 %{_libdir}/librgw.so
2169 %{_libdir}/librgw_op_tp.so
2170 %{_libdir}/librgw_rados_tp.so
2173 %files -n python
%{python3_pkgversion}-rgw
2174 %{python3_sitearch}/rgw.cpython
*.so
2175 %{python3_sitearch}/rgw
-*.egg
-info
2177 %files -n python
%{python3_pkgversion}-rbd
2178 %{python3_sitearch}/rbd.cpython
*.so
2179 %{python3_sitearch}/rbd
-*.egg
-info
2181 %files -n libcephfs2
2182 %{_libdir}/libcephfs.so.
*
2183 %dir %{_sysconfdir}/ceph
2185 %post -n libcephfs2
-p
/sbin
/ldconfig
2187 %postun -n libcephfs2
-p
/sbin
/ldconfig
2189 %files -n libcephfs
-devel
2190 %dir %{_includedir}/cephfs
2191 %{_includedir}/cephfs
/libcephfs.h
2192 %{_includedir}/cephfs
/ceph_ll_client.h
2193 %{_libdir}/libcephfs.so
2195 %files -n python
%{python3_pkgversion}-cephfs
2196 %{python3_sitearch}/cephfs.cpython
*.so
2197 %{python3_sitearch}/cephfs
-*.egg
-info
2198 %{python3_sitelib}/ceph_volume_client.py
2199 %{python3_sitelib}/__pycache__
/ceph_volume_client.cpython
*.py
*
2201 %files -n python
%{python3_pkgversion}-ceph
-argparse
2202 %{python3_sitelib}/ceph_argparse.py
2203 %{python3_sitelib}/__pycache__
/ceph_argparse.cpython
*.py
*
2204 %{python3_sitelib}/ceph_daemon.py
2205 %{python3_sitelib}/__pycache__
/ceph_daemon.cpython
*.py
*
2207 %files -n python
%{python3_pkgversion}-ceph
-common
2208 %{python3_sitelib}/ceph
2209 %{python3_sitelib}/ceph
-*.egg
-info
2211 %if 0%{with cephfs_shell}
2212 %files -n cephfs
-shell
2213 %{python3_sitelib}/cephfs_shell
-*.egg
-info
2214 %{_bindir}/cephfs
-shell
2217 %if 0%{with ceph_test_package}
2219 %{_bindir}/ceph
-client
-debug
2220 %{_bindir}/ceph_bench_log
2221 %{_bindir}/ceph_kvstorebench
2222 %{_bindir}/ceph_multi_stress_watch
2223 %{_bindir}/ceph_erasure_code
2224 %{_bindir}/ceph_erasure_code_benchmark
2225 %{_bindir}/ceph_omapbench
2226 %{_bindir}/ceph_objectstore_bench
2227 %{_bindir}/ceph_perf_objectstore
2228 %{_bindir}/ceph_perf_local
2229 %{_bindir}/ceph_perf_msgr_client
2230 %{_bindir}/ceph_perf_msgr_server
2231 %{_bindir}/ceph_psim
2232 %{_bindir}/ceph_radosacl
2233 %{_bindir}/ceph_rgw_jsonparser
2234 %{_bindir}/ceph_rgw_multiparser
2235 %{_bindir}/ceph_scratchtool
2236 %{_bindir}/ceph_scratchtoolpp
2237 %{_bindir}/ceph_test_
*
2238 %{_bindir}/ceph
-coverage
2239 %{_bindir}/ceph
-debugpack
2240 %{_bindir}/ceph
-dedup
-tool
2241 %{_mandir}/man8
/ceph
-debugpack
.8*
2242 %dir %{_libdir}/ceph
2243 %{_libdir}/ceph
/ceph
-monstore
-update
-crush.sh
2246 %if 0%{with cephfs_java}
2247 %files -n libcephfs_jni1
2248 %{_libdir}/libcephfs_jni.so.
*
2250 %post -n libcephfs_jni1
-p
/sbin
/ldconfig
2252 %postun -n libcephfs_jni1
-p
/sbin
/ldconfig
2254 %files -n libcephfs_jni
-devel
2255 %{_libdir}/libcephfs_jni.so
2257 %files -n cephfs
-java
2258 %{_javadir}/libcephfs.jar
2259 %{_javadir}/libcephfs
-test.jar
2262 %files -n rados
-objclass
-devel
2263 %dir %{_includedir}/rados
2264 %{_includedir}/rados
/objclass.h
2266 %if 0%{with selinux}
2268 %attr(0600,root
,root
) %{_datadir}/selinux
/packages
/ceph.pp
2269 %{_datadir}/selinux
/devel
/include
/contrib
/ceph.
if
2270 %{_mandir}/man8
/ceph_selinux
.8*
2273 # backup file_contexts before update
2274 .
/etc
/selinux
/config
2275 FILE_CONTEXT
=/etc
/selinux
/$
{SELINUXTYPE
}/contexts
/files
/file_contexts
2276 cp $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
2278 # Install the policy
2279 /usr
/sbin
/semodule
-i
%{_datadir}/selinux
/packages
/ceph.pp
2281 # Load the policy if SELinux is enabled
2282 if ! /usr
/sbin
/selinuxenabled
; then
2283 # Do not relabel if selinux is not enabled
2287 if diff $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
> /dev
/null
2>&1; then
2288 # Do not relabel if file contexts did not change
2292 # Check whether the daemons are running
2293 /usr
/bin
/systemctl status ceph.target
> /dev
/null
2>&1
2296 # Stop the daemons if they were running
2297 if test $STATUS
-eq
0; then
2298 /usr
/bin
/systemctl stop ceph.target
> /dev
/null
2>&1
2301 # Relabel the files fix for first package install
2302 /usr
/sbin
/fixfiles
-C $
{FILE_CONTEXT
}.pre restore
2> /dev
/null
2304 rm -f $
{FILE_CONTEXT
}.pre
2305 # The fixfiles command won't fix label for /var/run/ceph
2306 /usr
/sbin
/restorecon
-R
/var
/run
/ceph
> /dev
/null
2>&1
2308 # Start the daemons iff they were running before
2309 if test $STATUS
-eq
0; then
2310 /usr
/bin
/systemctl start ceph.target
> /dev
/null
2>&1 ||
:
2315 if [ $
1 -eq
0 ]; then
2316 # backup file_contexts before update
2317 .
/etc
/selinux
/config
2318 FILE_CONTEXT
=/etc
/selinux
/$
{SELINUXTYPE
}/contexts
/files
/file_contexts
2319 cp $
{FILE_CONTEXT
} $
{FILE_CONTEXT
}.pre
2322 /usr
/sbin
/semodule
-n
-r ceph
> /dev
/null
2>&1
2324 # Reload the policy if SELinux is enabled
2325 if ! /usr
/sbin
/selinuxenabled
; then
2326 # Do not relabel if SELinux is not enabled
2330 # Check whether the daemons are running
2331 /usr
/bin
/systemctl status ceph.target
> /dev
/null
2>&1
2334 # Stop the daemons if they were running
2335 if test $STATUS
-eq
0; then
2336 /usr
/bin
/systemctl stop ceph.target
> /dev
/null
2>&1
2339 /usr
/sbin
/fixfiles
-C $
{FILE_CONTEXT
}.pre restore
2> /dev
/null
2340 rm -f $
{FILE_CONTEXT
}.pre
2341 # The fixfiles command won't fix label for /var/run/ceph
2342 /usr
/sbin
/restorecon
-R
/var
/run
/ceph
> /dev
/null
2>&1
2344 # Start the daemons if they were running before
2345 if test $STATUS
-eq
0; then
2346 /usr
/bin
/systemctl start ceph.target
> /dev
/null
2>&1 ||
:
2352 %files grafana
-dashboards
2353 %if 0%{?suse_version}
2354 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
2355 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
/dashboards
2357 %attr(0755,root
,root
) %dir %{_sysconfdir}/grafana
/dashboards
/ceph
-dashboard
2358 %config %{_sysconfdir}/grafana
/dashboards
/ceph
-dashboard
/*
2359 %doc monitoring
/grafana
/dashboards
/README
2360 %doc monitoring
/grafana
/README.md
2362 %files prometheus
-alerts
2363 %if 0%{?suse_version}
2364 %attr(0755,root
,root
) %dir %{_sysconfdir}/prometheus
2366 %attr(0755,root
,root
) %dir %{_sysconfdir}/prometheus
/ceph
2367 %config %{_sysconfdir}/prometheus
/ceph
/ceph_default_alerts.yml