diff --git a/0001-src-common-crc32c_intel_fast.patch b/0001-src-common-crc32c_intel_fast.patch index 80066b7..b0e718c 100644 --- a/0001-src-common-crc32c_intel_fast.patch +++ b/0001-src-common-crc32c_intel_fast.patch @@ -1,176 +1,3 @@ ---- ceph-15.2.4/src/yasm-wrapper.orig 2020-06-30 11:40:51.000000000 -0400 -+++ ceph-15.2.4/src/yasm-wrapper 2020-07-20 12:21:34.574980869 -0400 -@@ -1,10 +1,11 @@ --#!/bin/sh -e -+#!/bin/sh - - # libtool and yasm do not get along. - # filter out any crap that libtool feeds us that yasm does not understand. - #echo $0: got $* - new="" - touch="" -+object="" - while [ -n "$*" ]; do - case "$1" in - -f ) -@@ -29,6 +30,12 @@ - touch="$1" - shift - ;; -+ -o ) -+ shift -+ object="$1" -+ new="$new -o $1" -+ shift -+ ;; - * ) - new="$new $1" - shift -@@ -36,8 +43,15 @@ - esac - done - --#echo $0: yasm $new --yasm $new -+#echo ${0}: yasm ${new} -+yasm ${new} -+ -+echo ${new} | grep -- "crc32c_intel_fast*asm\.s" -+if [ $? -ne 0 ]; then -+ touch /tmp/${object} -+ ld -r -z ibt -z shstk -z noexecstack -o ${object}.tmp ${object} -+ mv ${object}.tmp ${object} -+fi - - [ -n "$touch" ] && touch $touch - ---- ceph-15.2.2/src/common/crc32c_intel_fast_asm.s.orig 2020-05-26 08:34:32.226201974 -0400 -+++ ceph-15.2.2/src/common/crc32c_intel_fast_asm.s 2020-05-26 17:19:20.327201974 -0400 -@@ -1,5 +1,5 @@ - ; --; Copyright 2012-2013 Intel Corporation All Rights Reserved. -+; Copyright 2012-2015 Intel Corporation All Rights Reserved. - ; All rights reserved. - ; - ; http://opensource.org/licenses/BSD-3-Clause -@@ -59,16 +59,34 @@ - xor rbx, rbx ;; rbx = crc1 = 0; - xor r10, r10 ;; r10 = crc2 = 0; - -+ cmp len, %%bSize*3*2 -+ jbe %%non_prefetch -+ - %assign i 0 - %rep %%bSize/8 - 1 -- crc32 rax, [bufptmp+i + 0*%%bSize] ;; update crc0 -- crc32 rbx, [bufptmp+i + 1*%%bSize] ;; update crc1 -- crc32 r10, [bufptmp+i + 2*%%bSize] ;; update crc2 -+ %if i < %%bSize*3/4 -+ prefetchnta [bufptmp+ %%bSize*3 + i*4] -+ %endif -+ crc32 rax, qword [bufptmp+i + 0*%%bSize] ;; update crc0 -+ crc32 rbx, qword [bufptmp+i + 1*%%bSize] ;; update crc1 -+ crc32 r10, qword [bufptmp+i + 2*%%bSize] ;; update crc2 - %assign i (i+8) - %endrep -- crc32 rax, [bufptmp+i + 0*%%bSize] ;; update crc0 -- crc32 rbx, [bufptmp+i + 1*%%bSize] ;; update crc1 --; SKIP ;crc32 r10, [bufptmp+i + 2*%%bSize] ;; update crc2 -+ jmp %%next %+ %1 -+ -+%%non_prefetch: -+ %assign i 0 -+ %rep %%bSize/8 - 1 -+ crc32 rax, qword [bufptmp+i + 0*%%bSize] ;; update crc0 -+ crc32 rbx, qword [bufptmp+i + 1*%%bSize] ;; update crc1 -+ crc32 r10, qword [bufptmp+i + 2*%%bSize] ;; update crc2 -+ %assign i (i+8) -+ %endrep -+ -+%%next %+ %1: -+ crc32 rax, qword [bufptmp+i + 0*%%bSize] ;; update crc0 -+ crc32 rbx, qword [bufptmp+i + 1*%%bSize] ;; update crc1 -+; SKIP ;crc32 r10, qword [bufptmp+i + 2*%%bSize] ;; update crc2 - - ; merge in crc0 - movzx bufp_dw, al -@@ -180,12 +198,15 @@ - %define crc_init_dw r8d - %endif - -- -+ endbranch - push rdi - push rbx - - mov rax, crc_init ;; rax = crc_init; - -+ cmp len, 8 -+ jb less_than_8 -+ - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; 1) ALIGN: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -@@ -195,9 +216,6 @@ - ;; amount of the address - je proc_block ;; Skip if aligned - -- cmp len, 8 -- jb less_than_8 -- - ;;;; Calculate CRC of unaligned bytes of the buffer (if any) ;;;; - mov rbx, [bufptmp] ;; load a quadword from the buffer - add bufptmp, bufp ;; align buffer pointer for -@@ -233,7 +251,7 @@ - jnc bit7 ;; jump to bit-6 if bit-7 == 0 - %assign i 0 - %rep 16 -- crc32 rax, [bufptmp+i] ;; compute crc32 of 8-byte data -+ crc32 rax, qword [bufptmp+i] ;; compute crc32 of 8-byte data - %assign i (i+8) - %endrep - je do_return ;; return if remaining data is zero -@@ -244,7 +262,7 @@ - jnc bit6 ;; jump to bit-6 if bit-7 == 0 - %assign i 0 - %rep 8 -- crc32 rax, [bufptmp+i] ;; compute crc32 of 8-byte data -+ crc32 rax, qword [bufptmp+i] ;; compute crc32 of 8-byte data - %assign i (i+8) - %endrep - je do_return ;; return if remaining data is zero -@@ -254,7 +272,7 @@ - jnc bit5 ;; jump to bit-5 if bit-6 == 0 - %assign i 0 - %rep 4 -- crc32 rax, [bufptmp+i] ;; compute crc32 of 8-byte data -+ crc32 rax, qword [bufptmp+i] ;; compute crc32 of 8-byte data - %assign i (i+8) - %endrep - je do_return ;; return if remaining data is zero -@@ -264,7 +282,7 @@ - jnc bit4 ;; jump to bit-4 if bit-5 == 0 - %assign i 0 - %rep 2 -- crc32 rax, [bufptmp+i] ;; compute crc32 of 8-byte data -+ crc32 rax, qword [bufptmp+i] ;; compute crc32 of 8-byte data - %assign i (i+8) - %endrep - je do_return ;; return if remaining data is zero -@@ -272,11 +290,11 @@ - bit4: - shl len_b, 1 ;; shift-out MSB (bit-4) - jnc bit3 ;; jump to bit-3 if bit-4 == 0 -- crc32 rax, [bufptmp] ;; compute crc32 of 8-byte data -+ crc32 rax, qword [bufptmp] ;; compute crc32 of 8-byte data - je do_return ;; return if remaining data is zero - add bufptmp, 8 ;; buf +=8; (next 8 bytes) - bit3: -- mov rbx, [bufptmp] ;; load a 8-bytes from the buffer: -+ mov rbx, qword [bufptmp] ;; load a 8-bytes from the buffer: - shl len_b, 1 ;; shift-out MSB (bit-3) - jnc bit2 ;; jump to bit-2 if bit-3 == 0 - crc32 eax, ebx ;; compute crc32 of 4-byte data --- ceph-15.2.2/src/common/crc32c_intel_fast_zero_asm.s.orig 2020-05-26 08:34:32.226201974 -0400 +++ ceph-15.2.2/src/common/crc32c_intel_fast_zero_asm.s 2020-05-26 17:19:32.497201974 -0400 @@ -1,5 +1,5 @@ diff --git a/0004-src-CMakeLists.txt.patch b/0004-src-CMakeLists.txt.patch new file mode 100644 index 0000000..f3f2e36 --- /dev/null +++ b/0004-src-CMakeLists.txt.patch @@ -0,0 +1,12 @@ +--- ceph-16.0.0/src/CMakeLists.txt.orig 2021-01-25 13:45:15.316053258 -0500 ++++ ceph-16.0.0/src/CMakeLists.txt 2021-01-25 13:43:34.418305591 -0500 +@@ -29,7 +29,8 @@ + -D_THREAD_SAFE + -D__STDC_FORMAT_MACROS + -D_FILE_OFFSET_BITS=64 +- -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION) ++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION ++ -DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT) + if(LINUX) + add_definitions("-D_GNU_SOURCE") + endif() diff --git a/0005-src-librbd-migration.patch b/0005-src-librbd-migration.patch new file mode 100644 index 0000000..3a637e9 --- /dev/null +++ b/0005-src-librbd-migration.patch @@ -0,0 +1,78 @@ +--- ceph-16.1.0/src/librbd/AsioEngine.h.orig 2021-01-27 09:52:12.314415539 -0500 ++++ ceph-16.1.0/src/librbd/AsioEngine.h 2021-01-27 09:55:35.289955105 -0500 +@@ -39,7 +39,8 @@ + inline operator boost::asio::io_context&() { + return m_io_context; + } +- inline boost::asio::io_context::executor_type get_executor() { ++ using executor_type = boost::asio::io_context::executor_type; ++ inline executor_type get_executor() { + return m_io_context.get_executor(); + } + +--- ceph-16.1.0/src/librbd/migration/FileStream.cc.orig 2021-01-27 09:58:21.984505879 -0500 ++++ ceph-16.1.0/src/librbd/migration/FileStream.cc 2021-01-27 09:58:48.945241982 -0500 +@@ -121,7 +121,8 @@ + template + FileStream::FileStream(I* image_ctx, const json_spirit::mObject& json_object) + : m_cct(image_ctx->cct), m_asio_engine(image_ctx->asio_engine), +- m_json_object(json_object), m_strand(*m_asio_engine) { ++ m_json_object(json_object), ++ m_strand(boost::asio::make_strand(*m_asio_engine)) { + } + + template +--- ceph-16.1.0/src/librbd/migration/FileStream.h.orig 2021-01-27 09:59:03.542640537 -0500 ++++ ceph-16.1.0/src/librbd/migration/FileStream.h 2021-01-27 09:59:42.054692043 -0500 +@@ -6,7 +6,8 @@ + + #include "include/int_types.h" + #include "librbd/migration/StreamInterface.h" +-#include ++#include ++#include + #include + #include + #include +@@ -48,7 +49,7 @@ + std::shared_ptr m_asio_engine; + json_spirit::mObject m_json_object; + +- boost::asio::io_context::strand m_strand; ++ boost::asio::strand m_strand; + #ifdef BOOST_ASIO_HAS_POSIX_STREAM_DESCRIPTOR + std::optional m_stream_descriptor; + +--- ceph-16.1.0/src/librbd/migration/HttpClient.cc.orig 2021-01-27 10:00:04.167295789 -0500 ++++ ceph-16.1.0/src/librbd/migration/HttpClient.cc 2021-01-27 10:00:34.303118596 -0500 +@@ -764,7 +764,8 @@ + template + HttpClient::HttpClient(I* image_ctx, const std::string& url) + : m_cct(image_ctx->cct), m_image_ctx(image_ctx), +- m_asio_engine(image_ctx->asio_engine), m_url(url), m_strand(*m_asio_engine), ++ m_asio_engine(image_ctx->asio_engine), m_url(url), ++ m_strand(boost::asio::make_strand(*m_asio_engine)), + m_ssl_context(boost::asio::ssl::context::sslv23_client) { + m_ssl_context.set_default_verify_paths(); + } +--- ceph-16.1.0/src/librbd/migration/HttpClient.h.orig 2021-01-27 10:00:49.626536973 -0500 ++++ ceph-16.1.0/src/librbd/migration/HttpClient.h 2021-01-27 10:01:38.728877629 -0500 +@@ -9,7 +9,8 @@ + #include "librbd/io/Types.h" + #include "librbd/migration/HttpProcessorInterface.h" + #include "librbd/migration/Types.h" +-#include ++#include ++#include + #include + #include + #include +@@ -171,7 +172,7 @@ + + HttpProcessorInterface* m_http_processor = nullptr; + +- boost::asio::io_context::strand m_strand; ++ boost::asio::strand m_strand; + + boost::asio::ssl::context m_ssl_context; + std::unique_ptr m_http_session; diff --git a/ceph.spec b/ceph.spec index e4cc03a..3950419 100644 --- a/ceph.spec +++ b/ceph.spec @@ -23,6 +23,7 @@ %global _hardened_build 1 %bcond_with make_check +%bcond_with zbd %bcond_with cmake_verbose_logging %bcond_without ceph_test_package %ifarch s390 s390x @@ -62,6 +63,9 @@ %endif %endif %bcond_with seastar +%bcond_with jaeger +%bcond_with rbd_rwl_cache +%bcond_with rbd_ssd_cache %if 0%{?fedora} || 0%{?suse_version} >= 1500 # distros that ship cmd2 and/or colorama %bcond_without cephfs_shell @@ -82,16 +86,24 @@ %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} %{!?python3_version_nodots: %global python3_version_nodots 3} %{!?python3_version: %global python3_version 3} -%if 0%{?rhel} == 7 -%define __python %{__python3} -%endif -# unify libexec for all targets -%global _libexecdir %{_exec_prefix}/lib # disable dwz which compresses the debuginfo %global _find_debuginfo_dwz_opts %{nil} @@ -100,8 +112,8 @@ # main package definition ################################################################################# Name: ceph -Version: 15.2.5 -Release: 1%{?dist} +Version: 16.1.0 +Release: 0.1.snapshot%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif @@ -117,10 +129,14 @@ License: (LGPLv2.1 or LGPLv3) and CC-BY-SA-3.0 and GPLv2 and Boost-1.0 and BSD a Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-%{version}.tar.gz +#Source0: %%{?_remote_tarball_prefix}ceph-%%{version}.tar.gz +# https://2.chacra.ceph.com/r/ceph/pacific/6b74fb5c... +Source0: ceph-16.1.0-43-g6b74fb5c.tar.bz2 Patch0001: 0001-src-common-crc32c_intel_fast.patch Patch0002: 0002-src-common-CMakeLists.txt.patch Patch0003: 0003-src-common-bitstr.h.patch +Patch0004: 0004-src-CMakeLists.txt.patch +Patch0005: 0005-src-librbd-migration.patch Source1: cmake-modules-BuildBoost.cmake.noautopatch # ceph 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787 ExcludeArch: i686 armv7hl @@ -145,18 +161,14 @@ BuildRequires: checkpolicy BuildRequires: selinux-policy-devel %endif BuildRequires: gperf -%if 0%{?rhel} == 7 -BuildRequires: cmake3 > 3.5 -%else BuildRequires: cmake > 3.5 -%endif BuildRequires: cryptsetup -BuildRequires: fuse-devel +BuildRequires: fuse3-devel BuildRequires: fmt-devel %if 0%{?rhel} == 7 # devtoolset offers newer make and valgrind-devel, but the old ones are good # enough. -BuildRequires: devtoolset-8-gcc-c++ >= 8.3.1-3.1 +BuildRequires: devtoolset-9-gcc-c++ >= 9.2.1-2.3 %else BuildRequires: gcc-c++ %endif @@ -172,8 +184,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 @@ -198,47 +212,44 @@ BuildRequires: which BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet -BuildRequires: yasm +BuildRequires: lua-devel +BuildRequires: nasm %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 -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-bcrypt -BuildRequires: python%{python3_version_nodots}-nose -BuildRequires: python%{python3_version_nodots}-requests -BuildRequires: python%{python3_version_nodots}-dateutil -%else BuildRequires: python%{python3_pkgversion}-bcrypt BuildRequires: python%{python3_pkgversion}-nose BuildRequires: python%{python3_pkgversion}-pecan BuildRequires: python%{python3_pkgversion}-requests BuildRequires: python%{python3_pkgversion}-dateutil -%endif -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-six -BuildRequires: python%{python3_version_nodots}-virtualenv -%else -BuildRequires: python%{python3_pkgversion}-six -BuildRequires: python%{python3_pkgversion}-virtualenv -%endif -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-coverage -%else BuildRequires: python%{python3_pkgversion}-coverage -%endif -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-pyOpenSSL -%else BuildRequires: python%{python3_pkgversion}-pyOpenSSL -%endif 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 @@ -249,6 +260,17 @@ BuildRequires: protobuf-devel BuildRequires: ragel BuildRequires: systemtap-sdt-devel BuildRequires: yaml-cpp-devel +%if 0%{?fedora} +BuildRequires: libubsan +BuildRequires: libasan +BuildRequires: libatomic +%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 ################################################################################# # distro-conditional dependencies @@ -293,11 +315,7 @@ BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-Cython -%else BuildRequires: python%{python3_pkgversion}-Cython -%endif BuildRequires: python%{python3_pkgversion}-prettytable BuildRequires: python%{python3_pkgversion}-sphinx BuildRequires: lz4-devel >= 1.7 @@ -313,22 +331,13 @@ BuildRequires: xmlsec1-nss %endif BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-jwt -BuildRequires: python%{python3_version_nodots}-scipy -%else BuildRequires: python%{python3_pkgversion}-cherrypy BuildRequires: python%{python3_pkgversion}-jwt BuildRequires: python%{python3_pkgversion}-routes BuildRequires: python%{python3_pkgversion}-scipy BuildRequires: python%{python3_pkgversion}-werkzeug -%endif -%if 0%{?rhel} == 7 -BuildRequires: python%{python3_version_nodots}-pyOpenSSL -%else BuildRequires: python%{python3_pkgversion}-pyOpenSSL %endif -%endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 BuildRequires: libxmlsec1-nss1 @@ -426,10 +435,8 @@ 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 -%endif Requires: python%{python3_pkgversion} %if 0%{?weak_deps} Recommends: podman @@ -452,6 +459,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 @@ -487,6 +497,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 @@ -500,11 +521,6 @@ Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr-modules-core = %{_epoch_prefix}%{version}-%{release} -%if 0%{?rhel} == 7 -Requires: python%{python3_version_nodots}-six -%else -Requires: python%{python3_pkgversion}-six -%endif %if 0%{?weak_deps} Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release} @@ -558,47 +574,25 @@ Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-numpy -Requires: python%{python3_pkgversion}-scipy -%if 0%{?rhel} == 7 -Requires: numpy -Requires: scipy +%if 0%{?fedora} || 0%{?suse_version} +Requires: python%{python3_pkgversion}-scikit-learn %endif +Requires: python3-scipy %description mgr-diskprediction-local ceph-mgr-diskprediction-local is a ceph-mgr module that tries to predict disk failures using local algorithms and machine-learning databases. -%package mgr-diskprediction-cloud -Summary: Ceph Manager module for cloud-based disk failure prediction -BuildArch: noarch -%if 0%{?suse_version} -Group: System/Filesystems -%endif -Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: python%{python3_pkgversion}-grpcio -Requires: python%{python3_pkgversion}-protobuf -%description mgr-diskprediction-cloud -ceph-mgr-diskprediction-cloud is a ceph-mgr module that tries to predict -disk failures using services in the Google cloud. - %package mgr-modules-core Summary: Ceph Manager modules which are always enabled BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif -%if 0%{?rhel} == 7 -Requires: python%{python3_version_nodots}-bcrypt -Requires: python%{python3_version_nodots}-pyOpenSSL -Requires: python%{python3_version_nodots}-requests -Requires: python%{python3_version_nodots}-PyYAML -Requires: python%{python3_version_nodots}-dateutil -%else Requires: python%{python3_pkgversion}-bcrypt Requires: python%{python3_pkgversion}-pecan Requires: python%{python3_pkgversion}-pyOpenSSL Requires: python%{python3_pkgversion}-requests Requires: python%{python3_pkgversion}-dateutil -%endif %if 0%{?fedora} || 0%{?rhel} >= 8 Requires: python%{python3_pkgversion}-cherrypy Requires: python%{python3_pkgversion}-pyyaml @@ -672,6 +666,17 @@ Requires: python%{python3_pkgversion} %description fuse FUSE based client for Ceph distributed network file system +%package -n cephfs-mirror +Summary: Ceph daemon for mirroring CephFS snapshots +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} +%description -n cephfs-mirror +Daemon for mirroring CephFS snapshots between Ceph clusters. + %package -n rbd-fuse Summary: Ceph fuse-based client %if 0%{?suse_version} @@ -733,6 +738,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 @@ -758,6 +771,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 @@ -848,7 +869,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 @@ -862,7 +883,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} @@ -937,7 +958,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 @@ -968,7 +989,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 @@ -982,7 +1017,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 @@ -1129,13 +1164,13 @@ Summary: Prometheus alerts for a Ceph deplyoment 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 +%autosetup -p1 -n ceph-16.1.0-43-g6b74fb5c %ifarch x86_64 patch -p1 < %{SOURCE1} %endif @@ -1145,8 +1180,8 @@ patch -p1 < %{SOURCE1} # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200 %define _lto_cflags %{nil} -%if 0%{?rhel} == 7 -. /opt/rh/devtoolset-8/enable +%if 0%{with seastar} &&0%{?rhel} +. /opt/rh/devtoolset-9/enable %endif %if 0%{with cephfs_java} @@ -1166,6 +1201,11 @@ export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" export LDFLAGS="$RPM_LD_FLAGS" +%if 0%{with seastar} +# seastar uses longjmp() to implement coroutine. and this annoys longjmp_chk() +export CXXFLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g') +%endif + # Parallel build settings ... CEPH_MFLAGS_JOBS="%{?_smp_mflags}" CEPH_SMP_NCPUS=$(echo "$CEPH_MFLAGS_JOBS" | sed 's/-j//') @@ -1192,9 +1232,6 @@ env | sort mkdir build cd build -%if 0%{?rhel} == 7 -%global cmake cmake3 -%endif %{cmake} .. \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DBUILD_CONFIG=rpmbuild \ @@ -1206,6 +1243,7 @@ cd build -DCMAKE_INSTALL_MANDIR=%{_mandir} \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \ -DCMAKE_INSTALL_INCLUDEDIR=%{_includedir} \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR=%{_unitdir} \ -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=%{python3_version} \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ @@ -1231,11 +1269,6 @@ cd build %endif -DWITH_REENTRANT_STRSIGNAL=ON \ -DWITH_SYSTEM_BOOST=ON \ -%ifarch aarch64 armv7hl mips mipsel ppc ppc64 ppc64le %{ix86} x86_64 - -DWITH_BOOST_CONTEXT=ON \ -%else - -DWITH_BOOST_CONTEXT=OFF \ -%endif %if 0%{with cephfs_shell} -DWITH_CEPHFS_SHELL=ON \ %endif @@ -1254,8 +1287,20 @@ cd build %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 +%if 0%{with rbd_rwl_cache} + -DWITH_RBD_RWL=ON \ +%endif +%if 0%{with rbd_ssd_cache} + -DWITH_RBD_SSD_CACHE=ON \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ %if 0%{with ceph_test_package} @@ -1287,6 +1332,10 @@ pushd build # we have dropped sysvinit bits rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph popd +%if 0%{with seastar} +# package crimson-osd with the name of ceph-osd +install -m 0755 %{buildroot}%{_bindir}/crimson-osd %{buildroot}%{_bindir}/ceph-osd +%endif install -m 0644 -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap %if 0%{?fedora} || 0%{?rhel} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph @@ -1295,12 +1344,13 @@ install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_fillupdir}/sysconfig.%{name} %endif install -m 0644 -D systemd/ceph.tmpfiles.d %{buildroot}%{_tmpfilesdir}/ceph-common.conf -install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_libexecdir}/systemd/system-preset/50-ceph.preset +install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_presetdir}/50-ceph.preset mkdir -p %{buildroot}%{_sbindir} install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING install -m 0644 -D etc/sysctl/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf +install -m 0755 -D src/tools/rbd_nbd/rbd-nbd_quiesce %{buildroot}%{_libexecdir}/rbd-nbd/rbd-nbd_quiesce install -m 0755 src/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm mkdir -p %{buildroot}%{_sharedstatedir}/cephadm @@ -1320,8 +1370,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 0600 -D sudoers.d/cephadm %{buildroot}%{_sysconfdir}/sudoers.d/cephadm +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}/* @@ -1373,7 +1422,7 @@ install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildro %{_bindir}/osdmaptool %{_bindir}/ceph-kvstore-tool %{_bindir}/ceph-run -%{_libexecdir}/systemd/system-preset/50-ceph.preset +%{_presetdir}/50-ceph.preset %{_sbindir}/ceph-create-keys %dir %{_libexecdir}/ceph %{_libexecdir}/ceph/ceph_common.sh @@ -1445,21 +1494,6 @@ 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 @@ -1475,7 +1509,6 @@ exit 0 %files -n cephadm %{_sbindir}/cephadm %{_mandir}/man8/cephadm.8* -%{_sysconfdir}/sudoers.d/cephadm %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys @@ -1606,13 +1639,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. @@ -1630,9 +1657,6 @@ fi %dir %{_datadir}/ceph/mgr %{_datadir}/ceph/mgr/mgr_module.* %{_datadir}/ceph/mgr/mgr_util.* -%if 0%{?rhel} == 7 -%{_datadir}/ceph/mgr/__pycache__ -%endif %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr @@ -1659,13 +1683,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. @@ -1704,19 +1722,6 @@ if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%files mgr-diskprediction-cloud -%{_datadir}/ceph/mgr/diskprediction_cloud - -%post mgr-diskprediction-cloud -if [ $1 -eq 1 ] ; then - /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : -fi - -%postun mgr-diskprediction-cloud -if [ $1 -eq 1 ] ; then - /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : -fi - %files mgr-modules-core %dir %{_datadir}/ceph/mgr %{_datadir}/ceph/mgr/alerts @@ -1727,6 +1732,7 @@ fi %{_datadir}/ceph/mgr/insights %{_datadir}/ceph/mgr/iostat %{_datadir}/ceph/mgr/localpool +%{_datadir}/ceph/mgr/mds_autoscaler %{_datadir}/ceph/mgr/orchestrator %{_datadir}/ceph/mgr/osd_perf_query %{_datadir}/ceph/mgr/osd_support @@ -1736,6 +1742,8 @@ fi %{_datadir}/ceph/mgr/rbd_support %{_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 @@ -1812,13 +1820,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. @@ -1835,9 +1837,51 @@ 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 %{_mandir}/man8/rbd-fuse.8* @@ -1870,13 +1914,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. @@ -1918,13 +1956,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. @@ -1940,6 +1972,8 @@ fi %files -n rbd-nbd %{_bindir}/rbd-nbd %{_mandir}/man8/rbd-nbd.8* +%dir %{_libexecdir}/rbd-nbd +%{_libexecdir}/rbd-nbd/rbd-nbd_quiesce %files radosgw %{_bindir}/ceph-diff-sorted @@ -1978,13 +2012,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. @@ -2000,6 +2028,7 @@ fi %files osd %{_bindir}/ceph-clsinfo %{_bindir}/ceph-bluestore-tool +%{_bindir}/ceph-erasure-code-tool %{_bindir}/ceph-objectstore-tool %{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-osd @@ -2045,13 +2074,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. @@ -2138,6 +2161,8 @@ fi %if %{with lttng} %{_libdir}/librbd_tp.so.* %endif +%dir %{_libdir}/ceph/librbd +%{_libdir}/ceph/librbd/libceph_*.so* %post -n librbd1 -p /sbin/ldconfig @@ -2155,7 +2180,6 @@ fi %files -n librgw2 %{_libdir}/librgw.so.* -%{_libdir}/librgw_admin_user.so.* %if %{with lttng} %{_libdir}/librgw_op_tp.so.* %{_libdir}/librgw_rados_tp.so.* @@ -2168,10 +2192,8 @@ fi %files -n librgw-devel %dir %{_includedir}/rados %{_includedir}/rados/librgw.h -%{_includedir}/rados/librgw_admin_user.h %{_includedir}/rados/rgw_file.h %{_libdir}/librgw.so -%{_libdir}/librgw_admin_user.so %if %{with lttng} %{_libdir}/librgw_op_tp.so %{_libdir}/librgw_rados_tp.so @@ -2197,8 +2219,19 @@ fi %dir %{_includedir}/cephfs %{_includedir}/cephfs/libcephfs.h %{_includedir}/cephfs/ceph_ll_client.h +%dir %{_includedir}/cephfs/metrics +%{_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 @@ -2221,13 +2254,17 @@ 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 %{_bindir}/ceph_bench_log %{_bindir}/ceph_kvstorebench %{_bindir}/ceph_multi_stress_watch -%{_bindir}/ceph_erasure_code %{_bindir}/ceph_erasure_code_benchmark %{_bindir}/ceph_omapbench %{_bindir}/ceph_objectstore_bench @@ -2245,6 +2282,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 @@ -2375,6 +2415,9 @@ exit 0 %config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml %changelog +* Fri Jan 29 2021 Kaleb S. KEITHLEY - 2:16.1.0-0.1.snapshot +- ceph 16.1.0 RC (ceph-16.1.0-43-g6b74fb5c) + * Wed Sep 16 2020 Kaleb S. KEITHLEY - 2:15.2.5-1 - ceph 15.2.5 GA diff --git a/sources b/sources index 9fa2b9d..a26d268 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ceph-15.2.5.tar.gz) = 55de068886c48293e92ef95cf8343ae44825fd2bf9c3fa7d47cda92907a47bae79e0af730cd34d0155b0777901d0fd6f9d1f30537c66c54c95098df7368fca2e +SHA512 (ceph-16.1.0-43-g6b74fb5c.tar.bz2) = 5822292d23be3daa640250e7c044c26a0350b71d8260b28264320572d6b905b2e69592883f70dab49d56709cace1fbae92bfd3e7591d1023ef2fa0fe587d474a