diff --git a/ceph-16.0.0-5613-gb1a0951432.tar.bz2 b/ceph-16.0.0-5613-gb1a0951432.tar.bz2 deleted file mode 100644 index 448926f..0000000 --- a/ceph-16.0.0-5613-gb1a0951432.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0e395be677242cb0142e5ddaf5463ff0a33d2818b0f2c450d9839d0e813bc78e -size 123870645 diff --git a/ceph-16.1.0-46-g571704f730.tar.bz2 b/ceph-16.1.0-46-g571704f730.tar.bz2 new file mode 100644 index 0000000..3e46046 --- /dev/null +++ b/ceph-16.1.0-46-g571704f730.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d9aa545e12fc519388fa267c20beee29eb892611d21a6af1b4bea15a8a9df3f8 +size 126371021 diff --git a/ceph-test.changes b/ceph-test.changes index 3e454f4..6ce8158 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,3 +1,61 @@ +------------------------------------------------------------------- +Wed Jan 27 15:17:14 UTC 2021 - Nathan Cutler + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 diff --git a/ceph-test.spec b/ceph-test.spec index 2433e2e..538c18a 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -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 diff --git a/ceph.changes b/ceph.changes index 3e454f4..6ce8158 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,61 @@ +------------------------------------------------------------------- +Wed Jan 27 15:17:14 UTC 2021 - Nathan Cutler + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 diff --git a/ceph.spec b/ceph.spec index 62ee76f..2f549b9 100644 --- a/ceph.spec +++ b/ceph.spec @@ -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 Ceph’s 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