Accepting request 867395 from filesystems:ceph:pacific

16.1.0

OBS-URL: https://build.opensuse.org/request/show/867395
OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=283
This commit is contained in:
Nathan Cutler 2021-01-28 08:39:34 +00:00 committed by Git OBS Bridge
parent 7271b3b022
commit 87db6fda90
6 changed files with 361 additions and 133 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0e395be677242cb0142e5ddaf5463ff0a33d2818b0f2c450d9839d0e813bc78e
size 123870645

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9aa545e12fc519388fa267c20beee29eb892611d21a6af1b4bea15a8a9df3f8
size 126371021

View File

@ -1,3 +1,61 @@
-------------------------------------------------------------------
Wed Jan 27 15:17:14 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Update to 16.1.0-46-g571704f730
+ rebase on top of upstream v16.1.0 (Pacific release candidate)
+ drop obsolete downstream patches that were causing conflicts:
* cephadm: use registry.suse.com by default
* cephadm: add global flag --container-init
* mgr/cephadm: append --container-init to basecommand
* cephadm: remove container-init subparser from "deploy"
-------------------------------------------------------------------
Wed Nov 25 16:52:05 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-7500-g78f6791981:
+ cephadm: add global flag --container-init
+ mgr/cephadm: append --container-init to basecommand
+ cephadm: remove container-init subparser from "deploy"
-------------------------------------------------------------------
Mon Nov 23 17:12:00 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-7497-g63a0682c7e:
+ rebase on tip of upstream "master" branch, SHA1 8c6b533ee85e7fe2cd19e5dbb6f0363898f5a2ee
-------------------------------------------------------------------
Thu Oct 8 18:11:31 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-6239-g0c2e605e78:
+ rebase on tip of upstream "master" branch, SHA1 6d1f1f63b711797e21ff8ff12662d07d86546e66
* cephadm: Fix error setting 'mgr/cephadm/container_init' config (PR #37500)
-------------------------------------------------------------------
Thu Oct 8 10:36:10 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-6229-g71574673b0:
+ rebase on tip of upstream "master" branch, SHA1 f68197eca4b4dceef9fbf497d640b4600663d3ed
* ceph-volume: don't exit before empty report can be printed (PR #37591)
-------------------------------------------------------------------
Mon Oct 5 13:57:45 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-6177-g01e4ab745b:
+ rebase on tip of upstream "master" branch, SHA1 f8ea1f38aee3d8715186a756331a23d4b51121f2
* ceph-volume: pass filter_for_batch as keyword argument (PR #37545)
-------------------------------------------------------------------
Sun Oct 4 16:16:52 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-6162-g892bfa3fef:
+ drop the following commits:
+ lvmcache: refactor argument parsing and add -h flag
+ ceph-volume: install lvmcache plugin
+ ceph-volume: add lvmcache plugin and its tests
+ rebase on tip of upstream "master" branch, SHA1 0a92d5094fc0baae3af223aa16b271d2e5e6f349
+ mgr/devicehealth: device_health_metrics pool gets created even without
any OSDs in the cluster (bsc#1173079)
-------------------------------------------------------------------
Fri Sep 18 09:58:45 UTC 2020 - Nathan Cutler <ncutler@suse.com>

View File

@ -21,6 +21,7 @@
# bcond syntax!
#################################################################################
%bcond_with make_check
%bcond_with zbd
%bcond_with cmake_verbose_logging
%bcond_without ceph_test_package
%bcond_with minimal_debugging_information
@ -61,6 +62,7 @@
%endif
%endif
%bcond_with seastar
%bcond_with jaeger
%if 0%{?fedora} || 0%{?suse_version} >= 1500
# distros that ship cmd2 and/or colorama
%bcond_without cephfs_shell
@ -81,6 +83,19 @@
%endif
%endif
%if 0%{?suse_version}
%if !0%{?is_opensuse}
# SLE does not support luarocks
%bcond_with lua_packages
%else
%global luarocks_package_name lua53-luarocks
%bcond_without lua_packages
%endif
%else
%global luarocks_package_name luarocks
%bcond_without lua_packages
%endif
%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
%{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
%{!?python3_pkgversion: %global python3_pkgversion 3}
@ -94,7 +109,7 @@
# main package definition
#################################################################################
Name: ceph-test
Version: 16.0.0.5613+gb1a0951432
Version: 16.1.0.46+g571704f730
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -110,7 +125,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-
Group: System/Filesystems
%endif
URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-16.0.0-5613-gb1a0951432.tar.bz2
Source0: %{?_remote_tarball_prefix}ceph-16.1.0-46-g571704f730.tar.bz2
%if 0%{?suse_version}
Source96: checkin.sh
Source97: README-checkin.txt
@ -160,8 +175,10 @@ BuildRequires: gperftools-devel >= 2.4
BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel
BuildRequires: libblkid-devel >= 2.17
BuildRequires: cryptsetup-devel
BuildRequires: libcurl-devel
BuildRequires: libcap-ng-devel
BuildRequires: fmt-devel >= 5.2.1
BuildRequires: pkgconfig(libudev)
BuildRequires: libnl3-devel
BuildRequires: liboath-devel
@ -185,13 +202,17 @@ BuildRequires: which
BuildRequires: xfsprogs
BuildRequires: xfsprogs-devel
BuildRequires: xmlstarlet
BuildRequires: yasm
BuildRequires: nasm
BuildRequires: lua-devel
%if 0%{with amqp_endpoint}
BuildRequires: librabbitmq-devel
%endif
%if 0%{with kafka_endpoint}
BuildRequires: librdkafka-devel
%endif
%if 0%{with lua_packages}
BuildRequires: %{luarocks_package_name}
%endif
%if 0%{with make_check}
BuildRequires: jq
BuildRequires: libuuid-devel
@ -205,6 +226,21 @@ BuildRequires: python%{python3_pkgversion}-coverage
BuildRequires: python%{python3_pkgversion}-pyOpenSSL
BuildRequires: socat
%endif
%if 0%{with zbd}
BuildRequires: libzbd-devel
%endif
%if 0%{with jaeger}
BuildRequires: bison
BuildRequires: flex
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: json-devel
%endif
%if 0%{?suse_version}
BuildRequires: nlohmann_json-devel
%endif
BuildRequires: libevent-devel
BuildRequires: yaml-cpp-devel
%endif
%if 0%{with seastar}
BuildRequires: c-ares-devel
BuildRequires: gnutls-devel
@ -215,19 +251,18 @@ BuildRequires: protobuf-devel
BuildRequires: ragel
BuildRequires: systemtap-sdt-devel
BuildRequires: yaml-cpp-devel
%if 0%{?fedora} || 0%{?rhel} >= 8
BuildRequires: fmt-devel
%if 0%{?fedora}
BuildRequires: libubsan
BuildRequires: libasan
BuildRequires: libatomic
%if 0%{with seastar}
%endif
%if 0%{?rhel}
BuildRequires: gcc-toolset-9-annobin
BuildRequires: gcc-toolset-9-libubsan-devel
BuildRequires: gcc-toolset-9-libasan-devel
BuildRequires: gcc-toolset-9-libatomic-devel
%endif
%endif
%endif
#################################################################################
# distro-conditional dependencies
#################################################################################
@ -358,14 +393,12 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?weak_deps}
%endif
%if 0%{?suse_version}
%endif
%if ! 0%{?suse_version}
%if 0%{?weak_deps}
%endif
%endif
%if 0%{?suse_version}
%endif
%if 0%{with jaeger}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
@ -378,6 +411,12 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%endif
%if 0%{?weak_deps}
%if 0%{?suse_version}
%endif
%endif
%if 0%{with jaeger}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?weak_deps}
@ -436,6 +475,10 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%endif
%if 0%{?weak_deps}
%if 0%{?suse_version}
%endif
%endif
%if 0%{with seastar}
%if 0%{?suse_version}
%endif
@ -478,6 +521,10 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%endif
%if 0%{with jaeger}
%if 0%{?suse_version}
%endif
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
@ -511,14 +558,14 @@ This package contains Ceph benchmarks and test tools.
%if 0%{?suse_version}
%endif
%prep
%autosetup -p1 -n ceph-16.0.0-5613-gb1a0951432
%autosetup -p1 -n ceph-16.1.0-46-g571704f730
%build
# LTO can be enabled as soon as the following GCC bug is fixed:
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200
%define _lto_cflags %{nil}
%if 0%{with seastar}
%if 0%{with seastar} && 0%{?rhel}
. /opt/rh/gcc-toolset-9/enable
%endif
@ -608,11 +655,6 @@ ${CMAKE} .. \
%if 0%{with ocf}
-DWITH_OCF=ON \
%endif
%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 s390x
-DWITH_BOOST_CONTEXT=ON \
%else
-DWITH_BOOST_CONTEXT=OFF \
%endif
%if 0%{with cephfs_shell}
-DWITH_CEPHFS_SHELL=ON \
%endif
@ -631,6 +673,12 @@ ${CMAKE} .. \
%else
-DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \
%endif
%if 0%{without lua_packages}
-DWITH_RADOSGW_LUA_PACKAGES=OFF
%endif
%if 0%{with zbd}
-DWITH_ZBD=ON \
%endif
%if 0%{with cmake_verbose_logging}
-DCMAKE_VERBOSE_MAKEFILE=ON \
%endif
@ -699,7 +747,7 @@ ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph
install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules
# sudoers.d
install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl
install -m 0440 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl
%if 0%{?rhel} >= 8
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/*
@ -765,8 +813,6 @@ rm -rf %{buildroot}%{_fillupdir}/sysconfig.*
rm -rf %{buildroot}%{_unitdir}/ceph.target
rm -rf %{buildroot}%{python3_sitelib}/ceph_volume/*
rm -rf %{buildroot}%{python3_sitelib}/ceph_volume-*
rm -rf %{buildroot}%{python3_sitelib}/ceph_lvm*
rm -rf %{buildroot}%{python3_sitelib}/ceph_volume_lvm*
rm -rf %{buildroot}%{_mandir}/man8/ceph-deploy.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-create-keys.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-run.8*
@ -854,6 +900,7 @@ rm -rf %{buildroot}%{_datadir}/ceph/mgr/rbd_support
rm -rf %{buildroot}%{_datadir}/ceph/mgr/restful
rm -rf %{buildroot}%{_datadir}/ceph/mgr/selftest
rm -rf %{buildroot}%{_datadir}/ceph/mgr/snap_schedule
rm -rf %{buildroot}%{_datadir}/ceph/mgr/stats
rm -rf %{buildroot}%{_datadir}/ceph/mgr/status
rm -rf %{buildroot}%{_datadir}/ceph/mgr/telegraf
rm -rf %{buildroot}%{_datadir}/ceph/mgr/telemetry
@ -871,9 +918,13 @@ rm -rf %{buildroot}%{_unitdir}/ceph-mon.target
rm -rf %{buildroot}%{_bindir}/ceph-fuse
rm -rf %{buildroot}%{_mandir}/man8/ceph-fuse.8*
rm -rf %{buildroot}%{_sbindir}/mount.fuse.ceph
rm -rf %{buildroot}%{_mandir}/man8/mount.fuse.ceph.8*
rm -rf %{buildroot}%{_unitdir}/ceph-fuse@.service
rm -rf %{buildroot}%{_unitdir}/ceph-fuse.target
rm -rf %{buildroot}%{_bindir}/cephfs-mirror
rm -rf %{buildroot}%{_mandir}/man8/cephfs-mirror.8*
rm -rf %{buildroot}%{_unitdir}/cephfs-mirror@.service
rm -rf %{buildroot}%{_unitdir}/cephfs-mirror.target
rm -rf %{buildroot}%{_bindir}/rbd-fuse
rm -rf %{buildroot}%{_mandir}/man8/rbd-fuse.8*
rm -rf %{buildroot}%{_bindir}/rbd-mirror
@ -966,6 +1017,9 @@ rm -rf %{buildroot}%{_includedir}/cephfs/libcephfs.h
rm -rf %{buildroot}%{_includedir}/cephfs/ceph_ll_client.h
rm -rf %{buildroot}%{_includedir}/cephfs/metrics/Types.h
rm -rf %{buildroot}%{_libdir}/libcephfs.so
rm -rf %{buildroot}%{_libdir}/libopentracing.so.*
rm -rf %{buildroot}%{_libdir}/libthrift.so.*
rm -rf %{buildroot}%{_libdir}/libjaegertracing.so.*
rm -rf %{buildroot}%{python3_sitearch}/cephfs.cpython*.so
rm -rf %{buildroot}%{python3_sitearch}/cephfs-*.egg-info
rm -rf %{buildroot}%{python3_sitelib}/ceph_volume_client.py
@ -978,6 +1032,9 @@ rm -rf %{buildroot}%{python3_sitelib}/ceph
rm -rf %{buildroot}%{python3_sitelib}/ceph-*.egg-info
rm -rf %{buildroot}%{python3_sitelib}/cephfs_shell-*.egg-info
rm -rf %{buildroot}%{_bindir}/cephfs-shell
rm -rf %{buildroot}%{python3_sitelib}/cephfs_top-*.egg-info
rm -rf %{buildroot}%{_bindir}/cephfs-top
rm -rf %{buildroot}%{_mandir}/man8/cephfs-top.8*
rm -rf %{buildroot}%{_libdir}/libcephfs_jni.so.*
rm -rf %{buildroot}%{_libdir}/libcephfs_jni.so
rm -rf %{buildroot}%{_javadir}/libcephfs.jar
@ -1023,10 +1080,6 @@ rm -rf %{buildroot}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if ! 0%{?suse_version}
%endif
%if 0%{?suse_version}
@ -1097,32 +1150,12 @@ rm -rf %{buildroot}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?sysctl_apply}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{with seastar}
%endif
%if %{with ocf}
@ -1141,6 +1174,8 @@ rm -rf %{buildroot}
%endif
%if %{with lttng}
%endif
%if %{with jaeger}
%endif
%if 0%{with cephfs_shell}
%endif
%if 0%{with ceph_test_package}
@ -1166,6 +1201,9 @@ rm -rf %{buildroot}
%{_bindir}/ceph-coverage
%{_bindir}/ceph-debugpack
%{_bindir}/ceph-dedup-tool
%if 0%{with seastar}
%{_bindir}/crimson-store-nbd
%endif
%{_mandir}/man8/ceph-debugpack.8*
%dir %{_libdir}/ceph
%{_libdir}/ceph/ceph-monstore-update-crush.sh

View File

@ -1,3 +1,61 @@
-------------------------------------------------------------------
Wed Jan 27 15:17:14 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Update to 16.1.0-46-g571704f730
+ rebase on top of upstream v16.1.0 (Pacific release candidate)
+ drop obsolete downstream patches that were causing conflicts:
* cephadm: use registry.suse.com by default
* cephadm: add global flag --container-init
* mgr/cephadm: append --container-init to basecommand
* cephadm: remove container-init subparser from "deploy"
-------------------------------------------------------------------
Wed Nov 25 16:52:05 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-7500-g78f6791981:
+ cephadm: add global flag --container-init
+ mgr/cephadm: append --container-init to basecommand
+ cephadm: remove container-init subparser from "deploy"
-------------------------------------------------------------------
Mon Nov 23 17:12:00 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-7497-g63a0682c7e:
+ rebase on tip of upstream "master" branch, SHA1 8c6b533ee85e7fe2cd19e5dbb6f0363898f5a2ee
-------------------------------------------------------------------
Thu Oct 8 18:11:31 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-6239-g0c2e605e78:
+ rebase on tip of upstream "master" branch, SHA1 6d1f1f63b711797e21ff8ff12662d07d86546e66
* cephadm: Fix error setting 'mgr/cephadm/container_init' config (PR #37500)
-------------------------------------------------------------------
Thu Oct 8 10:36:10 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-6229-g71574673b0:
+ rebase on tip of upstream "master" branch, SHA1 f68197eca4b4dceef9fbf497d640b4600663d3ed
* ceph-volume: don't exit before empty report can be printed (PR #37591)
-------------------------------------------------------------------
Mon Oct 5 13:57:45 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-6177-g01e4ab745b:
+ rebase on tip of upstream "master" branch, SHA1 f8ea1f38aee3d8715186a756331a23d4b51121f2
* ceph-volume: pass filter_for_batch as keyword argument (PR #37545)
-------------------------------------------------------------------
Sun Oct 4 16:16:52 UTC 2020 - Nathan Cutler <ncutler@suse.com>
- Update to 16.0.0-6162-g892bfa3fef:
+ drop the following commits:
+ lvmcache: refactor argument parsing and add -h flag
+ ceph-volume: install lvmcache plugin
+ ceph-volume: add lvmcache plugin and its tests
+ rebase on tip of upstream "master" branch, SHA1 0a92d5094fc0baae3af223aa16b271d2e5e6f349
+ mgr/devicehealth: device_health_metrics pool gets created even without
any OSDs in the cluster (bsc#1173079)
-------------------------------------------------------------------
Fri Sep 18 09:58:45 UTC 2020 - Nathan Cutler <ncutler@suse.com>

244
ceph.spec
View File

@ -21,6 +21,7 @@
# bcond syntax!
#################################################################################
%bcond_with make_check
%bcond_with zbd
%bcond_with cmake_verbose_logging
%bcond_with ceph_test_package
%bcond_with minimal_debugging_information
@ -61,6 +62,7 @@
%endif
%endif
%bcond_with seastar
%bcond_with jaeger
%if 0%{?fedora} || 0%{?suse_version} >= 1500
# distros that ship cmd2 and/or colorama
%bcond_without cephfs_shell
@ -81,6 +83,19 @@
%endif
%endif
%if 0%{?suse_version}
%if !0%{?is_opensuse}
# SLE does not support luarocks
%bcond_with lua_packages
%else
%global luarocks_package_name lua53-luarocks
%bcond_without lua_packages
%endif
%else
%global luarocks_package_name luarocks
%bcond_without lua_packages
%endif
%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
%{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
%{!?python3_pkgversion: %global python3_pkgversion 3}
@ -94,7 +109,7 @@
# main package definition
#################################################################################
Name: ceph
Version: 16.0.0.5613+gb1a0951432
Version: 16.1.0.46+g571704f730
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -110,7 +125,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-
Group: System/Filesystems
%endif
URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-16.0.0-5613-gb1a0951432.tar.bz2
Source0: %{?_remote_tarball_prefix}ceph-16.1.0-46-g571704f730.tar.bz2
%if 0%{?suse_version}
# _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x
@ -152,8 +167,10 @@ BuildRequires: gperftools-devel >= 2.4
BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel
BuildRequires: libblkid-devel >= 2.17
BuildRequires: cryptsetup-devel
BuildRequires: libcurl-devel
BuildRequires: libcap-ng-devel
BuildRequires: fmt-devel >= 5.2.1
BuildRequires: pkgconfig(libudev)
BuildRequires: libnl3-devel
BuildRequires: liboath-devel
@ -177,13 +194,17 @@ BuildRequires: which
BuildRequires: xfsprogs
BuildRequires: xfsprogs-devel
BuildRequires: xmlstarlet
BuildRequires: yasm
BuildRequires: nasm
BuildRequires: lua-devel
%if 0%{with amqp_endpoint}
BuildRequires: librabbitmq-devel
%endif
%if 0%{with kafka_endpoint}
BuildRequires: librdkafka-devel
%endif
%if 0%{with lua_packages}
BuildRequires: %{luarocks_package_name}
%endif
%if 0%{with make_check}
BuildRequires: jq
BuildRequires: libuuid-devel
@ -197,6 +218,21 @@ BuildRequires: python%{python3_pkgversion}-coverage
BuildRequires: python%{python3_pkgversion}-pyOpenSSL
BuildRequires: socat
%endif
%if 0%{with zbd}
BuildRequires: libzbd-devel
%endif
%if 0%{with jaeger}
BuildRequires: bison
BuildRequires: flex
%if 0%{?fedora} || 0%{?rhel}
BuildRequires: json-devel
%endif
%if 0%{?suse_version}
BuildRequires: nlohmann_json-devel
%endif
BuildRequires: libevent-devel
BuildRequires: yaml-cpp-devel
%endif
%if 0%{with seastar}
BuildRequires: c-ares-devel
BuildRequires: gnutls-devel
@ -207,19 +243,18 @@ BuildRequires: protobuf-devel
BuildRequires: ragel
BuildRequires: systemtap-sdt-devel
BuildRequires: yaml-cpp-devel
%if 0%{?fedora} || 0%{?rhel} >= 8
BuildRequires: fmt-devel
%if 0%{?fedora}
BuildRequires: libubsan
BuildRequires: libasan
BuildRequires: libatomic
%if 0%{with seastar}
%endif
%if 0%{?rhel}
BuildRequires: gcc-toolset-9-annobin
BuildRequires: gcc-toolset-9-libubsan-devel
BuildRequires: gcc-toolset-9-libasan-devel
BuildRequires: gcc-toolset-9-libatomic-devel
%endif
%endif
%endif
#################################################################################
# distro-conditional dependencies
#################################################################################
@ -382,17 +417,12 @@ Base is the package that includes all the files shared amongst ceph servers
%package -n cephadm
Summary: Utility to bootstrap Ceph clusters
BuildArch: noarch
Requires: lvm2
%if 0%{?suse_version}
Requires: apparmor-abstractions
Requires: podman
%endif
Requires: python%{python3_pkgversion}
%if ! 0%{?suse_version}
%if 0%{?weak_deps}
Recommends: podman
%endif
%endif
%description -n cephadm
Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed
with systemd and podman.
@ -411,6 +441,9 @@ Requires: python%{python3_pkgversion}-cephfs = %{_epoch_prefix}%{version}-%{rele
Requires: python%{python3_pkgversion}-rgw = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
%if 0%{with jaeger}
Requires: libjaeger = %{_epoch_prefix}%{version}-%{release}
%endif
%if 0%{?fedora} || 0%{?rhel}
Requires: python%{python3_pkgversion}-prettytable
%endif
@ -449,6 +482,17 @@ Group: System/Filesystems
%endif
Provides: ceph-test:/usr/bin/ceph-monstore-tool
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
%if 0%{?weak_deps}
Recommends: nvme-cli
%if 0%{?suse_version}
Requires: smartmontools
%else
Recommends: smartmontools
%endif
%endif
%if 0%{with jaeger}
Requires: libjaeger = %{_epoch_prefix}%{version}-%{release}
%endif
%description mon
ceph-mon is the cluster monitor daemon for the Ceph distributed file
system. One or more instances of ceph-mon form a Paxos part-time
@ -678,6 +722,14 @@ storage system. This package provides a REST gateway to the
object store that aims to implement a superset of Amazon's S3
service as well as the OpenStack Object Storage ("Swift") API.
%package -n cephfs-top
Summary: top(1) like utility for Ceph Filesystem
BuildArch: noarch
Requires: python%{python3_pkgversion}-rados
%description -n cephfs-top
This package provides a top(1) like utility to display Ceph Filesystem metrics
in realtime.
%if %{with ocf}
%package resource-agents
Summary: OCF-compliant resource agents for Ceph daemons
@ -703,6 +755,14 @@ Requires: lvm2
Requires: sudo
Requires: libstoragemgmt
Requires: python%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release}
%if 0%{?weak_deps}
Recommends: nvme-cli
%if 0%{?suse_version}
Requires: smartmontools
%else
Recommends: smartmontools
%endif
%endif
%description osd
ceph-osd is the object storage daemon for the Ceph distributed file
system. It is responsible for storing objects on a local file system
@ -793,7 +853,7 @@ Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{relea
Provides: python-rgw = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rgw < %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-rgw
This package contains Python 3 libraries for interacting with Cephs RADOS
This package contains Python 3 libraries for interacting with Ceph RADOS
gateway.
%package -n python%{python3_pkgversion}-rados
@ -807,7 +867,7 @@ Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
Provides: python-rados = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-rados
This package contains Python 3 libraries for interacting with Cephs RADOS
This package contains Python 3 libraries for interacting with Ceph RADOS
object store.
%if 0%{with libradosstriper}
@ -882,7 +942,7 @@ Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{relea
Provides: python-rbd = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rbd < %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-rbd
This package contains Python 3 libraries for interacting with Cephs RADOS
This package contains Python 3 libraries for interacting with Ceph RADOS
block device.
%package -n libcephfs2
@ -913,7 +973,21 @@ Provides: libcephfs2-devel = %{_epoch_prefix}%{version}-%{release}
Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release}
%description -n libcephfs-devel
This package contains libraries and headers needed to develop programs
that use Cephs distributed file system.
that use Ceph distributed file system.
%if 0%{with jaeger}
%package -n libjaeger
Summary: Ceph distributed file system tracing library
%if 0%{?suse_version}
Group: System/Libraries
%endif
Provides: libjaegertracing.so.0()(64bit)
Provides: libopentracing.so.1()(64bit)
Provides: libthrift.so.0.13.0()(64bit)
%description -n libjaeger
This package contains libraries needed to provide distributed
tracing for Ceph.
%endif
%package -n python%{python3_pkgversion}-cephfs
Summary: Python 3 libraries for Ceph distributed file system
@ -927,7 +1001,7 @@ Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}
Provides: python-cephfs = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-cephfs < %{_epoch_prefix}%{version}-%{release}
%description -n python%{python3_pkgversion}-cephfs
This package contains Python 3 libraries for interacting with Cephs distributed
This package contains Python 3 libraries for interacting with Ceph distributed
file system.
%package -n python%{python3_pkgversion}-ceph-argparse
@ -1072,20 +1146,20 @@ Summary: Prometheus alerts for a Ceph deployment
BuildArch: noarch
Group: System/Monitoring
%description prometheus-alerts
This package provides Cephs default alerts for Prometheus.
This package provides Ceph default alerts for Prometheus.
#################################################################################
# common
#################################################################################
%prep
%autosetup -p1 -n ceph-16.0.0-5613-gb1a0951432
%autosetup -p1 -n ceph-16.1.0-46-g571704f730
%build
# LTO can be enabled as soon as the following GCC bug is fixed:
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200
%define _lto_cflags %{nil}
%if 0%{with seastar}
%if 0%{with seastar} && 0%{?rhel}
. /opt/rh/gcc-toolset-9/enable
%endif
@ -1175,11 +1249,6 @@ ${CMAKE} .. \
%if 0%{with ocf}
-DWITH_OCF=ON \
%endif
%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 s390x
-DWITH_BOOST_CONTEXT=ON \
%else
-DWITH_BOOST_CONTEXT=OFF \
%endif
%if 0%{with cephfs_shell}
-DWITH_CEPHFS_SHELL=ON \
%endif
@ -1198,6 +1267,12 @@ ${CMAKE} .. \
%else
-DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \
%endif
%if 0%{without lua_packages}
-DWITH_RADOSGW_LUA_PACKAGES=OFF
%endif
%if 0%{with zbd}
-DWITH_ZBD=ON \
%endif
%if 0%{with cmake_verbose_logging}
-DCMAKE_VERBOSE_MAKEFILE=ON \
%endif
@ -1266,7 +1341,7 @@ ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph
install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules
# sudoers.d
install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl
install -m 0440 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl
%if 0%{?rhel} >= 8
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/*
@ -1354,8 +1429,6 @@ rm -rf %{buildroot}
%dir %{python3_sitelib}/ceph_volume
%{python3_sitelib}/ceph_volume/*
%{python3_sitelib}/ceph_volume-*
%{python3_sitelib}/ceph_lvm*
%{python3_sitelib}/ceph_volume_lvm*
%{_mandir}/man8/ceph-deploy.8*
%{_mandir}/man8/ceph-create-keys.8*
%{_mandir}/man8/ceph-run.8*
@ -1399,21 +1472,7 @@ fi
%postun base
/sbin/ldconfig
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph.target
%endif
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then
source $SYSCONF_CEPH
fi
fi
%pre -n cephadm
getent group cephadm >/dev/null || groupadd -r cephadm
@ -1555,13 +1614,7 @@ fi
%endif
%postun mds
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-mds@\*.service ceph-mds.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-mds@\*.service ceph-mds.target
%endif
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
@ -1605,13 +1658,7 @@ fi
%endif
%postun mgr
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-mgr@\*.service ceph-mgr.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-mgr@\*.service ceph-mgr.target
%endif
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
@ -1671,6 +1718,7 @@ fi
%{_datadir}/ceph/mgr/restful
%{_datadir}/ceph/mgr/selftest
%{_datadir}/ceph/mgr/snap_schedule
%{_datadir}/ceph/mgr/stats
%{_datadir}/ceph/mgr/status
%{_datadir}/ceph/mgr/telegraf
%{_datadir}/ceph/mgr/telemetry
@ -1747,13 +1795,7 @@ fi
%endif
%postun mon
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-mon@\*.service ceph-mon.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-mon@\*.service ceph-mon.target
%endif
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
@ -1770,11 +1812,50 @@ fi
%{_bindir}/ceph-fuse
%{_mandir}/man8/ceph-fuse.8*
%{_sbindir}/mount.fuse.ceph
%{_mandir}/man8/mount.fuse.ceph.8*
%{_unitdir}/ceph-fuse@.service
%{_unitdir}/ceph-fuse.target
%files -n cephfs-mirror
%{_bindir}/cephfs-mirror
%{_mandir}/man8/cephfs-mirror.8*
%{_unitdir}/cephfs-mirror@.service
%{_unitdir}/cephfs-mirror.target
%post -n cephfs-mirror
%if 0%{?suse_version}
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset cephfs-mirror@\*.service cephfs-mirror.target >/dev/null 2>&1 || :
fi
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_post cephfs-mirror@\*.service cephfs-mirror.target
%endif
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start cephfs-mirror.target >/dev/null 2>&1 || :
fi
%preun -n cephfs-mirror
%if 0%{?suse_version}
%service_del_preun cephfs-mirror@\*.service cephfs-mirror.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_preun cephfs-mirror@\*.service cephfs-mirror.target
%endif
%postun -n cephfs-mirror
%systemd_postun cephfs-mirror@\*.service cephfs-mirror.target
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then
source $SYSCONF_CEPH
fi
if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then
/usr/bin/systemctl try-restart cephfs-mirror@\*.service > /dev/null 2>&1 || :
fi
fi
%files -n rbd-fuse
%{_bindir}/rbd-fuse
@ -1808,13 +1889,7 @@ fi
%endif
%postun -n rbd-mirror
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target
%endif
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
@ -1856,13 +1931,7 @@ fi
%postun immutable-object-cache
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
@ -1918,13 +1987,7 @@ fi
%postun radosgw
/sbin/ldconfig
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-radosgw@\*.service ceph-radosgw.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-radosgw@\*.service ceph-radosgw.target
%endif
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
@ -1986,13 +2049,7 @@ fi
%endif
%postun osd
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target
%endif
if [ $1 -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
@ -2141,6 +2198,15 @@ fi
%{_includedir}/cephfs/metrics/Types.h
%{_libdir}/libcephfs.so
%if %{with jaeger}
%files -n libjaeger
%{_libdir}/libopentracing.so.*
%{_libdir}/libthrift.so.*
%{_libdir}/libjaegertracing.so.*
%post -n libjaeger -p /sbin/ldconfig
%postun -n libjaeger -p /sbin/ldconfig
%endif
%files -n python%{python3_pkgversion}-cephfs
%{python3_sitearch}/cephfs.cpython*.so
%{python3_sitearch}/cephfs-*.egg-info
@ -2163,6 +2229,11 @@ fi
%{_bindir}/cephfs-shell
%endif
%files -n cephfs-top
%{python3_sitelib}/cephfs_top-*.egg-info
%{_bindir}/cephfs-top
%{_mandir}/man8/cephfs-top.8*
%if 0%{with ceph_test_package}
%files -n ceph-test
%{_bindir}/ceph-client-debug
@ -2186,6 +2257,9 @@ fi
%{_bindir}/ceph-coverage
%{_bindir}/ceph-debugpack
%{_bindir}/ceph-dedup-tool
%if 0%{with seastar}
%{_bindir}/crimson-store-nbd
%endif
%{_mandir}/man8/ceph-debugpack.8*
%dir %{_libdir}/ceph
%{_libdir}/ceph/ceph-monstore-update-crush.sh