SHA256
1
0
forked from pool/ceph

Accepting request 750154 from filesystems:ceph:octopus

ceph 15.0.0 (Octopus) for Factory

OBS-URL: https://build.opensuse.org/request/show/750154
OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=253
This commit is contained in:
Nathan Cutler 2019-11-21 17:07:01 +00:00 committed by Git OBS Bridge
parent 9102fe89c0
commit 0b1e9cf60d
8 changed files with 416 additions and 105 deletions

View File

@ -25,7 +25,7 @@
</conditions> </conditions>
<hardware> <hardware>
<disk> <disk>
<size unit="G">28</size> <size unit="G">32</size>
</disk> </disk>
<memory> <memory>
<size unit="G">10</size> <size unit="G">10</size>

View File

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

View File

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

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Thu Nov 21 10:10:02 UTC 2019 - Nathan Cutler <ncutler@suse.com>
- Update to 15.0.0-7456-ge089cead79:
+ rebase on tip of upstream master, SHA1 e4b3036422df70e3c911240e3bba6a8bd3e9c792
-------------------------------------------------------------------
Fri Nov 18 13:18:17 UTC 2019 - Nathan Cutler <ncutler@suse.com>
- Update to 15.0.0-7219-g353896020b:
+ rebase on tip of upstream master, SHA1 7ffb5d9e79207da81af933f4e95655e16558c739
-------------------------------------------------------------------
Fri Nov 15 13:33:41 UTC 2019 - Nathan Cutler <ncutler@suse.com>
- Update to 14.2.4-386-g73475e3ee1:
+ os/bluestore: consolidate extents from the same device only (bsc#1156282)
-------------------------------------------------------------------
Fri Oct 18 14:19:23 UTC 2019 - Nathan Cutler <ncutler@suse.com>
- Update to 14.2.4-378-gac1bcd6547:
+ qa/suse: move dashboard-e2e to tier3 and add debugging code to
src/script/dashboard_e2e_tests.sh
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 2 14:23:24 UTC 2019 - Nathan Cutler <ncutler@suse.com> Wed Oct 2 14:23:24 UTC 2019 - Nathan Cutler <ncutler@suse.com>

View File

@ -21,6 +21,8 @@
# bcond syntax! # bcond syntax!
################################################################################# #################################################################################
%bcond_with make_check %bcond_with make_check
%bcond_without ceph_test_package
%bcond_with minimal_debugging_information
%ifarch s390 s390x %ifarch s390 s390x
%bcond_with tcmalloc %bcond_with tcmalloc
%else %else
@ -28,17 +30,19 @@
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%bcond_without selinux %bcond_without selinux
%bcond_without ceph_test_package %if 0%{?rhel} >= 8
%bcond_with cephfs_java
%else
%bcond_without cephfs_java %bcond_without cephfs_java
%endif
%bcond_without amqp_endpoint
%bcond_without lttng %bcond_without lttng
%bcond_without libradosstriper %bcond_without libradosstriper
%bcond_without ocf %bcond_without ocf
%bcond_without amqp_endpoint
%global _remote_tarball_prefix https://download.ceph.com/tarballs/ %global _remote_tarball_prefix https://download.ceph.com/tarballs/
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%bcond_with selinux %bcond_with selinux
%bcond_without ceph_test_package
%bcond_with cephfs_java %bcond_with cephfs_java
%bcond_with amqp_endpoint %bcond_with amqp_endpoint
#Compat macro for new _fillupdir macro introduced in Nov 2017 #Compat macro for new _fillupdir macro introduced in Nov 2017
@ -76,7 +80,9 @@
%if 0%{without python2} %if 0%{without python2}
%global _defined_if_python2_absent 1 %global _defined_if_python2_absent 1
%endif %endif
%if 0%{?fedora} || 0%{?suse_version}
%global weak_deps 1
%endif
%if %{with selinux} %if %{with selinux}
# get selinux policy version # get selinux policy version
%{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0} %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
@ -85,6 +91,7 @@
%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
%{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
%{!?python3_pkgversion: %global python3_pkgversion 3} %{!?python3_pkgversion: %global python3_pkgversion 3}
%{!?python3_version_nodots: %global python3_version_nodots 3}
%{!?python3_version: %global python3_version 3} %{!?python3_version: %global python3_version 3}
# define _python_buildid macro which will expand to the empty string when # define _python_buildid macro which will expand to the empty string when
# building with python2 # building with python2
@ -100,7 +107,7 @@
# main package definition # main package definition
################################################################################# #################################################################################
Name: ceph-test Name: ceph-test
Version: 14.2.4.373+gc3e67ed133 Version: 15.0.0.7456+ge089cead79
Release: 0%{?dist} Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Epoch: 2 Epoch: 2
@ -111,12 +118,12 @@ Epoch: 2
%global _epoch_prefix %{?epoch:%{epoch}:} %global _epoch_prefix %{?epoch:%{epoch}:}
Summary: Ceph benchmarks and test tools Summary: Ceph benchmarks and test tools
License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Filesystems Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-14.2.4-373-gc3e67ed133.tar.bz2 Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7456-ge089cead79.tar.bz2
%if 0%{?suse_version} %if 0%{?suse_version}
Source96: checkin.sh Source96: checkin.sh
Source97: README-checkin.txt Source97: README-checkin.txt
@ -156,7 +163,7 @@ BuildRequires: fuse-devel
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
# devtoolset offers newer make and valgrind-devel, but the old ones are good # devtoolset offers newer make and valgrind-devel, but the old ones are good
# enough. # enough.
BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 BuildRequires: devtoolset-8-gcc-c++ >= 8.3.1-3.1
%else %else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
@ -173,14 +180,16 @@ BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel BuildRequires: libaio-devel
BuildRequires: libblkid-devel >= 2.17 BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libcap-ng-devel
BuildRequires: libudev-devel BuildRequires: libudev-devel
BuildRequires: libnl3-devel
BuildRequires: liboath-devel BuildRequires: liboath-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: libuuid-devel
BuildRequires: make BuildRequires: make
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: parted BuildRequires: parted
BuildRequires: patch
BuildRequires: perl BuildRequires: perl
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: procps BuildRequires: procps
@ -201,14 +210,17 @@ BuildRequires: librabbitmq-devel
%endif %endif
%if 0%{with make_check} %if 0%{with make_check}
BuildRequires: jq BuildRequires: jq
BuildRequires: libuuid-devel
BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: python%{_python_buildid}-bcrypt
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-nose
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-requests
BuildRequires: python%{_python_buildid}-six BuildRequires: python%{_python_buildid}-six
BuildRequires: python%{_python_buildid}-tox
BuildRequires: python%{_python_buildid}-virtualenv BuildRequires: python%{_python_buildid}-virtualenv
%if 0%{?rhel} < 8
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-tox
%endif
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
BuildRequires: pyOpenSSL%{_python_buildid} BuildRequires: pyOpenSSL%{_python_buildid}
%else %else
@ -235,6 +247,7 @@ BuildRequires: pkgconfig(systemd)
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
%{?systemd_requires} %{?systemd_requires}
PreReq: %fillup_prereq PreReq: %fillup_prereq
BuildRequires: fdupes
BuildRequires: net-tools BuildRequires: net-tools
BuildRequires: libbz2-devel BuildRequires: libbz2-devel
BuildRequires: mozilla-nss-devel BuildRequires: mozilla-nss-devel
@ -271,27 +284,40 @@ BuildRequires: python2-Cython
%endif %endif
BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: python%{python3_pkgversion}-setuptools
%if 0%{?rhel} == 7
BuildRequires: python%{python3_version_nodots}-Cython
%else
BuildRequires: python%{python3_pkgversion}-Cython BuildRequires: python%{python3_pkgversion}-Cython
%endif
BuildRequires: python%{_python_buildid}-prettytable BuildRequires: python%{_python_buildid}-prettytable
BuildRequires: python%{_python_buildid}-sphinx BuildRequires: python%{_python_buildid}-sphinx
BuildRequires: lz4-devel >= 1.7 BuildRequires: lz4-devel >= 1.7
%endif %endif
# distro-conditional make check dependencies # distro-conditional make check dependencies
%if 0%{with make_check} %if 0%{with make_check}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel} == 7
BuildRequires: libtool-ltdl-devel
BuildRequires: python%{_python_buildid}-cherrypy BuildRequires: python%{_python_buildid}-cherrypy
BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-jwt
BuildRequires: python%{_python_buildid}-routes BuildRequires: python%{_python_buildid}-routes
BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: python%{_python_buildid}-werkzeug
BuildRequires: xmlsec1 BuildRequires: xmlsec1
BuildRequires: xmlsec1-devel
BuildRequires: xmlsec1-nss
BuildRequires: xmlsec1-openssl
BuildRequires: xmlsec1-openssl-devel
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
BuildRequires: libxmlsec1-1
BuildRequires: libxmlsec1-nss1
BuildRequires: libxmlsec1-openssl1
BuildRequires: python%{_python_buildid}-CherryPy BuildRequires: python%{_python_buildid}-CherryPy
BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-PyJWT
BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Routes
BuildRequires: python%{_python_buildid}-Werkzeug BuildRequires: python%{_python_buildid}-Werkzeug
BuildRequires: python%{_python_buildid}-numpy-devel BuildRequires: python%{_python_buildid}-numpy-devel
BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-devel
BuildRequires: xmlsec1-openssl-devel
%endif %endif
%endif %endif
# lttng and babeltrace for rbd-replay-prep # lttng and babeltrace for rbd-replay-prep
@ -326,6 +352,9 @@ BuildRequires: libcryptopp-devel
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
%endif %endif
%endif %endif
%if 0%{?rhel} >= 8
BuildRequires: /usr/bin/pathfix.py
%endif
%description %description
This package contains Ceph benchmarks and test tools. This package contains Ceph benchmarks and test tools.
@ -341,7 +370,7 @@ This package contains Ceph benchmarks and test tools.
%if 0%{with tcmalloc} %if 0%{with tcmalloc}
%endif %endif
%endif %endif
%if 0%{?suse_version} %if 0%{?weak_deps}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
@ -363,6 +392,8 @@ This package contains Ceph benchmarks and test tools.
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?weak_deps}
%endif
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
@ -387,6 +418,14 @@ This package contains Ceph benchmarks and test tools.
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
@ -407,6 +446,10 @@ This package contains Ceph benchmarks and test tools.
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{with seastar}
%if 0%{?suse_version}
%endif
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
@ -477,6 +520,12 @@ This package contains Ceph benchmarks and test tools.
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{with python2}
%if 0%{?suse_version}
%endif
%endif
%if 0%{?suse_version}
%endif
%if 0%{with cephfs_shell} %if 0%{with cephfs_shell}
%endif %endif
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
@ -504,11 +553,9 @@ This package contains Ceph benchmarks and test tools.
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%if 0%{?suse_version}
%endif
%endif %endif
%prep %prep
%autosetup -p1 -n ceph-14.2.4-373-gc3e67ed133 %autosetup -p1 -n ceph-15.0.0-7456-ge089cead79
%build %build
# LTO can be enabled as soon as the following GCC bug is fixed: # LTO can be enabled as soon as the following GCC bug is fixed:
@ -516,7 +563,7 @@ This package contains Ceph benchmarks and test tools.
%define _lto_cflags %{nil} %define _lto_cflags %{nil}
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable . /opt/rh/devtoolset-8/enable
%endif %endif
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
@ -530,6 +577,9 @@ done
# the following setting fixed an OOM condition we once encountered in the OBS # the following setting fixed an OOM condition we once encountered in the OBS
RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768"
%endif %endif
%if %{with minimal_debugging_information}
RPM_OPT_FLAGS="$(echo $RPM_OPT_FLAGS | sed -e 's/^-g /-g1 /g' -e 's/ -g / -g1 /g' -e 's/ -g$/ -g1/g')"
%endif
export CPPFLAGS="$java_inc" export CPPFLAGS="$java_inc"
export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$RPM_OPT_FLAGS"
@ -550,7 +600,7 @@ free -h
echo "System limits:" echo "System limits:"
ulimit -a ulimit -a
if test -n "$CEPH_SMP_NCPUS" -a "$CEPH_SMP_NCPUS" -gt 1 ; then if test -n "$CEPH_SMP_NCPUS" -a "$CEPH_SMP_NCPUS" -gt 1 ; then
mem_per_process=1800 mem_per_process=2500
max_mem=$(LANG=C free -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p") max_mem=$(LANG=C free -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p")
max_jobs="$(($max_mem / $mem_per_process))" max_jobs="$(($max_mem / $mem_per_process))"
test "$CEPH_SMP_NCPUS" -gt "$max_jobs" && CEPH_SMP_NCPUS="$max_jobs" && echo "Warning: Reducing build parallelism to -j$max_jobs because of memory limits" test "$CEPH_SMP_NCPUS" -gt "$max_jobs" && CEPH_SMP_NCPUS="$max_jobs" && echo "Warning: Reducing build parallelism to -j$max_jobs because of memory limits"
@ -580,6 +630,7 @@ ${CMAKE} .. \
-DWITH_MANPAGE=ON \ -DWITH_MANPAGE=ON \
-DWITH_PYTHON3=%{python3_version} \ -DWITH_PYTHON3=%{python3_version} \
-DWITH_MGR_DASHBOARD_FRONTEND=OFF \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
%if %{with python2} %if %{with python2}
-DWITH_PYTHON2=ON \ -DWITH_PYTHON2=ON \
%else %else
@ -659,6 +710,8 @@ chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf
install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING 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 0644 -D etc/sysctl/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf
install -m 0755 src/ceph-daemon/ceph-daemon %{buildroot}%{_sbindir}/ceph-daemon
# firewall templates and /sbin/mount.ceph symlink # firewall templates and /sbin/mount.ceph symlink
%if 0%{?suse_version} %if 0%{?suse_version}
mkdir -p %{buildroot}/sbin mkdir -p %{buildroot}/sbin
@ -671,6 +724,11 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules
# sudoers.d # sudoers.d
install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl install -m 0600 -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}/*
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/*
%endif
#set up placeholder directories #set up placeholder directories
mkdir -p %{buildroot}%{_sysconfdir}/ceph mkdir -p %{buildroot}%{_sysconfdir}/ceph
mkdir -p %{buildroot}%{_localstatedir}/run/ceph mkdir -p %{buildroot}%{_localstatedir}/run/ceph
@ -690,22 +748,15 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mgr
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror
# dashboard E2E tests
install -m 0755 -d %{buildroot}/%{_datadir}/ceph/dashboard-e2e
install -m 0755 src/script/dashboard_e2e_tests.sh %{buildroot}/%{_datadir}/ceph/dashboard-e2e/dashboard_e2e_tests.sh
install -m 0644 src/pybind/mgr/dashboard/frontend/angular.json %{buildroot}/%{_datadir}/ceph/dashboard-e2e/angular.json
install -m 0644 src/pybind/mgr/dashboard/frontend/protractor.conf.js %{buildroot}/%{_datadir}/ceph/dashboard-e2e/protractor.conf.js
install -m 0644 src/pybind/mgr/dashboard/frontend/package.json %{buildroot}/%{_datadir}/ceph/dashboard-e2e/package.json
install -m 0644 src/pybind/mgr/dashboard/frontend/package-lock.json %{buildroot}/%{_datadir}/ceph/dashboard-e2e/package-lock.json
install -m 0755 src/pybind/mgr/dashboard/frontend/tsconfig.json %{buildroot}/%{_datadir}/ceph/dashboard-e2e/tsconfig.json
cp -a src/pybind/mgr/dashboard/frontend/e2e/ %{buildroot}/%{_datadir}/ceph/dashboard-e2e
%if 0%{?suse_version} %if 0%{?suse_version}
# create __pycache__ directories and their contents # create __pycache__ directories and their contents
%py3_compile %{buildroot}%{python3_sitelib} %py3_compile %{buildroot}%{python3_sitelib}
# prometheus alerts # prometheus alerts
install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildroot}/etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildroot}/etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml
# hardlink duplicate files under /usr to save space
%fdupes %{buildroot}%{_prefix}
%endif %endif
%if 0%{?rhel} == 8 %if 0%{?rhel} == 8
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib} %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
%endif %endif
@ -736,12 +787,8 @@ rm -rf %{buildroot}%{_fillupdir}/sysconfig.*
rm -rf %{buildroot}%{_unitdir}/ceph.target rm -rf %{buildroot}%{_unitdir}/ceph.target
rm -rf %{buildroot}%{python_sitelib}/ceph_volume/* rm -rf %{buildroot}%{python_sitelib}/ceph_volume/*
rm -rf %{buildroot}%{python_sitelib}/ceph_volume-* rm -rf %{buildroot}%{python_sitelib}/ceph_volume-*
rm -rf %{buildroot}%{python_sitelib}/ceph_lvm*
rm -rf %{buildroot}%{python_sitelib}/ceph_volume_lvm*
rm -rf %{buildroot}%{python3_sitelib}/ceph_volume/* rm -rf %{buildroot}%{python3_sitelib}/ceph_volume/*
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-deploy.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-create-keys.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-create-keys.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-run.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-run.8*
@ -749,6 +796,7 @@ rm -rf %{buildroot}%{_mandir}/man8/crushtool.8*
rm -rf %{buildroot}%{_mandir}/man8/osdmaptool.8* rm -rf %{buildroot}%{_mandir}/man8/osdmaptool.8*
rm -rf %{buildroot}%{_mandir}/man8/monmaptool.8* rm -rf %{buildroot}%{_mandir}/man8/monmaptool.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-kvstore-tool.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-kvstore-tool.8*
rm -rf %{buildroot}%{_sbindir}/ceph-daemon
rm -rf %{buildroot}%doc rm -rf %{buildroot}%doc
rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf
rm -rf %{buildroot}%license rm -rf %{buildroot}%license
@ -799,6 +847,7 @@ rm -rf %{buildroot}%{_mandir}/man8/ceph-mds.8*
rm -rf %{buildroot}%{_unitdir}/ceph-mds@.service rm -rf %{buildroot}%{_unitdir}/ceph-mds@.service
rm -rf %{buildroot}%{_unitdir}/ceph-mds.target rm -rf %{buildroot}%{_unitdir}/ceph-mds.target
rm -rf %{buildroot}%{_bindir}/ceph-mgr rm -rf %{buildroot}%{_bindir}/ceph-mgr
rm -rf %{buildroot}%{_datadir}/ceph/mgr/alerts
rm -rf %{buildroot}%{_datadir}/ceph/mgr/ansible rm -rf %{buildroot}%{_datadir}/ceph/mgr/ansible
rm -rf %{buildroot}%{_datadir}/ceph/mgr/balancer rm -rf %{buildroot}%{_datadir}/ceph/mgr/balancer
rm -rf %{buildroot}%{_datadir}/ceph/mgr/crash rm -rf %{buildroot}%{_datadir}/ceph/mgr/crash
@ -831,6 +880,7 @@ rm -rf %{buildroot}%{_datadir}/ceph/mgr/dashboard
rm -rf %{buildroot}%{_datadir}/ceph/mgr/diskprediction_local rm -rf %{buildroot}%{_datadir}/ceph/mgr/diskprediction_local
rm -rf %{buildroot}%{_datadir}/ceph/mgr/diskprediction_cloud rm -rf %{buildroot}%{_datadir}/ceph/mgr/diskprediction_cloud
rm -rf %{buildroot}%{_datadir}/ceph/mgr/rook rm -rf %{buildroot}%{_datadir}/ceph/mgr/rook
rm -rf %{buildroot}%{_datadir}/ceph/mgr/k8sevents
rm -rf %{buildroot}%{_datadir}/ceph/mgr/ssh rm -rf %{buildroot}%{_datadir}/ceph/mgr/ssh
rm -rf %{buildroot}%{_bindir}/ceph-mon rm -rf %{buildroot}%{_bindir}/ceph-mon
rm -rf %{buildroot}%{_bindir}/ceph-monstore-tool rm -rf %{buildroot}%{_bindir}/ceph-monstore-tool
@ -848,6 +898,10 @@ rm -rf %{buildroot}%{_bindir}/rbd-mirror
rm -rf %{buildroot}%{_mandir}/man8/rbd-mirror.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-mirror.8*
rm -rf %{buildroot}%{_unitdir}/ceph-rbd-mirror@.service rm -rf %{buildroot}%{_unitdir}/ceph-rbd-mirror@.service
rm -rf %{buildroot}%{_unitdir}/ceph-rbd-mirror.target rm -rf %{buildroot}%{_unitdir}/ceph-rbd-mirror.target
rm -rf %{buildroot}%{_bindir}/ceph-immutable-object-cache
rm -rf %{buildroot}%{_mandir}/man8/ceph-immutable-object-cache.8*
rm -rf %{buildroot}%{_unitdir}/ceph-immutable-object-cache@.service
rm -rf %{buildroot}%{_unitdir}/ceph-immutable-object-cache.target
rm -rf %{buildroot}%{_bindir}/rbd-nbd rm -rf %{buildroot}%{_bindir}/rbd-nbd
rm -rf %{buildroot}%{_mandir}/man8/rbd-nbd.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-nbd.8*
rm -rf %{buildroot}%{_bindir}/radosgw rm -rf %{buildroot}%{_bindir}/radosgw
@ -875,6 +929,7 @@ rm -rf %{buildroot}%{_unitdir}/ceph-osd.target
rm -rf %{buildroot}%{_unitdir}/ceph-volume@.service rm -rf %{buildroot}%{_unitdir}/ceph-volume@.service
rm -rf %{buildroot}%{_sysctldir}/90-ceph-osd.conf rm -rf %{buildroot}%{_sysctldir}/90-ceph-osd.conf
rm -rf %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl rm -rf %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl
rm -rf %{buildroot}%{_bindir}/crimson-osd
rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd
rm -rf %{buildroot}%{_libdir}/librados.so.* rm -rf %{buildroot}%{_libdir}/librados.so.*
rm -rf %{buildroot}%{_libdir}/ceph/libceph-common.so.* rm -rf %{buildroot}%{_libdir}/ceph/libceph-common.so.*
@ -910,13 +965,15 @@ rm -rf %{buildroot}%{_libdir}/librbd.so
rm -rf %{buildroot}%{_libdir}/librbd_tp.so rm -rf %{buildroot}%{_libdir}/librbd_tp.so
rm -rf %{buildroot}%{_libdir}/librgw.so.* rm -rf %{buildroot}%{_libdir}/librgw.so.*
rm -rf %{buildroot}%{_libdir}/librgw_admin_user.so.* rm -rf %{buildroot}%{_libdir}/librgw_admin_user.so.*
rm -rf %{buildroot}%{_libdir}/librgw_op_tp.so* rm -rf %{buildroot}%{_libdir}/librgw_op_tp.so.*
rm -rf %{buildroot}%{_libdir}/librgw_rados_tp.so* rm -rf %{buildroot}%{_libdir}/librgw_rados_tp.so.*
rm -rf %{buildroot}%{_includedir}/rados/librgw.h rm -rf %{buildroot}%{_includedir}/rados/librgw.h
rm -rf %{buildroot}%{_includedir}/rados/librgw_admin_user.h rm -rf %{buildroot}%{_includedir}/rados/librgw_admin_user.h
rm -rf %{buildroot}%{_includedir}/rados/rgw_file.h rm -rf %{buildroot}%{_includedir}/rados/rgw_file.h
rm -rf %{buildroot}%{_libdir}/librgw.so rm -rf %{buildroot}%{_libdir}/librgw.so
rm -rf %{buildroot}%{_libdir}/librgw_admin_user.so rm -rf %{buildroot}%{_libdir}/librgw_admin_user.so
rm -rf %{buildroot}%{_libdir}/librgw_op_tp.so
rm -rf %{buildroot}%{_libdir}/librgw_rados_tp.so
rm -rf %{buildroot}%{python_sitearch}/rgw.so rm -rf %{buildroot}%{python_sitearch}/rgw.so
rm -rf %{buildroot}%{python_sitearch}/rgw-*.egg-info rm -rf %{buildroot}%{python_sitearch}/rgw-*.egg-info
rm -rf %{buildroot}%{python3_sitearch}/rgw.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/rgw.cpython*.so
@ -942,6 +999,10 @@ rm -rf %{buildroot}%{python3_sitelib}/ceph_argparse.py
rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py* rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py*
rm -rf %{buildroot}%{python3_sitelib}/ceph_daemon.py rm -rf %{buildroot}%{python3_sitelib}/ceph_daemon.py
rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py* rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
rm -rf %{buildroot}%{python_sitelib}/ceph
rm -rf %{buildroot}%{python_sitelib}/ceph-*.egg-info
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}%{python3_sitelib}/cephfs_shell-*.egg-info
rm -rf %{buildroot}%{_bindir}/cephfs-shell rm -rf %{buildroot}%{_bindir}/cephfs-shell
rm -rf %{buildroot}%{_libdir}/libcephfs_jni.so.* rm -rf %{buildroot}%{_libdir}/libcephfs_jni.so.*
@ -958,7 +1019,6 @@ rm -rf %{buildroot}monitoring/grafana/dashboards/README
rm -rf %{buildroot}%doc rm -rf %{buildroot}%doc
rm -rf %{buildroot}monitoring/grafana/README.md rm -rf %{buildroot}monitoring/grafana/README.md
rm -rf %{buildroot}/etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml rm -rf %{buildroot}/etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml
rm -rf %{buildroot}%{_datadir}/ceph/dashboard-e2e
dirs=`find %{buildroot} -type d -empty` dirs=`find %{buildroot} -type d -empty`
while [[ -n $dirs ]]; do while [[ -n $dirs ]]; do
@ -1068,6 +1128,18 @@ rm -rf %{buildroot}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%endif %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} %if 0%{?sysctl_apply}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
@ -1078,6 +1150,8 @@ rm -rf %{buildroot}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%endif %endif
%if 0%{with seastar}
%endif
%if %{with ocf} %if %{with ocf}
%endif %endif
%if %{with lttng} %if %{with lttng}
@ -1094,6 +1168,10 @@ rm -rf %{buildroot}
%endif %endif
%if %{with lttng} %if %{with lttng}
%endif %endif
%if %{with lttng}
%endif
%if 0%{with python2}
%endif
%if 0%{with python2} %if 0%{with python2}
%endif %endif
%if 0%{with python2} %if 0%{with python2}
@ -1127,7 +1205,7 @@ rm -rf %{buildroot}
%{_bindir}/ceph_test_* %{_bindir}/ceph_test_*
%{_bindir}/ceph-coverage %{_bindir}/ceph-coverage
%{_bindir}/ceph-debugpack %{_bindir}/ceph-debugpack
%{_bindir}/cephdeduptool %{_bindir}/ceph-dedup-tool
%{_mandir}/man8/ceph-debugpack.8* %{_mandir}/man8/ceph-debugpack.8*
%dir %{_libdir}/ceph %dir %{_libdir}/ceph
%{_libdir}/ceph/ceph-monstore-update-crush.sh %{_libdir}/ceph/ceph-monstore-update-crush.sh

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Thu Nov 21 10:10:02 UTC 2019 - Nathan Cutler <ncutler@suse.com>
- Update to 15.0.0-7456-ge089cead79:
+ rebase on tip of upstream master, SHA1 e4b3036422df70e3c911240e3bba6a8bd3e9c792
-------------------------------------------------------------------
Fri Nov 18 13:18:17 UTC 2019 - Nathan Cutler <ncutler@suse.com>
- Update to 15.0.0-7219-g353896020b:
+ rebase on tip of upstream master, SHA1 7ffb5d9e79207da81af933f4e95655e16558c739
-------------------------------------------------------------------
Fri Nov 15 13:33:41 UTC 2019 - Nathan Cutler <ncutler@suse.com>
- Update to 14.2.4-386-g73475e3ee1:
+ os/bluestore: consolidate extents from the same device only (bsc#1156282)
-------------------------------------------------------------------
Fri Oct 18 14:19:23 UTC 2019 - Nathan Cutler <ncutler@suse.com>
- Update to 14.2.4-378-gac1bcd6547:
+ qa/suse: move dashboard-e2e to tier3 and add debugging code to
src/script/dashboard_e2e_tests.sh
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Oct 2 14:23:24 UTC 2019 - Nathan Cutler <ncutler@suse.com> Wed Oct 2 14:23:24 UTC 2019 - Nathan Cutler <ncutler@suse.com>

306
ceph.spec
View File

@ -21,6 +21,8 @@
# bcond syntax! # bcond syntax!
################################################################################# #################################################################################
%bcond_with make_check %bcond_with make_check
%bcond_with ceph_test_package
%bcond_with minimal_debugging_information
%ifarch s390 s390x %ifarch s390 s390x
%bcond_with tcmalloc %bcond_with tcmalloc
%else %else
@ -28,17 +30,19 @@
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%bcond_without selinux %bcond_without selinux
%bcond_without ceph_test_package %if 0%{?rhel} >= 8
%bcond_with cephfs_java
%else
%bcond_without cephfs_java %bcond_without cephfs_java
%endif
%bcond_without amqp_endpoint
%bcond_without lttng %bcond_without lttng
%bcond_without libradosstriper %bcond_without libradosstriper
%bcond_without ocf %bcond_without ocf
%bcond_without amqp_endpoint
%global _remote_tarball_prefix https://download.ceph.com/tarballs/ %global _remote_tarball_prefix https://download.ceph.com/tarballs/
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%bcond_with selinux %bcond_with selinux
%bcond_with ceph_test_package
%bcond_with cephfs_java %bcond_with cephfs_java
%bcond_with amqp_endpoint %bcond_with amqp_endpoint
#Compat macro for new _fillupdir macro introduced in Nov 2017 #Compat macro for new _fillupdir macro introduced in Nov 2017
@ -76,7 +80,9 @@
%if 0%{without python2} %if 0%{without python2}
%global _defined_if_python2_absent 1 %global _defined_if_python2_absent 1
%endif %endif
%if 0%{?fedora} || 0%{?suse_version}
%global weak_deps 1
%endif
%if %{with selinux} %if %{with selinux}
# get selinux policy version # get selinux policy version
%{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0} %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
@ -85,6 +91,7 @@
%{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d}
%{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create}
%{!?python3_pkgversion: %global python3_pkgversion 3} %{!?python3_pkgversion: %global python3_pkgversion 3}
%{!?python3_version_nodots: %global python3_version_nodots 3}
%{!?python3_version: %global python3_version 3} %{!?python3_version: %global python3_version 3}
# define _python_buildid macro which will expand to the empty string when # define _python_buildid macro which will expand to the empty string when
# building with python2 # building with python2
@ -100,7 +107,7 @@
# main package definition # main package definition
################################################################################# #################################################################################
Name: ceph Name: ceph
Version: 14.2.4.373+gc3e67ed133 Version: 15.0.0.7456+ge089cead79
Release: 0%{?dist} Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Epoch: 2 Epoch: 2
@ -111,12 +118,12 @@ Epoch: 2
%global _epoch_prefix %{?epoch:%{epoch}:} %global _epoch_prefix %{?epoch:%{epoch}:}
Summary: User space components of the Ceph file system Summary: User space components of the Ceph file system
License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Filesystems Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-14.2.4-373-gc3e67ed133.tar.bz2 Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7456-ge089cead79.tar.bz2
%if 0%{?suse_version} %if 0%{?suse_version}
# _insert_obs_source_lines_here # _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x ExclusiveArch: x86_64 aarch64 ppc64le s390x
@ -148,7 +155,7 @@ BuildRequires: fuse-devel
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
# devtoolset offers newer make and valgrind-devel, but the old ones are good # devtoolset offers newer make and valgrind-devel, but the old ones are good
# enough. # enough.
BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 BuildRequires: devtoolset-8-gcc-c++ >= 8.3.1-3.1
%else %else
BuildRequires: gcc-c++ BuildRequires: gcc-c++
%endif %endif
@ -165,14 +172,16 @@ BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel BuildRequires: libaio-devel
BuildRequires: libblkid-devel >= 2.17 BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcurl-devel BuildRequires: libcurl-devel
BuildRequires: libcap-ng-devel
BuildRequires: libudev-devel BuildRequires: libudev-devel
BuildRequires: libnl3-devel
BuildRequires: liboath-devel BuildRequires: liboath-devel
BuildRequires: libtool BuildRequires: libtool
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: libuuid-devel
BuildRequires: make BuildRequires: make
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: parted BuildRequires: parted
BuildRequires: patch
BuildRequires: perl BuildRequires: perl
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: procps BuildRequires: procps
@ -193,14 +202,17 @@ BuildRequires: librabbitmq-devel
%endif %endif
%if 0%{with make_check} %if 0%{with make_check}
BuildRequires: jq BuildRequires: jq
BuildRequires: libuuid-devel
BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: python%{_python_buildid}-bcrypt
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-nose
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-requests
BuildRequires: python%{_python_buildid}-six BuildRequires: python%{_python_buildid}-six
BuildRequires: python%{_python_buildid}-tox
BuildRequires: python%{_python_buildid}-virtualenv BuildRequires: python%{_python_buildid}-virtualenv
%if 0%{?rhel} < 8
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-tox
%endif
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
BuildRequires: pyOpenSSL%{_python_buildid} BuildRequires: pyOpenSSL%{_python_buildid}
%else %else
@ -227,6 +239,7 @@ BuildRequires: pkgconfig(systemd)
BuildRequires: systemd-rpm-macros BuildRequires: systemd-rpm-macros
%{?systemd_requires} %{?systemd_requires}
PreReq: %fillup_prereq PreReq: %fillup_prereq
BuildRequires: fdupes
BuildRequires: net-tools BuildRequires: net-tools
BuildRequires: libbz2-devel BuildRequires: libbz2-devel
BuildRequires: mozilla-nss-devel BuildRequires: mozilla-nss-devel
@ -263,27 +276,40 @@ BuildRequires: python2-Cython
%endif %endif
BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: python%{python3_pkgversion}-setuptools
%if 0%{?rhel} == 7
BuildRequires: python%{python3_version_nodots}-Cython
%else
BuildRequires: python%{python3_pkgversion}-Cython BuildRequires: python%{python3_pkgversion}-Cython
%endif
BuildRequires: python%{_python_buildid}-prettytable BuildRequires: python%{_python_buildid}-prettytable
BuildRequires: python%{_python_buildid}-sphinx BuildRequires: python%{_python_buildid}-sphinx
BuildRequires: lz4-devel >= 1.7 BuildRequires: lz4-devel >= 1.7
%endif %endif
# distro-conditional make check dependencies # distro-conditional make check dependencies
%if 0%{with make_check} %if 0%{with make_check}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel} == 7
BuildRequires: libtool-ltdl-devel
BuildRequires: python%{_python_buildid}-cherrypy BuildRequires: python%{_python_buildid}-cherrypy
BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-jwt
BuildRequires: python%{_python_buildid}-routes BuildRequires: python%{_python_buildid}-routes
BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: python%{_python_buildid}-werkzeug
BuildRequires: xmlsec1 BuildRequires: xmlsec1
BuildRequires: xmlsec1-devel
BuildRequires: xmlsec1-nss
BuildRequires: xmlsec1-openssl
BuildRequires: xmlsec1-openssl-devel
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
BuildRequires: libxmlsec1-1
BuildRequires: libxmlsec1-nss1
BuildRequires: libxmlsec1-openssl1
BuildRequires: python%{_python_buildid}-CherryPy BuildRequires: python%{_python_buildid}-CherryPy
BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-PyJWT
BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Routes
BuildRequires: python%{_python_buildid}-Werkzeug BuildRequires: python%{_python_buildid}-Werkzeug
BuildRequires: python%{_python_buildid}-numpy-devel BuildRequires: python%{_python_buildid}-numpy-devel
BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-devel
BuildRequires: xmlsec1-openssl-devel
%endif %endif
%endif %endif
# lttng and babeltrace for rbd-replay-prep # lttng and babeltrace for rbd-replay-prep
@ -318,6 +344,9 @@ BuildRequires: libcryptopp-devel
BuildRequires: libnuma-devel BuildRequires: libnuma-devel
%endif %endif
%endif %endif
%if 0%{?rhel} >= 8
BuildRequires: /usr/bin/pathfix.py
%endif
%description %description
Ceph is a massively scalable, open-source, distributed storage system that runs Ceph is a massively scalable, open-source, distributed storage system that runs
@ -348,7 +377,6 @@ Requires: grep
Requires: logrotate Requires: logrotate
Requires: parted Requires: parted
Requires: psmisc Requires: psmisc
Requires: python%{_python_buildid}-requests
Requires: python%{_python_buildid}-setuptools Requires: python%{_python_buildid}-setuptools
Requires: util-linux Requires: util-linux
Requires: xfsprogs Requires: xfsprogs
@ -360,13 +388,20 @@ Requires: which
Requires: gperftools-libs >= 2.6.1 Requires: gperftools-libs >= 2.6.1
%endif %endif
%endif %endif
%if 0%{?suse_version} %if 0%{?weak_deps}
Recommends: chrony Recommends: chrony
Requires: gptfdisk Requires: gptfdisk
%endif %endif
%description base %description base
Base is the package that includes all the files shared amongst ceph servers Base is the package that includes all the files shared amongst ceph servers
%package -n ceph-daemon
Summary: Ceph-daemon utility to bootstrap Ceph clusters
Requires: podman
%description -n ceph-daemon
Ceph-daemon utility to bootstrap a Ceph cluster and manage ceph daemons
deployed with systemd and podman.
%package -n ceph-common %package -n ceph-common
Summary: Ceph Common Summary: Ceph Common
%if 0%{?suse_version} %if 0%{?suse_version}
@ -380,7 +415,7 @@ Requires: python%{_python_buildid}-rbd = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-cephfs = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-cephfs = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-rgw = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-rgw = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-ceph-argparse = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-requests Requires: python%{_python_buildid}-ceph-common = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-prettytable Requires: python%{_python_buildid}-prettytable
%endif %endif
@ -434,6 +469,7 @@ Group: System/Filesystems
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-bcrypt Requires: python%{_python_buildid}-bcrypt
Requires: python%{_python_buildid}-pecan Requires: python%{_python_buildid}-pecan
Requires: python%{_python_buildid}-requests
Requires: python%{_python_buildid}-six Requires: python%{_python_buildid}-six
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-cherrypy Requires: python%{_python_buildid}-cherrypy
@ -442,11 +478,15 @@ Requires: python%{_python_buildid}-werkzeug
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: python%{_python_buildid}-CherryPy Requires: python%{_python_buildid}-CherryPy
Requires: python%{_python_buildid}-Werkzeug Requires: python%{_python_buildid}-Werkzeug
Recommends: python%{_python_buildid}-influxdb %endif
%if 0%{?weak_deps}
Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-diskprediction-cloud = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-diskprediction-cloud = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-rook = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-rook = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-k8sevents = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-ssh = %{_epoch_prefix}%{version}-%{release}
Recommends: python%{_python_buildid}-influxdb
%endif %endif
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
Requires: pyOpenSSL Requires: pyOpenSSL
@ -469,6 +509,7 @@ Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: ceph-grafana-dashboards = %{_epoch_prefix}%{version}-%{release} Requires: ceph-grafana-dashboards = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-cherrypy Requires: python%{_python_buildid}-cherrypy
Requires: python%{_python_buildid}-ipaddress
Requires: python%{_python_buildid}-jwt Requires: python%{_python_buildid}-jwt
Requires: python%{_python_buildid}-routes Requires: python%{_python_buildid}-routes
Requires: python%{_python_buildid}-werkzeug Requires: python%{_python_buildid}-werkzeug
@ -491,7 +532,7 @@ See the Dashboard documentation at http://docs.ceph.com/ for details and a
detailed feature overview. detailed feature overview.
%package mgr-diskprediction-local %package mgr-diskprediction-local
Summary: ceph-mgr diskprediction_local plugin Summary: Ceph Manager plugin for predicting disk failures
BuildArch: noarch BuildArch: noarch
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Filesystems Group: System/Filesystems
@ -514,7 +555,7 @@ ceph-mgr-diskprediction-local is a ceph-mgr plugin that tries to predict
disk failures using local algorithms and machine-learning databases. disk failures using local algorithms and machine-learning databases.
%package mgr-diskprediction-cloud %package mgr-diskprediction-cloud
Summary: ceph-mgr diskprediction_cloud plugin Summary: Ceph Manager plugin for cloud-based disk failure prediction
BuildArch: noarch BuildArch: noarch
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Filesystems Group: System/Filesystems
@ -526,7 +567,7 @@ disk failures using services in the Google cloud.
%package mgr-rook %package mgr-rook
BuildArch: noarch BuildArch: noarch
Summary: ceph-mgr rook plugin Summary: Ceph Manager plugin for Rook-based orchestration
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Filesystems Group: System/Filesystems
%endif %endif
@ -536,14 +577,33 @@ Requires: python%{_python_buildid}-kubernetes
ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using
a Rook backend. a Rook backend.
%package mgr-k8sevents
BuildArch: noarch
Summary: Ceph Manager plugin to orchestrate ceph-events to kubernetes' events API
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-kubernetes
%if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-yaml
%endif
%if 0%{?suse_version}
Requires: python%{_python_buildid}-PyYAML
%endif
%description mgr-k8sevents
ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events
to kubernetes' events API
%package mgr-ssh %package mgr-ssh
Summary: ceph-mgr ssh module Summary: Ceph Manager plugin for SSH-based orchestration
BuildArch: noarch BuildArch: noarch
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Filesystems Group: System/Filesystems
%endif %endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-remoto Requires: python%{_python_buildid}-remoto
Requires: ceph-daemon = %{_epoch_prefix}%{version}-%{release}
%description mgr-ssh %description mgr-ssh
ceph-mgr-ssh is a ceph-mgr module for orchestration functions using ceph-mgr-ssh is a ceph-mgr module for orchestration functions using
direct SSH connections for management operations. direct SSH connections for management operations.
@ -580,6 +640,15 @@ Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Daemon for mirroring RBD images between Ceph clusters, streaming Daemon for mirroring RBD images between Ceph clusters, streaming
changes asynchronously. changes asynchronously.
%package immutable-object-cache
Summary: Ceph daemon for immutable object cache
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
%description immutable-object-cache
Daemon for immutable object cache.
%package -n rbd-nbd %package -n rbd-nbd
Summary: Ceph RBD client base on NBD Summary: Ceph RBD client base on NBD
%if 0%{?suse_version} %if 0%{?suse_version}
@ -633,12 +702,25 @@ Provides: ceph-test:/usr/bin/ceph-osdomap-tool
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: lvm2 Requires: lvm2
Requires: sudo Requires: sudo
Requires: libstoragemgmt Requires: libstoragemgmt
%description osd %description osd
ceph-osd is the object storage daemon for the Ceph distributed file ceph-osd is the object storage daemon for the Ceph distributed file
system. It is responsible for storing objects on a local file system system. It is responsible for storing objects on a local file system
and providing access to them over the network. and providing access to them over the network.
%if 0%{with seastar}
%package crimson-osd
Summary: Ceph Object Storage Daemon (crimson)
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release}
%description crimson-osd
crimson-osd is the object storage daemon for the Ceph distributed file
system. It is responsible for storing objects on a local file system
and providing access to them over the network.
%endif
%package -n librados2 %package -n librados2
Summary: RADOS distributed object store client library Summary: RADOS distributed object store client library
%if 0%{?suse_version} %if 0%{?suse_version}
@ -708,6 +790,7 @@ Group: Development/Libraries/Python
%endif %endif
Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python-rgw}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rgw %description -n python-rgw
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
@ -721,7 +804,7 @@ Group: Development/Libraries/Python
%endif %endif
Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
Provides: python3-rgw = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rgw}
%if 0%{without python2} %if 0%{without python2}
Provides: python-rgw = %{_epoch_prefix}%{version}-%{release} Provides: python-rgw = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rgw < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rgw < %{_epoch_prefix}%{version}-%{release}
@ -737,6 +820,7 @@ Summary: Python 2 libraries for the RADOS object store
Group: Development/Libraries/Python Group: Development/Libraries/Python
%endif %endif
Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python-rados}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rados %description -n python-rados
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
@ -750,7 +834,7 @@ Group: Development/Libraries/Python
%endif %endif
Requires: python%{python3_pkgversion} Requires: python%{python3_pkgversion}
Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
Provides: python3-rados = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rados}
%if 0%{without python2} %if 0%{without python2}
Provides: python-rados = %{_epoch_prefix}%{version}-%{release} Provides: python-rados = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release}
@ -828,6 +912,7 @@ Group: Development/Libraries/Python
%endif %endif
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python-rbd}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rbd %description -n python-rbd
This package contains Python 2 libraries for interacting with Cephs RADOS This package contains Python 2 libraries for interacting with Cephs RADOS
@ -841,7 +926,7 @@ Group: Development/Libraries/Python
%endif %endif
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
Provides: python3-rbd = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rbd}
%if 0%{without python2} %if 0%{without python2}
Provides: python-rbd = %{_epoch_prefix}%{version}-%{release} Provides: python-rbd = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rbd < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rbd < %{_epoch_prefix}%{version}-%{release}
@ -889,6 +974,7 @@ Group: Development/Libraries/Python
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release} Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
Requires: python-ceph-argparse = %{_epoch_prefix}%{version}-%{release} Requires: python-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python-cephfs}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-cephfs %description -n python-cephfs
This package contains Python 2 libraries for interacting with Cephs distributed This package contains Python 2 libraries for interacting with Cephs distributed
@ -903,7 +989,7 @@ Group: Development/Libraries/Python
Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release}
Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release}
Provides: python3-cephfs = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-cephfs}
%if 0%{without python2} %if 0%{without python2}
Provides: python-cephfs = %{_epoch_prefix}%{version}-%{release} Provides: python-cephfs = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-cephfs < %{_epoch_prefix}%{version}-%{release} Obsoletes: python-cephfs < %{_epoch_prefix}%{version}-%{release}
@ -918,6 +1004,7 @@ Summary: Python 2 utility libraries for Ceph CLI
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Libraries/Python Group: Development/Libraries/Python
%endif %endif
%{?python_provide:%python_provide python-ceph-argparse}
%description -n python-ceph-argparse %description -n python-ceph-argparse
This package contains types and routines for Python 2 used by the Ceph CLI as This package contains types and routines for Python 2 used by the Ceph CLI as
well as the RESTful interface. These have to do with querying the daemons for well as the RESTful interface. These have to do with querying the daemons for
@ -930,13 +1017,35 @@ Summary: Python 3 utility libraries for Ceph CLI
%if 0%{?suse_version} %if 0%{?suse_version}
Group: Development/Libraries/Python Group: Development/Libraries/Python
%endif %endif
Provides: python3-ceph-argparse = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-argparse}
%description -n python%{python3_pkgversion}-ceph-argparse %description -n python%{python3_pkgversion}-ceph-argparse
This package contains types and routines for Python 3 used by the Ceph CLI as This package contains types and routines for Python 3 used by the Ceph CLI as
well as the RESTful interface. These have to do with querying the daemons for well as the RESTful interface. These have to do with querying the daemons for
command-description information, validating user command input against those command-description information, validating user command input against those
descriptions, and submitting the command to the appropriate daemon. descriptions, and submitting the command to the appropriate daemon.
%if 0%{with python2}
%package -n python-ceph-common
Summary: Python 2 utility libraries for Ceph
%if 0%{?suse_version}
Group: Development/Libraries/Python
%endif
%{?python_provide:%python_provide python-ceph-common}
%description -n python-ceph-common
This package contains data structures, classes and functions used by Ceph.
It also contains utilities used for the SSH orchestrator.
%endif
%package -n python%{python3_pkgversion}-ceph-common
Summary: Python 3 utility libraries for Ceph
%if 0%{?suse_version}
Group: Development/Libraries/Python
%endif
%{?python_provide:%python_provide python%{python3_pkgversion}-ceph-common}
%description -n python%{python3_pkgversion}-ceph-common
This package contains data structures, classes and functions used by Ceph.
It also contains utilities used for the SSH orchestrator.
%if 0%{with cephfs_shell} %if 0%{with cephfs_shell}
%package -n cephfs-shell %package -n cephfs-shell
Summary: Interactive shell for Ceph file system Summary: Interactive shell for Ceph file system
@ -1072,24 +1181,13 @@ BuildArch: noarch
Group: System/Monitoring Group: System/Monitoring
%description prometheus-alerts %description prometheus-alerts
This package provides Cephs default alerts for Prometheus. This package provides Cephs default alerts for Prometheus.
%package dashboard-e2e
Summary: Standalone Ceph Dashboard End-To-End ("E2E") tests
BuildArch: noarch
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-common = %{_epoch_prefix}%{version}-%{release}
%description dashboard-e2e
This package provides the Ceph Dashboard End-To-End ("E2E") tests as a
standalone RPM for use in Continuous Integration and ad hoc testing.
%endif %endif
################################################################################# #################################################################################
# common # common
################################################################################# #################################################################################
%prep %prep
%autosetup -p1 -n ceph-14.2.4-373-gc3e67ed133 %autosetup -p1 -n ceph-15.0.0-7456-ge089cead79
%build %build
# LTO can be enabled as soon as the following GCC bug is fixed: # LTO can be enabled as soon as the following GCC bug is fixed:
@ -1097,7 +1195,7 @@ standalone RPM for use in Continuous Integration and ad hoc testing.
%define _lto_cflags %{nil} %define _lto_cflags %{nil}
%if 0%{?rhel} == 7 %if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable . /opt/rh/devtoolset-8/enable
%endif %endif
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
@ -1111,6 +1209,9 @@ done
# the following setting fixed an OOM condition we once encountered in the OBS # the following setting fixed an OOM condition we once encountered in the OBS
RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768" RPM_OPT_FLAGS="$RPM_OPT_FLAGS --param ggc-min-expand=20 --param ggc-min-heapsize=32768"
%endif %endif
%if %{with minimal_debugging_information}
RPM_OPT_FLAGS="$(echo $RPM_OPT_FLAGS | sed -e 's/^-g /-g1 /g' -e 's/ -g / -g1 /g' -e 's/ -g$/ -g1/g')"
%endif
export CPPFLAGS="$java_inc" export CPPFLAGS="$java_inc"
export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$RPM_OPT_FLAGS"
@ -1131,7 +1232,7 @@ free -h
echo "System limits:" echo "System limits:"
ulimit -a ulimit -a
if test -n "$CEPH_SMP_NCPUS" -a "$CEPH_SMP_NCPUS" -gt 1 ; then if test -n "$CEPH_SMP_NCPUS" -a "$CEPH_SMP_NCPUS" -gt 1 ; then
mem_per_process=1800 mem_per_process=2500
max_mem=$(LANG=C free -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p") max_mem=$(LANG=C free -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p")
max_jobs="$(($max_mem / $mem_per_process))" max_jobs="$(($max_mem / $mem_per_process))"
test "$CEPH_SMP_NCPUS" -gt "$max_jobs" && CEPH_SMP_NCPUS="$max_jobs" && echo "Warning: Reducing build parallelism to -j$max_jobs because of memory limits" test "$CEPH_SMP_NCPUS" -gt "$max_jobs" && CEPH_SMP_NCPUS="$max_jobs" && echo "Warning: Reducing build parallelism to -j$max_jobs because of memory limits"
@ -1161,6 +1262,7 @@ ${CMAKE} .. \
-DWITH_MANPAGE=ON \ -DWITH_MANPAGE=ON \
-DWITH_PYTHON3=%{python3_version} \ -DWITH_PYTHON3=%{python3_version} \
-DWITH_MGR_DASHBOARD_FRONTEND=OFF \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
%if %{with python2} %if %{with python2}
-DWITH_PYTHON2=ON \ -DWITH_PYTHON2=ON \
%else %else
@ -1240,6 +1342,8 @@ chmod 0644 %{buildroot}%{_docdir}/ceph/sample.ceph.conf
install -m 0644 -D COPYING %{buildroot}%{_docdir}/ceph/COPYING 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 0644 -D etc/sysctl/90-ceph-osd.conf %{buildroot}%{_sysctldir}/90-ceph-osd.conf
install -m 0755 src/ceph-daemon/ceph-daemon %{buildroot}%{_sbindir}/ceph-daemon
# firewall templates and /sbin/mount.ceph symlink # firewall templates and /sbin/mount.ceph symlink
%if 0%{?suse_version} %if 0%{?suse_version}
mkdir -p %{buildroot}/sbin mkdir -p %{buildroot}/sbin
@ -1252,6 +1356,11 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules
# sudoers.d # sudoers.d
install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl install -m 0600 -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}/*
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/*
%endif
#set up placeholder directories #set up placeholder directories
mkdir -p %{buildroot}%{_sysconfdir}/ceph mkdir -p %{buildroot}%{_sysconfdir}/ceph
mkdir -p %{buildroot}%{_localstatedir}/run/ceph mkdir -p %{buildroot}%{_localstatedir}/run/ceph
@ -1271,22 +1380,15 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mgr
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror
# dashboard E2E tests
install -m 0755 -d %{buildroot}/%{_datadir}/ceph/dashboard-e2e
install -m 0755 src/script/dashboard_e2e_tests.sh %{buildroot}/%{_datadir}/ceph/dashboard-e2e/dashboard_e2e_tests.sh
install -m 0644 src/pybind/mgr/dashboard/frontend/angular.json %{buildroot}/%{_datadir}/ceph/dashboard-e2e/angular.json
install -m 0644 src/pybind/mgr/dashboard/frontend/protractor.conf.js %{buildroot}/%{_datadir}/ceph/dashboard-e2e/protractor.conf.js
install -m 0644 src/pybind/mgr/dashboard/frontend/package.json %{buildroot}/%{_datadir}/ceph/dashboard-e2e/package.json
install -m 0644 src/pybind/mgr/dashboard/frontend/package-lock.json %{buildroot}/%{_datadir}/ceph/dashboard-e2e/package-lock.json
install -m 0755 src/pybind/mgr/dashboard/frontend/tsconfig.json %{buildroot}/%{_datadir}/ceph/dashboard-e2e/tsconfig.json
cp -a src/pybind/mgr/dashboard/frontend/e2e/ %{buildroot}/%{_datadir}/ceph/dashboard-e2e
%if 0%{?suse_version} %if 0%{?suse_version}
# create __pycache__ directories and their contents # create __pycache__ directories and their contents
%py3_compile %{buildroot}%{python3_sitelib} %py3_compile %{buildroot}%{python3_sitelib}
# prometheus alerts # prometheus alerts
install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildroot}/etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml install -m 644 -D monitoring/prometheus/alerts/ceph_default_alerts.yml %{buildroot}/etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml
# hardlink duplicate files under /usr to save space
%fdupes %{buildroot}%{_prefix}
%endif %endif
%if 0%{?rhel} == 8 %if 0%{?rhel} == 8
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib} %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
%endif %endif
@ -1340,14 +1442,10 @@ rm -rf %{buildroot}
%dir %{python_sitelib}/ceph_volume %dir %{python_sitelib}/ceph_volume
%{python_sitelib}/ceph_volume/* %{python_sitelib}/ceph_volume/*
%{python_sitelib}/ceph_volume-* %{python_sitelib}/ceph_volume-*
%{python_sitelib}/ceph_lvm*
%{python_sitelib}/ceph_volume_lvm*
%else %else
%dir %{python3_sitelib}/ceph_volume %dir %{python3_sitelib}/ceph_volume
%{python3_sitelib}/ceph_volume/* %{python3_sitelib}/ceph_volume/*
%{python3_sitelib}/ceph_volume-* %{python3_sitelib}/ceph_volume-*
%{python3_sitelib}/ceph_lvm*
%{python3_sitelib}/ceph_volume_lvm*
%endif %endif
%{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-deploy.8*
%{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-create-keys.8*
@ -1408,6 +1506,9 @@ if [ $1 -ge 1 ] ; then
fi fi
fi fi
%files daemon
%{_sbindir}/ceph-daemon
%files common %files common
%dir %{_docdir}/ceph %dir %{_docdir}/ceph
%doc %{_docdir}/ceph/sample.ceph.conf %doc %{_docdir}/ceph/sample.ceph.conf
@ -1550,6 +1651,7 @@ fi
%files mgr %files mgr
%{_bindir}/ceph-mgr %{_bindir}/ceph-mgr
%dir %{_datadir}/ceph/mgr %dir %{_datadir}/ceph/mgr
%{_datadir}/ceph/mgr/alerts
%{_datadir}/ceph/mgr/ansible %{_datadir}/ceph/mgr/ansible
%{_datadir}/ceph/mgr/balancer %{_datadir}/ceph/mgr/balancer
%{_datadir}/ceph/mgr/crash %{_datadir}/ceph/mgr/crash
@ -1673,6 +1775,19 @@ if [ $1 -eq 1 ] ; then
/usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || :
fi fi
%files mgr-k8sevents
%{_datadir}/ceph/mgr/k8sevents
%post mgr-k8sevents
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || :
fi
%postun mgr-k8sevents
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || :
fi
%files mgr-ssh %files mgr-ssh
%{_datadir}/ceph/mgr/ssh %{_datadir}/ceph/mgr/ssh
@ -1793,6 +1908,54 @@ if [ $1 -ge 1 ] ; then
fi fi
fi fi
%files immutable-object-cache
%{_bindir}/ceph-immutable-object-cache
%{_mandir}/man8/ceph-immutable-object-cache.8*
%{_unitdir}/ceph-immutable-object-cache@.service
%{_unitdir}/ceph-immutable-object-cache.target
%post immutable-object-cache
%if 0%{?suse_version}
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target >/dev/null 2>&1 || :
fi
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target
%endif
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph-immutable-object-cache.target >/dev/null 2>&1 || :
fi
%preun immutable-object-cache
%if 0%{?suse_version}
%service_del_preun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_preun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target
%endif
%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.
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 ceph-immutable-object-cache@\*.service > /dev/null 2>&1 || :
fi
fi
%files -n rbd-nbd %files -n rbd-nbd
%{_bindir}/rbd-nbd %{_bindir}/rbd-nbd
%{_mandir}/man8/rbd-nbd.8* %{_mandir}/man8/rbd-nbd.8*
@ -1915,6 +2078,11 @@ if [ $1 -ge 1 ] ; then
fi fi
fi fi
%if 0%{with seastar}
%files crimson-osd
%{_bindir}/crimson-osd
%endif
%if %{with ocf} %if %{with ocf}
%files resource-agents %files resource-agents
@ -1932,6 +2100,7 @@ fi
%if %{with lttng} %if %{with lttng}
%{_libdir}/librados_tp.so.* %{_libdir}/librados_tp.so.*
%endif %endif
%dir %{_sysconfdir}/ceph
%post -n librados2 -p /sbin/ldconfig %post -n librados2 -p /sbin/ldconfig
@ -2008,8 +2177,8 @@ fi
%{_libdir}/librgw.so.* %{_libdir}/librgw.so.*
%{_libdir}/librgw_admin_user.so.* %{_libdir}/librgw_admin_user.so.*
%if %{with lttng} %if %{with lttng}
%{_libdir}/librgw_op_tp.so* %{_libdir}/librgw_op_tp.so.*
%{_libdir}/librgw_rados_tp.so* %{_libdir}/librgw_rados_tp.so.*
%endif %endif
%post -n librgw2 -p /sbin/ldconfig %post -n librgw2 -p /sbin/ldconfig
@ -2023,6 +2192,10 @@ fi
%{_includedir}/rados/rgw_file.h %{_includedir}/rados/rgw_file.h
%{_libdir}/librgw.so %{_libdir}/librgw.so
%{_libdir}/librgw_admin_user.so %{_libdir}/librgw_admin_user.so
%if %{with lttng}
%{_libdir}/librgw_op_tp.so
%{_libdir}/librgw_rados_tp.so
%endif
%if 0%{with python2} %if 0%{with python2}
%files -n python-rgw %files -n python-rgw
@ -2046,6 +2219,7 @@ fi
%files -n libcephfs2 %files -n libcephfs2
%{_libdir}/libcephfs.so.* %{_libdir}/libcephfs.so.*
%dir %{_sysconfdir}/ceph
%post -n libcephfs2 -p /sbin/ldconfig %post -n libcephfs2 -p /sbin/ldconfig
@ -2082,6 +2256,16 @@ fi
%{python3_sitelib}/ceph_daemon.py %{python3_sitelib}/ceph_daemon.py
%{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py* %{python3_sitelib}/__pycache__/ceph_daemon.cpython*.py*
%if 0%{with python2}
%files -n python-ceph-common
%{python_sitelib}/ceph
%{python_sitelib}/ceph-*.egg-info
%endif
%files -n python%{python3_pkgversion}-ceph-common
%{python3_sitelib}/ceph
%{python3_sitelib}/ceph-*.egg-info
%if 0%{with cephfs_shell} %if 0%{with cephfs_shell}
%files -n cephfs-shell %files -n cephfs-shell
%{python3_sitelib}/cephfs_shell-*.egg-info %{python3_sitelib}/cephfs_shell-*.egg-info
@ -2111,7 +2295,7 @@ fi
%{_bindir}/ceph_test_* %{_bindir}/ceph_test_*
%{_bindir}/ceph-coverage %{_bindir}/ceph-coverage
%{_bindir}/ceph-debugpack %{_bindir}/ceph-debugpack
%{_bindir}/cephdeduptool %{_bindir}/ceph-dedup-tool
%{_mandir}/man8/ceph-debugpack.8* %{_mandir}/man8/ceph-debugpack.8*
%dir %{_libdir}/ceph %dir %{_libdir}/ceph
%{_libdir}/ceph/ceph-monstore-update-crush.sh %{_libdir}/ceph/ceph-monstore-update-crush.sh
@ -2249,8 +2433,6 @@ exit 0
%config /etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml %config /etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml
%endif %endif
%files dashboard-e2e
%{_datadir}/ceph/dashboard-e2e
%changelog %changelog
# nospeccleaner # nospeccleaner

View File

@ -284,6 +284,7 @@ rm_files=`generate_rm_exclude_files "$files" "%{buildroot}"`
summ=`get_package_summary $SPEC_FILE $PACKAGE` summ=`get_package_summary $SPEC_FILE $PACKAGE`
desc=`get_package_description $SPEC_FILE $PACKAGE` desc=`get_package_description $SPEC_FILE $PACKAGE`
reqs=`get_package_requires $SPEC_FILE $PACKAGE` reqs=`get_package_requires $SPEC_FILE $PACKAGE`
sed -i -e 's/%bcond_without ceph_test_package/%bcond_with ceph_test_package/' $SPEC_FILE
transform_spec_file $SPEC_FILE $PACKAGE "$rm_files" "$summ" "$desc" "$reqs" > $PACKAGE.spec transform_spec_file $SPEC_FILE $PACKAGE "$rm_files" "$summ" "$desc" "$reqs" > $PACKAGE.spec
insert_line_before "${PACKAGE}.spec" "Source99: ceph-rpmlintrc" "_insert_obs_source_lines_here" insert_line_before "${PACKAGE}.spec" "Source99: ceph-rpmlintrc" "_insert_obs_source_lines_here"
insert_line_before "${PACKAGE}.spec" "Source98: README-ceph-test.txt" "^Source99:" insert_line_before "${PACKAGE}.spec" "Source98: README-ceph-test.txt" "^Source99:"