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>
<hardware>
<disk>
<size unit="G">28</size>
<size unit="G">32</size>
</disk>
<memory>
<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>

View File

@ -21,6 +21,8 @@
# bcond syntax!
#################################################################################
%bcond_with make_check
%bcond_without ceph_test_package
%bcond_with minimal_debugging_information
%ifarch s390 s390x
%bcond_with tcmalloc
%else
@ -28,17 +30,19 @@
%endif
%if 0%{?fedora} || 0%{?rhel}
%bcond_without selinux
%bcond_without ceph_test_package
%if 0%{?rhel} >= 8
%bcond_with cephfs_java
%else
%bcond_without cephfs_java
%endif
%bcond_without amqp_endpoint
%bcond_without lttng
%bcond_without libradosstriper
%bcond_without ocf
%bcond_without amqp_endpoint
%global _remote_tarball_prefix https://download.ceph.com/tarballs/
%endif
%if 0%{?suse_version}
%bcond_with selinux
%bcond_without ceph_test_package
%bcond_with cephfs_java
%bcond_with amqp_endpoint
#Compat macro for new _fillupdir macro introduced in Nov 2017
@ -76,7 +80,9 @@
%if 0%{without python2}
%global _defined_if_python2_absent 1
%endif
%if 0%{?fedora} || 0%{?suse_version}
%global weak_deps 1
%endif
%if %{with selinux}
# get selinux policy version
%{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
@ -85,6 +91,7 @@
%{!?_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}
# define _python_buildid macro which will expand to the empty string when
# building with python2
@ -100,7 +107,7 @@
# main package definition
#################################################################################
Name: ceph-test
Version: 14.2.4.373+gc3e67ed133
Version: 15.0.0.7456+ge089cead79
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -111,12 +118,12 @@ Epoch: 2
%global _epoch_prefix %{?epoch:%{epoch}:}
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}
Group: System/Filesystems
%endif
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}
Source96: checkin.sh
Source97: README-checkin.txt
@ -156,7 +163,7 @@ BuildRequires: fuse-devel
%if 0%{?rhel} == 7
# devtoolset offers newer make and valgrind-devel, but the old ones are good
# enough.
BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13
BuildRequires: devtoolset-8-gcc-c++ >= 8.3.1-3.1
%else
BuildRequires: gcc-c++
%endif
@ -173,14 +180,16 @@ BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel
BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcurl-devel
BuildRequires: libcap-ng-devel
BuildRequires: libudev-devel
BuildRequires: libnl3-devel
BuildRequires: liboath-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: libuuid-devel
BuildRequires: make
BuildRequires: ncurses-devel
BuildRequires: parted
BuildRequires: patch
BuildRequires: perl
BuildRequires: pkgconfig
BuildRequires: procps
@ -201,14 +210,17 @@ BuildRequires: librabbitmq-devel
%endif
%if 0%{with make_check}
BuildRequires: jq
BuildRequires: libuuid-devel
BuildRequires: python%{_python_buildid}-bcrypt
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-nose
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-requests
BuildRequires: python%{_python_buildid}-six
BuildRequires: python%{_python_buildid}-tox
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
BuildRequires: pyOpenSSL%{_python_buildid}
%else
@ -235,6 +247,7 @@ BuildRequires: pkgconfig(systemd)
BuildRequires: systemd-rpm-macros
%{?systemd_requires}
PreReq: %fillup_prereq
BuildRequires: fdupes
BuildRequires: net-tools
BuildRequires: libbz2-devel
BuildRequires: mozilla-nss-devel
@ -271,27 +284,40 @@ BuildRequires: python2-Cython
%endif
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%{_python_buildid}-prettytable
BuildRequires: python%{_python_buildid}-sphinx
BuildRequires: lz4-devel >= 1.7
%endif
# distro-conditional make check dependencies
%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}-jwt
BuildRequires: python%{_python_buildid}-routes
BuildRequires: python%{_python_buildid}-werkzeug
BuildRequires: xmlsec1
BuildRequires: xmlsec1-devel
BuildRequires: xmlsec1-nss
BuildRequires: xmlsec1-openssl
BuildRequires: xmlsec1-openssl-devel
%endif
%if 0%{?suse_version}
BuildRequires: libxmlsec1-1
BuildRequires: libxmlsec1-nss1
BuildRequires: libxmlsec1-openssl1
BuildRequires: python%{_python_buildid}-CherryPy
BuildRequires: python%{_python_buildid}-PyJWT
BuildRequires: python%{_python_buildid}-Routes
BuildRequires: python%{_python_buildid}-Werkzeug
BuildRequires: python%{_python_buildid}-numpy-devel
BuildRequires: xmlsec1-devel
BuildRequires: xmlsec1-openssl-devel
%endif
%endif
# lttng and babeltrace for rbd-replay-prep
@ -326,6 +352,9 @@ BuildRequires: libcryptopp-devel
BuildRequires: libnuma-devel
%endif
%endif
%if 0%{?rhel} >= 8
BuildRequires: /usr/bin/pathfix.py
%endif
%description
This package contains Ceph benchmarks and test tools.
@ -341,7 +370,7 @@ This package contains Ceph benchmarks and test tools.
%if 0%{with tcmalloc}
%endif
%endif
%if 0%{?suse_version}
%if 0%{?weak_deps}
%endif
%if 0%{?suse_version}
%endif
@ -363,6 +392,8 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%endif
%if 0%{?weak_deps}
%endif
%if 0%{?rhel} == 7
%endif
%if 0%{?suse_version}
@ -387,6 +418,14 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%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}
%endif
%if 0%{?suse_version}
@ -407,6 +446,10 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%endif
%if 0%{with seastar}
%if 0%{?suse_version}
%endif
%endif
%if 0%{?suse_version}
%endif
%if 0%{?rhel} || 0%{?fedora}
@ -477,6 +520,12 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%endif
%if 0%{with python2}
%if 0%{?suse_version}
%endif
%endif
%if 0%{?suse_version}
%endif
%if 0%{with cephfs_shell}
%endif
%if 0%{with ceph_test_package}
@ -504,11 +553,9 @@ This package contains Ceph benchmarks and test tools.
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%if 0%{?suse_version}
%endif
%endif
%prep
%autosetup -p1 -n ceph-14.2.4-373-gc3e67ed133
%autosetup -p1 -n ceph-15.0.0-7456-ge089cead79
%build
# 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}
%if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable
. /opt/rh/devtoolset-8/enable
%endif
%if 0%{with cephfs_java}
@ -530,6 +577,9 @@ done
# 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"
%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 CFLAGS="$RPM_OPT_FLAGS"
@ -550,7 +600,7 @@ free -h
echo "System limits:"
ulimit -a
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_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"
@ -580,6 +630,7 @@ ${CMAKE} .. \
-DWITH_MANPAGE=ON \
-DWITH_PYTHON3=%{python3_version} \
-DWITH_MGR_DASHBOARD_FRONTEND=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
%if %{with python2}
-DWITH_PYTHON2=ON \
%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 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
%if 0%{?suse_version}
mkdir -p %{buildroot}/sbin
@ -671,6 +724,11 @@ 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
%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
mkdir -p %{buildroot}%{_sysconfdir}/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-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}
# create __pycache__ directories and their contents
%py3_compile %{buildroot}%{python3_sitelib}
# prometheus alerts
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
%if 0%{?rhel} == 8
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
%endif
@ -736,12 +787,8 @@ rm -rf %{buildroot}%{_fillupdir}/sysconfig.*
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_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_lvm*
rm -rf %{buildroot}%{python3_sitelib}/ceph_volume_lvm*
rm -rf %{buildroot}%{_mandir}/man8/ceph-deploy.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-create-keys.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-run.8*
@ -749,6 +796,7 @@ rm -rf %{buildroot}%{_mandir}/man8/crushtool.8*
rm -rf %{buildroot}%{_mandir}/man8/osdmaptool.8*
rm -rf %{buildroot}%{_mandir}/man8/monmaptool.8*
rm -rf %{buildroot}%{_mandir}/man8/ceph-kvstore-tool.8*
rm -rf %{buildroot}%{_sbindir}/ceph-daemon
rm -rf %{buildroot}%doc
rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf
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.target
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/balancer
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_cloud
rm -rf %{buildroot}%{_datadir}/ceph/mgr/rook
rm -rf %{buildroot}%{_datadir}/ceph/mgr/k8sevents
rm -rf %{buildroot}%{_datadir}/ceph/mgr/ssh
rm -rf %{buildroot}%{_bindir}/ceph-mon
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}%{_unitdir}/ceph-rbd-mirror@.service
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}%{_mandir}/man8/rbd-nbd.8*
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}%{_sysctldir}/90-ceph-osd.conf
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}%{_libdir}/librados.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}/librgw.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}%{_libdir}/librgw_op_tp.so.*
rm -rf %{buildroot}%{_libdir}/librgw_rados_tp.so.*
rm -rf %{buildroot}%{_includedir}/rados/librgw.h
rm -rf %{buildroot}%{_includedir}/rados/librgw_admin_user.h
rm -rf %{buildroot}%{_includedir}/rados/rgw_file.h
rm -rf %{buildroot}%{_libdir}/librgw.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-*.egg-info
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}/ceph_daemon.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}%{_bindir}/cephfs-shell
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}monitoring/grafana/README.md
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`
while [[ -n $dirs ]]; do
@ -1068,6 +1128,18 @@ rm -rf %{buildroot}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?sysctl_apply}
%endif
%if 0%{?suse_version}
@ -1078,6 +1150,8 @@ rm -rf %{buildroot}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{with seastar}
%endif
%if %{with ocf}
%endif
%if %{with lttng}
@ -1094,6 +1168,10 @@ rm -rf %{buildroot}
%endif
%if %{with lttng}
%endif
%if %{with lttng}
%endif
%if 0%{with python2}
%endif
%if 0%{with python2}
%endif
%if 0%{with python2}
@ -1127,7 +1205,7 @@ rm -rf %{buildroot}
%{_bindir}/ceph_test_*
%{_bindir}/ceph-coverage
%{_bindir}/ceph-debugpack
%{_bindir}/cephdeduptool
%{_bindir}/ceph-dedup-tool
%{_mandir}/man8/ceph-debugpack.8*
%dir %{_libdir}/ceph
%{_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>

300
ceph.spec
View File

@ -21,6 +21,8 @@
# bcond syntax!
#################################################################################
%bcond_with make_check
%bcond_with ceph_test_package
%bcond_with minimal_debugging_information
%ifarch s390 s390x
%bcond_with tcmalloc
%else
@ -28,17 +30,19 @@
%endif
%if 0%{?fedora} || 0%{?rhel}
%bcond_without selinux
%bcond_without ceph_test_package
%if 0%{?rhel} >= 8
%bcond_with cephfs_java
%else
%bcond_without cephfs_java
%endif
%bcond_without amqp_endpoint
%bcond_without lttng
%bcond_without libradosstriper
%bcond_without ocf
%bcond_without amqp_endpoint
%global _remote_tarball_prefix https://download.ceph.com/tarballs/
%endif
%if 0%{?suse_version}
%bcond_with selinux
%bcond_with ceph_test_package
%bcond_with cephfs_java
%bcond_with amqp_endpoint
#Compat macro for new _fillupdir macro introduced in Nov 2017
@ -76,7 +80,9 @@
%if 0%{without python2}
%global _defined_if_python2_absent 1
%endif
%if 0%{?fedora} || 0%{?suse_version}
%global weak_deps 1
%endif
%if %{with selinux}
# get selinux policy version
%{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0}
@ -85,6 +91,7 @@
%{!?_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}
# define _python_buildid macro which will expand to the empty string when
# building with python2
@ -100,7 +107,7 @@
# main package definition
#################################################################################
Name: ceph
Version: 14.2.4.373+gc3e67ed133
Version: 15.0.0.7456+ge089cead79
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -111,12 +118,12 @@ Epoch: 2
%global _epoch_prefix %{?epoch:%{epoch}:}
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}
Group: System/Filesystems
%endif
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}
# _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x
@ -148,7 +155,7 @@ BuildRequires: fuse-devel
%if 0%{?rhel} == 7
# devtoolset offers newer make and valgrind-devel, but the old ones are good
# enough.
BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13
BuildRequires: devtoolset-8-gcc-c++ >= 8.3.1-3.1
%else
BuildRequires: gcc-c++
%endif
@ -165,14 +172,16 @@ BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel
BuildRequires: libblkid-devel >= 2.17
BuildRequires: libcurl-devel
BuildRequires: libcap-ng-devel
BuildRequires: libudev-devel
BuildRequires: libnl3-devel
BuildRequires: liboath-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: libuuid-devel
BuildRequires: make
BuildRequires: ncurses-devel
BuildRequires: parted
BuildRequires: patch
BuildRequires: perl
BuildRequires: pkgconfig
BuildRequires: procps
@ -193,14 +202,17 @@ BuildRequires: librabbitmq-devel
%endif
%if 0%{with make_check}
BuildRequires: jq
BuildRequires: libuuid-devel
BuildRequires: python%{_python_buildid}-bcrypt
BuildRequires: python%{_python_buildid}-coverage
BuildRequires: python%{_python_buildid}-nose
BuildRequires: python%{_python_buildid}-pecan
BuildRequires: python%{_python_buildid}-requests
BuildRequires: python%{_python_buildid}-six
BuildRequires: python%{_python_buildid}-tox
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
BuildRequires: pyOpenSSL%{_python_buildid}
%else
@ -227,6 +239,7 @@ BuildRequires: pkgconfig(systemd)
BuildRequires: systemd-rpm-macros
%{?systemd_requires}
PreReq: %fillup_prereq
BuildRequires: fdupes
BuildRequires: net-tools
BuildRequires: libbz2-devel
BuildRequires: mozilla-nss-devel
@ -263,27 +276,40 @@ BuildRequires: python2-Cython
%endif
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%{_python_buildid}-prettytable
BuildRequires: python%{_python_buildid}-sphinx
BuildRequires: lz4-devel >= 1.7
%endif
# distro-conditional make check dependencies
%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}-jwt
BuildRequires: python%{_python_buildid}-routes
BuildRequires: python%{_python_buildid}-werkzeug
BuildRequires: xmlsec1
BuildRequires: xmlsec1-devel
BuildRequires: xmlsec1-nss
BuildRequires: xmlsec1-openssl
BuildRequires: xmlsec1-openssl-devel
%endif
%if 0%{?suse_version}
BuildRequires: libxmlsec1-1
BuildRequires: libxmlsec1-nss1
BuildRequires: libxmlsec1-openssl1
BuildRequires: python%{_python_buildid}-CherryPy
BuildRequires: python%{_python_buildid}-PyJWT
BuildRequires: python%{_python_buildid}-Routes
BuildRequires: python%{_python_buildid}-Werkzeug
BuildRequires: python%{_python_buildid}-numpy-devel
BuildRequires: xmlsec1-devel
BuildRequires: xmlsec1-openssl-devel
%endif
%endif
# lttng and babeltrace for rbd-replay-prep
@ -318,6 +344,9 @@ BuildRequires: libcryptopp-devel
BuildRequires: libnuma-devel
%endif
%endif
%if 0%{?rhel} >= 8
BuildRequires: /usr/bin/pathfix.py
%endif
%description
Ceph is a massively scalable, open-source, distributed storage system that runs
@ -348,7 +377,6 @@ Requires: grep
Requires: logrotate
Requires: parted
Requires: psmisc
Requires: python%{_python_buildid}-requests
Requires: python%{_python_buildid}-setuptools
Requires: util-linux
Requires: xfsprogs
@ -360,13 +388,20 @@ Requires: which
Requires: gperftools-libs >= 2.6.1
%endif
%endif
%if 0%{?suse_version}
%if 0%{?weak_deps}
Recommends: chrony
Requires: gptfdisk
%endif
%description base
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
Summary: Ceph Common
%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}-rgw = %{_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}
Requires: python%{_python_buildid}-prettytable
%endif
@ -434,6 +469,7 @@ Group: System/Filesystems
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-bcrypt
Requires: python%{_python_buildid}-pecan
Requires: python%{_python_buildid}-requests
Requires: python%{_python_buildid}-six
%if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-cherrypy
@ -442,11 +478,15 @@ Requires: python%{_python_buildid}-werkzeug
%if 0%{?suse_version}
Requires: python%{_python_buildid}-CherryPy
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-diskprediction-local = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-diskprediction-cloud = %{_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
%if 0%{?rhel} == 7
Requires: pyOpenSSL
@ -469,6 +509,7 @@ Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: ceph-grafana-dashboards = %{_epoch_prefix}%{version}-%{release}
%if 0%{?fedora} || 0%{?rhel}
Requires: python%{_python_buildid}-cherrypy
Requires: python%{_python_buildid}-ipaddress
Requires: python%{_python_buildid}-jwt
Requires: python%{_python_buildid}-routes
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.
%package mgr-diskprediction-local
Summary: ceph-mgr diskprediction_local plugin
Summary: Ceph Manager plugin for predicting disk failures
BuildArch: noarch
%if 0%{?suse_version}
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.
%package mgr-diskprediction-cloud
Summary: ceph-mgr diskprediction_cloud plugin
Summary: Ceph Manager plugin for cloud-based disk failure prediction
BuildArch: noarch
%if 0%{?suse_version}
Group: System/Filesystems
@ -526,7 +567,7 @@ disk failures using services in the Google cloud.
%package mgr-rook
BuildArch: noarch
Summary: ceph-mgr rook plugin
Summary: Ceph Manager plugin for Rook-based orchestration
%if 0%{?suse_version}
Group: System/Filesystems
%endif
@ -536,14 +577,33 @@ Requires: python%{_python_buildid}-kubernetes
ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using
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
Summary: ceph-mgr ssh module
Summary: Ceph Manager plugin for SSH-based orchestration
BuildArch: noarch
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release}
Requires: python%{_python_buildid}-remoto
Requires: ceph-daemon = %{_epoch_prefix}%{version}-%{release}
%description mgr-ssh
ceph-mgr-ssh is a ceph-mgr module for orchestration functions using
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
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
Summary: Ceph RBD client base on NBD
%if 0%{?suse_version}
@ -639,6 +708,19 @@ ceph-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.
%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
Summary: RADOS distributed object store client library
%if 0%{?suse_version}
@ -708,6 +790,7 @@ Group: Development/Libraries/Python
%endif
Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python-rgw}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rgw
This package contains Python 2 libraries for interacting with Cephs RADOS
@ -721,7 +804,7 @@ Group: Development/Libraries/Python
%endif
Requires: librgw2 = %{_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}
Provides: 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
%endif
Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python-rados}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rados
This package contains Python 2 libraries for interacting with Cephs RADOS
@ -750,7 +834,7 @@ Group: Development/Libraries/Python
%endif
Requires: python%{python3_pkgversion}
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}
Provides: python-rados = %{_epoch_prefix}%{version}-%{release}
Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release}
@ -828,6 +912,7 @@ Group: Development/Libraries/Python
%endif
Requires: librbd1 = %{_epoch_prefix}%{version}-%{release}
Requires: python-rados = %{_epoch_prefix}%{version}-%{release}
%{?python_provide:%python_provide python-rbd}
Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release}
%description -n python-rbd
This package contains Python 2 libraries for interacting with Cephs RADOS
@ -841,7 +926,7 @@ Group: Development/Libraries/Python
%endif
Requires: librbd1 = %{_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}
Provides: 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: python-rados = %{_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}
%description -n python-cephfs
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: python%{python3_pkgversion}-rados = %{_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}
Provides: 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}
Group: Development/Libraries/Python
%endif
%{?python_provide:%python_provide python-ceph-argparse}
%description -n python-ceph-argparse
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
@ -930,13 +1017,35 @@ Summary: Python 3 utility libraries for Ceph CLI
%if 0%{?suse_version}
Group: Development/Libraries/Python
%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
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
command-description information, validating user command input against those
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}
%package -n cephfs-shell
Summary: Interactive shell for Ceph file system
@ -1072,24 +1181,13 @@ BuildArch: noarch
Group: System/Monitoring
%description prometheus-alerts
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
#################################################################################
# common
#################################################################################
%prep
%autosetup -p1 -n ceph-14.2.4-373-gc3e67ed133
%autosetup -p1 -n ceph-15.0.0-7456-ge089cead79
%build
# 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}
%if 0%{?rhel} == 7
. /opt/rh/devtoolset-7/enable
. /opt/rh/devtoolset-8/enable
%endif
%if 0%{with cephfs_java}
@ -1111,6 +1209,9 @@ done
# 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"
%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 CFLAGS="$RPM_OPT_FLAGS"
@ -1131,7 +1232,7 @@ free -h
echo "System limits:"
ulimit -a
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_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"
@ -1161,6 +1262,7 @@ ${CMAKE} .. \
-DWITH_MANPAGE=ON \
-DWITH_PYTHON3=%{python3_version} \
-DWITH_MGR_DASHBOARD_FRONTEND=OFF \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
%if %{with python2}
-DWITH_PYTHON2=ON \
%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 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
%if 0%{?suse_version}
mkdir -p %{buildroot}/sbin
@ -1252,6 +1356,11 @@ 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
%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
mkdir -p %{buildroot}%{_sysconfdir}/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-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}
# create __pycache__ directories and their contents
%py3_compile %{buildroot}%{python3_sitelib}
# prometheus alerts
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
%if 0%{?rhel} == 8
%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib}
%endif
@ -1340,14 +1442,10 @@ rm -rf %{buildroot}
%dir %{python_sitelib}/ceph_volume
%{python_sitelib}/ceph_volume/*
%{python_sitelib}/ceph_volume-*
%{python_sitelib}/ceph_lvm*
%{python_sitelib}/ceph_volume_lvm*
%else
%dir %{python3_sitelib}/ceph_volume
%{python3_sitelib}/ceph_volume/*
%{python3_sitelib}/ceph_volume-*
%{python3_sitelib}/ceph_lvm*
%{python3_sitelib}/ceph_volume_lvm*
%endif
%{_mandir}/man8/ceph-deploy.8*
%{_mandir}/man8/ceph-create-keys.8*
@ -1408,6 +1506,9 @@ if [ $1 -ge 1 ] ; then
fi
fi
%files daemon
%{_sbindir}/ceph-daemon
%files common
%dir %{_docdir}/ceph
%doc %{_docdir}/ceph/sample.ceph.conf
@ -1550,6 +1651,7 @@ fi
%files mgr
%{_bindir}/ceph-mgr
%dir %{_datadir}/ceph/mgr
%{_datadir}/ceph/mgr/alerts
%{_datadir}/ceph/mgr/ansible
%{_datadir}/ceph/mgr/balancer
%{_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 || :
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
%{_datadir}/ceph/mgr/ssh
@ -1793,6 +1908,54 @@ if [ $1 -ge 1 ] ; then
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
%{_bindir}/rbd-nbd
%{_mandir}/man8/rbd-nbd.8*
@ -1915,6 +2078,11 @@ if [ $1 -ge 1 ] ; then
fi
fi
%if 0%{with seastar}
%files crimson-osd
%{_bindir}/crimson-osd
%endif
%if %{with ocf}
%files resource-agents
@ -1932,6 +2100,7 @@ fi
%if %{with lttng}
%{_libdir}/librados_tp.so.*
%endif
%dir %{_sysconfdir}/ceph
%post -n librados2 -p /sbin/ldconfig
@ -2008,8 +2177,8 @@ fi
%{_libdir}/librgw.so.*
%{_libdir}/librgw_admin_user.so.*
%if %{with lttng}
%{_libdir}/librgw_op_tp.so*
%{_libdir}/librgw_rados_tp.so*
%{_libdir}/librgw_op_tp.so.*
%{_libdir}/librgw_rados_tp.so.*
%endif
%post -n librgw2 -p /sbin/ldconfig
@ -2023,6 +2192,10 @@ fi
%{_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
%endif
%if 0%{with python2}
%files -n python-rgw
@ -2046,6 +2219,7 @@ fi
%files -n libcephfs2
%{_libdir}/libcephfs.so.*
%dir %{_sysconfdir}/ceph
%post -n libcephfs2 -p /sbin/ldconfig
@ -2082,6 +2256,16 @@ fi
%{python3_sitelib}/ceph_daemon.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}
%files -n cephfs-shell
%{python3_sitelib}/cephfs_shell-*.egg-info
@ -2111,7 +2295,7 @@ fi
%{_bindir}/ceph_test_*
%{_bindir}/ceph-coverage
%{_bindir}/ceph-debugpack
%{_bindir}/cephdeduptool
%{_bindir}/ceph-dedup-tool
%{_mandir}/man8/ceph-debugpack.8*
%dir %{_libdir}/ceph
%{_libdir}/ceph/ceph-monstore-update-crush.sh
@ -2249,8 +2433,6 @@ exit 0
%config /etc/prometheus/SUSE/default_rules/ceph_default_alerts.yml
%endif
%files dashboard-e2e
%{_datadir}/ceph/dashboard-e2e
%changelog
# nospeccleaner

View File

@ -284,6 +284,7 @@ rm_files=`generate_rm_exclude_files "$files" "%{buildroot}"`
summ=`get_package_summary $SPEC_FILE $PACKAGE`
desc=`get_package_description $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
insert_line_before "${PACKAGE}.spec" "Source99: ceph-rpmlintrc" "_insert_obs_source_lines_here"
insert_line_before "${PACKAGE}.spec" "Source98: README-ceph-test.txt" "^Source99:"