From bb82a773455495801c50b2a980a49246d3a22cc64ada92c07869af1bb51477f4 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Mon, 9 Dec 2019 13:01:57 +0000 Subject: [PATCH 1/9] Accepting request 755238 from filesystems:ceph:octopus bsc#1157443, bsc#1157527 OBS-URL: https://build.opensuse.org/request/show/755238 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=255 --- ceph-15.0.0-7456-ge089cead79.tar.bz2 | 3 -- ceph-15.0.0-7866-g639502405f.tar.bz2 | 3 ++ ceph-test.changes | 14 +++++++++ ceph-test.spec | 22 +++++++++++-- ceph.changes | 14 +++++++++ ceph.spec | 46 ++++++++++++++++++++++++++-- checkin.sh | 1 + 7 files changed, 94 insertions(+), 9 deletions(-) delete mode 100644 ceph-15.0.0-7456-ge089cead79.tar.bz2 create mode 100644 ceph-15.0.0-7866-g639502405f.tar.bz2 diff --git a/ceph-15.0.0-7456-ge089cead79.tar.bz2 b/ceph-15.0.0-7456-ge089cead79.tar.bz2 deleted file mode 100644 index 0de19d8..0000000 --- a/ceph-15.0.0-7456-ge089cead79.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:868a7938514e2a3dfda5c2d35e399c3d7bab6cf821763080cc4964e8113a72ce -size 109579416 diff --git a/ceph-15.0.0-7866-g639502405f.tar.bz2 b/ceph-15.0.0-7866-g639502405f.tar.bz2 new file mode 100644 index 0000000..9ee6539 --- /dev/null +++ b/ceph-15.0.0-7866-g639502405f.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:41471146e485222af6d5d334119fa06d9f61dbfa9022c790d0e5eee30c23cc15 +size 142999614 diff --git a/ceph-test.changes b/ceph-test.changes index 04ff5df..3428527 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Mon Dec 2 11:51:18 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-7866-g639502405f: + + rebase on tip of upstream master, SHA1 95dd54889a9c113f77dd6c2c7e77166335a59794 + +------------------------------------------------------------------- +Sun Nov 24 20:12:13 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-7686-g54042e1a06: + + rebase on tip of upstream master, SHA1 2c06beb5ec38c8b9f7bd84152da3f5708de8d0c0 + * Revert "Merge pull request #16715 from adamemerson/wip-I-Object!" (bsc#1157443) + * spec: add explicit openssh dependency to ceph-mgr-ssh (bsc#1157527) + ------------------------------------------------------------------- Thu Nov 21 10:10:02 UTC 2019 - Nathan Cutler diff --git a/ceph-test.spec b/ceph-test.spec index fabdf57..f726d78 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -36,6 +36,7 @@ %bcond_without cephfs_java %endif %bcond_without amqp_endpoint +%bcond_without kafka_endpoint %bcond_without lttng %bcond_without libradosstriper %bcond_without ocf @@ -45,6 +46,7 @@ %bcond_with selinux %bcond_with cephfs_java %bcond_with amqp_endpoint +%bcond_with kafka_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates @@ -107,7 +109,7 @@ # main package definition ################################################################################# Name: ceph-test -Version: 15.0.0.7456+ge089cead79 +Version: 15.0.0.7866+g639502405f Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -123,7 +125,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7456-ge089cead79.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7866-g639502405f.tar.bz2 %if 0%{?suse_version} Source96: checkin.sh Source97: README-checkin.txt @@ -208,6 +210,9 @@ BuildRequires: yasm %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif +%if 0%{with kafka_endpoint} +BuildRequires: librdkafka-devel +%endif %if 0%{with make_check} BuildRequires: jq BuildRequires: libuuid-devel @@ -426,6 +431,10 @@ This package contains Ceph benchmarks and test tools. %endif %if 0%{?suse_version} %endif +%if 0%{?rhel} || 0%{?fedora} +%endif +%if 0%{?suse_version} +%endif %if 0%{?suse_version} %endif %if 0%{?suse_version} @@ -555,7 +564,7 @@ This package contains Ceph benchmarks and test tools. %if 0%{?suse_version} %endif %prep -%autosetup -p1 -n ceph-15.0.0-7456-ge089cead79 +%autosetup -p1 -n ceph-15.0.0-7866-g639502405f %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -674,6 +683,11 @@ ${CMAKE} .. \ -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ %else -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ +%endif +%if 0%{with kafka_endpoint} + -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ +%else + -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON @@ -723,6 +737,7 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl +install -m 0600 -D sudoers.d/cephdaemon %{buildroot}%{_sysconfdir}/sudoers.d/cephdaemon %if 0%{?rhel} >= 8 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* @@ -797,6 +812,7 @@ 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}%{_sysconfdir}/sudoers.d/cephdaemon rm -rf %{buildroot}%doc rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf rm -rf %{buildroot}%license diff --git a/ceph.changes b/ceph.changes index 04ff5df..3428527 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Mon Dec 2 11:51:18 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-7866-g639502405f: + + rebase on tip of upstream master, SHA1 95dd54889a9c113f77dd6c2c7e77166335a59794 + +------------------------------------------------------------------- +Sun Nov 24 20:12:13 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-7686-g54042e1a06: + + rebase on tip of upstream master, SHA1 2c06beb5ec38c8b9f7bd84152da3f5708de8d0c0 + * Revert "Merge pull request #16715 from adamemerson/wip-I-Object!" (bsc#1157443) + * spec: add explicit openssh dependency to ceph-mgr-ssh (bsc#1157527) + ------------------------------------------------------------------- Thu Nov 21 10:10:02 UTC 2019 - Nathan Cutler diff --git a/ceph.spec b/ceph.spec index 4e5b536..1b886af 100644 --- a/ceph.spec +++ b/ceph.spec @@ -36,6 +36,7 @@ %bcond_without cephfs_java %endif %bcond_without amqp_endpoint +%bcond_without kafka_endpoint %bcond_without lttng %bcond_without libradosstriper %bcond_without ocf @@ -45,6 +46,7 @@ %bcond_with selinux %bcond_with cephfs_java %bcond_with amqp_endpoint +%bcond_with kafka_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates @@ -107,7 +109,7 @@ # main package definition ################################################################################# Name: ceph -Version: 15.0.0.7456+ge089cead79 +Version: 15.0.0.7866+g639502405f Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -123,7 +125,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7456-ge089cead79.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7866-g639502405f.tar.bz2 %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x @@ -200,6 +202,9 @@ BuildRequires: yasm %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif +%if 0%{with kafka_endpoint} +BuildRequires: librdkafka-devel +%endif %if 0%{with make_check} BuildRequires: jq BuildRequires: libuuid-devel @@ -604,6 +609,12 @@ Group: System/Filesystems Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: python%{_python_buildid}-remoto Requires: ceph-daemon = %{_epoch_prefix}%{version}-%{release} +%if 0%{?suse_version} +Requires: openssh +%endif +%if 0%{?rhel} || 0%{?fedora} +Requires: openssh-clients +%endif %description mgr-ssh ceph-mgr-ssh is a ceph-mgr module for orchestration functions using direct SSH connections for management operations. @@ -1187,7 +1198,7 @@ This package provides Ceph’s default alerts for Prometheus. # common ################################################################################# %prep -%autosetup -p1 -n ceph-15.0.0-7456-ge089cead79 +%autosetup -p1 -n ceph-15.0.0-7866-g639502405f %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -1306,6 +1317,11 @@ ${CMAKE} .. \ -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ %else -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ +%endif +%if 0%{with kafka_endpoint} + -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ +%else + -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON @@ -1355,6 +1371,7 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl +install -m 0600 -D sudoers.d/cephdaemon %{buildroot}%{_sysconfdir}/sudoers.d/cephdaemon %if 0%{?rhel} >= 8 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* @@ -1506,8 +1523,31 @@ if [ $1 -ge 1 ] ; then fi fi +%pre daemon +# create user +if ! getent passwd | grep -q '^cephdaemon:'; then + useradd -r -s /bin/bash -c "Ceph-daemon user for mgr/ssh" -m cephdaemon +fi +# set up (initially empty) .ssh/authorized_keys file +if ! test -d /home/cephdaemon/.ssh; then + mkdir /home/cephdaemon/.ssh + chown --reference /home/cephdaemon /home/cephdaemon/.ssh + chmod 0700 /home/cephdaemon/.ssh +fi +if ! test -e /home/cephdaemon/.ssh/authorized_keys; then + touch /home/cephdaemon/.ssh/authorized_keys + chown --reference /home/cephdaemon /home/cephdaemon/.ssh/authorized_keys + chmod 0600 /home/cephdaemon/.ssh/authorized_keys +fi +exit 0 + +%postun daemon +userdel -r cephdaemon || true +exit 0 + %files daemon %{_sbindir}/ceph-daemon +%{_sysconfdir}/sudoers.d/cephdaemon %files common %dir %{_docdir}/ceph diff --git a/checkin.sh b/checkin.sh index a353212..c6fa889 100644 --- a/checkin.sh +++ b/checkin.sh @@ -104,6 +104,7 @@ if [ -z "$TMPDIR" ] ; then rm -rf *.bz2 fi echo "Running make-dist inside clone" +export DASHBOARD_FRONTEND_LANGS="ALL" ./make-dist popd From 53dcc0185c372778eebed356cff89b87c1c82576c0e081cb8f6eaf1611672c64 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Tue, 10 Dec 2019 15:59:56 +0000 Subject: [PATCH 2/9] Accepting request 755623 from filesystems:ceph:octopus - increase disk space needs in _constraints for some architectures OBS-URL: https://build.opensuse.org/request/show/755623 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=256 --- _constraints | 6 +++--- ceph-test.changes | 5 +++++ ceph.changes | 5 +++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/_constraints b/_constraints index d603757..c90417e 100644 --- a/_constraints +++ b/_constraints @@ -10,7 +10,7 @@ - 28 + 36 10 @@ -25,7 +25,7 @@ - 32 + 36 10 @@ -40,7 +40,7 @@ - 28 + 36 9 diff --git a/ceph-test.changes b/ceph-test.changes index 3428527..d93dd8e 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Dec 10 15:39:59 UTC 2019 - Adrian Schröter + +- increase disk space needs in _constraints for some architectures + ------------------------------------------------------------------- Mon Dec 2 11:51:18 UTC 2019 - Nathan Cutler diff --git a/ceph.changes b/ceph.changes index 3428527..d93dd8e 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Dec 10 15:39:59 UTC 2019 - Adrian Schröter + +- increase disk space needs in _constraints for some architectures + ------------------------------------------------------------------- Mon Dec 2 11:51:18 UTC 2019 - Nathan Cutler From 0f3ee5256b33ee860cf01945990fcde789f401a50bfa6b670f35700d6d2c5dd3 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Fri, 13 Dec 2019 12:35:21 +0000 Subject: [PATCH 3/9] Accepting request 756808 from filesystems:ceph:octopus - Update to 15.0.0-8441-g88a99a841e + spec: fix cephadm user/group creation OBS-URL: https://build.opensuse.org/request/show/756808 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=257 --- ceph-15.0.0-7866-g639502405f.tar.bz2 | 3 - ceph-15.0.0-8441-g88a99a841e.tar.bz2 | 3 + ceph-test.changes | 13 ++++ ceph-test.spec | 50 +++++++----- ceph.changes | 13 ++++ ceph.spec | 109 ++++++++++++++------------- 6 files changed, 117 insertions(+), 74 deletions(-) delete mode 100644 ceph-15.0.0-7866-g639502405f.tar.bz2 create mode 100644 ceph-15.0.0-8441-g88a99a841e.tar.bz2 diff --git a/ceph-15.0.0-7866-g639502405f.tar.bz2 b/ceph-15.0.0-7866-g639502405f.tar.bz2 deleted file mode 100644 index 9ee6539..0000000 --- a/ceph-15.0.0-7866-g639502405f.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41471146e485222af6d5d334119fa06d9f61dbfa9022c790d0e5eee30c23cc15 -size 142999614 diff --git a/ceph-15.0.0-8441-g88a99a841e.tar.bz2 b/ceph-15.0.0-8441-g88a99a841e.tar.bz2 new file mode 100644 index 0000000..b5b5043 --- /dev/null +++ b/ceph-15.0.0-8441-g88a99a841e.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54fbd26c90cb35e6b97308cf6e986f22a5cd939380e6888d9fe48e1065baf321 +size 142438252 diff --git a/ceph-test.changes b/ceph-test.changes index d93dd8e..1ddd0a5 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Dec 13 12:33:34 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8441-g88a99a841e + + spec: fix cephadm user/group creation + +------------------------------------------------------------------- +Thu Dec 12 12:07:37 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8370-gec9b27b5e0 + + ceph-daemon is renamed to cephadm + + mgr/ssh is renamed to mgr/cephadm + ------------------------------------------------------------------- Tue Dec 10 15:39:59 UTC 2019 - Adrian Schröter diff --git a/ceph-test.spec b/ceph-test.spec index f726d78..b7bb1b5 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -109,7 +109,7 @@ # main package definition ################################################################################# Name: ceph-test -Version: 15.0.0.7866+g639502405f +Version: 15.0.0.8441+g88a99a841e Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -125,7 +125,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7866-g639502405f.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.0.0-8441-g88a99a841e.tar.bz2 %if 0%{?suse_version} Source96: checkin.sh Source97: README-checkin.txt @@ -221,16 +221,6 @@ BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-six 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 -BuildRequires: python%{_python_buildid}-pyOpenSSL -%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -300,17 +290,27 @@ 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}-coverage BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-routes +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-tox BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-nss BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel +%if 0%{?rhel} == 7 +BuildRequires: pyOpenSSL%{_python_buildid} +%else +BuildRequires: python%{_python_buildid}-pyOpenSSL +%endif +%endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 @@ -320,7 +320,12 @@ BuildRequires: python%{_python_buildid}-CherryPy BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Werkzeug +BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-numpy-devel +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-pyOpenSSL +BuildRequires: python%{_python_buildid}-tox +BuildRequires: rpm-build BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif @@ -564,7 +569,7 @@ This package contains Ceph benchmarks and test tools. %if 0%{?suse_version} %endif %prep -%autosetup -p1 -n ceph-15.0.0-7866-g639502405f +%autosetup -p1 -n ceph-15.0.0-8441-g88a99a841e %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -724,7 +729,13 @@ 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 +install -m 0755 src/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm +mkdir -p %{buildroot}%{_sharedstatedir}/cephadm +chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm +mkdir -p %{buildroot}%{_sharedstatedir}/cephadm/.ssh +chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm/.ssh +touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys +chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} @@ -737,7 +748,7 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl -install -m 0600 -D sudoers.d/cephdaemon %{buildroot}%{_sysconfdir}/sudoers.d/cephdaemon +install -m 0600 -D sudoers.d/cephadm %{buildroot}%{_sysconfdir}/sudoers.d/cephadm %if 0%{?rhel} >= 8 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* @@ -811,8 +822,9 @@ 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}%{_sysconfdir}/sudoers.d/cephdaemon +rm -rf %{buildroot}%{_sbindir}/cephadm +rm -rf %{buildroot}%{_sysconfdir}/sudoers.d/cephadm +rm -rf %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys rm -rf %{buildroot}%doc rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf rm -rf %{buildroot}%license @@ -897,7 +909,7 @@ 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}%{_datadir}/ceph/mgr/cephadm rm -rf %{buildroot}%{_bindir}/ceph-mon rm -rf %{buildroot}%{_bindir}/ceph-monstore-tool rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8* @@ -1072,6 +1084,8 @@ rm -rf %{buildroot} %endif %if 0%{?fedora} || 0%{?rhel} %endif +%if ! 0%{?suse_version} +%endif %if 0%{?suse_version} %endif %if %{with lttng} diff --git a/ceph.changes b/ceph.changes index d93dd8e..1ddd0a5 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Fri Dec 13 12:33:34 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8441-g88a99a841e + + spec: fix cephadm user/group creation + +------------------------------------------------------------------- +Thu Dec 12 12:07:37 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8370-gec9b27b5e0 + + ceph-daemon is renamed to cephadm + + mgr/ssh is renamed to mgr/cephadm + ------------------------------------------------------------------- Tue Dec 10 15:39:59 UTC 2019 - Adrian Schröter diff --git a/ceph.spec b/ceph.spec index 1b886af..038ec15 100644 --- a/ceph.spec +++ b/ceph.spec @@ -109,7 +109,7 @@ # main package definition ################################################################################# Name: ceph -Version: 15.0.0.7866+g639502405f +Version: 15.0.0.8441+g88a99a841e Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -125,7 +125,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7866-g639502405f.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.0.0-8441-g88a99a841e.tar.bz2 %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x @@ -213,16 +213,6 @@ BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-six 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 -BuildRequires: python%{_python_buildid}-pyOpenSSL -%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -292,17 +282,27 @@ 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}-coverage BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-routes +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-tox BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-nss BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel +%if 0%{?rhel} == 7 +BuildRequires: pyOpenSSL%{_python_buildid} +%else +BuildRequires: python%{_python_buildid}-pyOpenSSL +%endif +%endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 @@ -312,7 +312,12 @@ BuildRequires: python%{_python_buildid}-CherryPy BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Werkzeug +BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-numpy-devel +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-pyOpenSSL +BuildRequires: python%{_python_buildid}-tox +BuildRequires: rpm-build BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif @@ -400,11 +405,11 @@ Requires: gptfdisk %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 +%package -n cephadm +Summary: cephadm utility to bootstrap Ceph clusters Requires: podman -%description -n ceph-daemon -Ceph-daemon utility to bootstrap a Ceph cluster and manage ceph daemons +%description -n cephadm +cephadm utility to bootstrap a Ceph cluster and manage ceph daemons deployed with systemd and podman. %package -n ceph-common @@ -490,7 +495,7 @@ 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: ceph-mgr-cephadm = %{_epoch_prefix}%{version}-%{release} Recommends: python%{_python_buildid}-influxdb %endif %if 0%{?rhel} == 7 @@ -600,24 +605,24 @@ Requires: python%{_python_buildid}-PyYAML ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events to kubernetes' events API -%package mgr-ssh -Summary: Ceph Manager plugin for SSH-based orchestration +%package mgr-cephadm +Summary: Ceph Manager plugin for cephadm-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} +Requires: cephadm = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires: openssh %endif %if 0%{?rhel} || 0%{?fedora} Requires: openssh-clients %endif -%description mgr-ssh -ceph-mgr-ssh is a ceph-mgr module for orchestration functions using -direct SSH connections for management operations. +%description mgr-cephadm +ceph-mgr-cephadm is a ceph-mgr module for orchestration functions using +the integrated cephadm deployment tool management operations. %package fuse Summary: Ceph fuse-based client @@ -1044,7 +1049,7 @@ Group: Development/Libraries/Python %{?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. +It also contains utilities used for the cephadm orchestrator. %endif %package -n python%{python3_pkgversion}-ceph-common @@ -1055,7 +1060,7 @@ Group: Development/Libraries/Python %{?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. +It also contains utilities used for the cephadm orchestrator. %if 0%{with cephfs_shell} %package -n cephfs-shell @@ -1198,7 +1203,7 @@ This package provides Ceph’s default alerts for Prometheus. # common ################################################################################# %prep -%autosetup -p1 -n ceph-15.0.0-7866-g639502405f +%autosetup -p1 -n ceph-15.0.0-8441-g88a99a841e %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -1358,7 +1363,13 @@ 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 +install -m 0755 src/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm +mkdir -p %{buildroot}%{_sharedstatedir}/cephadm +chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm +mkdir -p %{buildroot}%{_sharedstatedir}/cephadm/.ssh +chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm/.ssh +touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys +chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} @@ -1371,7 +1382,7 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl -install -m 0600 -D sudoers.d/cephdaemon %{buildroot}%{_sysconfdir}/sudoers.d/cephdaemon +install -m 0600 -D sudoers.d/cephadm %{buildroot}%{_sysconfdir}/sudoers.d/cephadm %if 0%{?rhel} >= 8 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* @@ -1523,31 +1534,23 @@ if [ $1 -ge 1 ] ; then fi fi -%pre daemon -# create user -if ! getent passwd | grep -q '^cephdaemon:'; then - useradd -r -s /bin/bash -c "Ceph-daemon user for mgr/ssh" -m cephdaemon -fi -# set up (initially empty) .ssh/authorized_keys file -if ! test -d /home/cephdaemon/.ssh; then - mkdir /home/cephdaemon/.ssh - chown --reference /home/cephdaemon /home/cephdaemon/.ssh - chmod 0700 /home/cephdaemon/.ssh -fi -if ! test -e /home/cephdaemon/.ssh/authorized_keys; then - touch /home/cephdaemon/.ssh/authorized_keys - chown --reference /home/cephdaemon /home/cephdaemon/.ssh/authorized_keys - chmod 0600 /home/cephdaemon/.ssh/authorized_keys -fi +%pre -n cephadm +getent group cephadm >/dev/null || groupadd cephadm +getent passwd cephadm >/dev/null || useradd -g cephadm -s /bin/bash -c "cephadm user for mgr/cephadm" -d %{_sharedstatedir}/cephadm cephadm exit 0 -%postun daemon -userdel -r cephdaemon || true +%if ! 0%{?suse_version} +%postun -n cephadm +userdel -r cephadm || true exit 0 +%endif -%files daemon -%{_sbindir}/ceph-daemon -%{_sysconfdir}/sudoers.d/cephdaemon +%files -n cephadm +%{_sbindir}/cephadm +%{_sysconfdir}/sudoers.d/cephadm +%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm +%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh +%attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys %files common %dir %{_docdir}/ceph @@ -1828,15 +1831,15 @@ 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 +%files mgr-cephadm +%{_datadir}/ceph/mgr/cephadm -%post mgr-ssh +%post mgr-cephadm if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%postun mgr-ssh +%postun mgr-cephadm if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi From 1e90d59d2be3b95762336b450a04328773a05a6da46a5df9080c3ed2ff2a7ad9 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Mon, 3 Feb 2020 12:42:22 +0000 Subject: [PATCH 4/9] - Update to + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=258 --- ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 | 3 + ceph-15.0.0-8441-g88a99a841e.tar.bz2 | 3 - ceph-test.spec | 68 +++++----------- ceph.changes | 27 +------ ceph.spec | 117 +++++++++------------------ 5 files changed, 61 insertions(+), 157 deletions(-) create mode 100644 ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 delete mode 100644 ceph-15.0.0-8441-g88a99a841e.tar.bz2 diff --git a/ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 b/ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 new file mode 100644 index 0000000..f89a746 --- /dev/null +++ b/ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3e826021e72c62c45c2c700205eaec50a0de39d207ece14b5a66f9bf24b7f85 +size 139573917 diff --git a/ceph-15.0.0-8441-g88a99a841e.tar.bz2 b/ceph-15.0.0-8441-g88a99a841e.tar.bz2 deleted file mode 100644 index b5b5043..0000000 --- a/ceph-15.0.0-8441-g88a99a841e.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:54fbd26c90cb35e6b97308cf6e986f22a5cd939380e6888d9fe48e1065baf321 -size 142438252 diff --git a/ceph-test.spec b/ceph-test.spec index b7bb1b5..e32382a 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -1,3 +1,4 @@ +# vim: set noexpandtab ts=8 sw=8 : # # spec file for package ceph # @@ -36,7 +37,6 @@ %bcond_without cephfs_java %endif %bcond_without amqp_endpoint -%bcond_without kafka_endpoint %bcond_without lttng %bcond_without libradosstriper %bcond_without ocf @@ -46,7 +46,6 @@ %bcond_with selinux %bcond_with cephfs_java %bcond_with amqp_endpoint -%bcond_with kafka_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates @@ -109,7 +108,7 @@ # main package definition ################################################################################# Name: ceph-test -Version: 15.0.0.8441+g88a99a841e +Version: 15.0.0.7452+gf6057ccfe3 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -125,7 +124,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-8441-g88a99a841e.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 %if 0%{?suse_version} Source96: checkin.sh Source97: README-checkin.txt @@ -183,7 +182,7 @@ BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libcap-ng-devel -BuildRequires: libudev-devel +BuildRequires: pkgconfig(libudev) BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool @@ -199,7 +198,7 @@ BuildRequires: python%{_python_buildid} BuildRequires: python%{_python_buildid}-devel BuildRequires: snappy-devel BuildRequires: sudo -BuildRequires: udev +BuildRequires: pkgconfig(udev) BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which @@ -210,9 +209,6 @@ BuildRequires: yasm %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif -%if 0%{with kafka_endpoint} -BuildRequires: librdkafka-devel -%endif %if 0%{with make_check} BuildRequires: jq BuildRequires: libuuid-devel @@ -221,6 +217,16 @@ BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-six 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 +BuildRequires: python%{_python_buildid}-pyOpenSSL +%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -290,27 +296,17 @@ 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}-coverage BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-routes -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-tox BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-nss BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel -%if 0%{?rhel} == 7 -BuildRequires: pyOpenSSL%{_python_buildid} -%else -BuildRequires: python%{_python_buildid}-pyOpenSSL -%endif -%endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 @@ -320,12 +316,7 @@ BuildRequires: python%{_python_buildid}-CherryPy BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Werkzeug -BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-numpy-devel -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-pyOpenSSL -BuildRequires: python%{_python_buildid}-tox -BuildRequires: rpm-build BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif @@ -436,10 +427,6 @@ This package contains Ceph benchmarks and test tools. %endif %if 0%{?suse_version} %endif -%if 0%{?rhel} || 0%{?fedora} -%endif -%if 0%{?suse_version} -%endif %if 0%{?suse_version} %endif %if 0%{?suse_version} @@ -569,7 +556,7 @@ This package contains Ceph benchmarks and test tools. %if 0%{?suse_version} %endif %prep -%autosetup -p1 -n ceph-15.0.0-8441-g88a99a841e +%autosetup -p1 -n ceph-15.0.0-7452-gf6057ccfe3 %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -644,7 +631,6 @@ ${CMAKE} .. \ -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=%{python3_version} \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ %if %{with python2} -DWITH_PYTHON2=ON \ %else @@ -688,11 +674,6 @@ ${CMAKE} .. \ -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ %else -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ -%endif -%if 0%{with kafka_endpoint} - -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ -%else - -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON @@ -729,13 +710,7 @@ 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/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm -mkdir -p %{buildroot}%{_sharedstatedir}/cephadm -chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm -mkdir -p %{buildroot}%{_sharedstatedir}/cephadm/.ssh -chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm/.ssh -touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys -chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys +install -m 0755 src/ceph-daemon/ceph-daemon %{buildroot}%{_sbindir}/ceph-daemon # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} @@ -748,7 +723,6 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl -install -m 0600 -D sudoers.d/cephadm %{buildroot}%{_sysconfdir}/sudoers.d/cephadm %if 0%{?rhel} >= 8 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* @@ -822,9 +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}/cephadm -rm -rf %{buildroot}%{_sysconfdir}/sudoers.d/cephadm -rm -rf %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys +rm -rf %{buildroot}%{_sbindir}/ceph-daemon rm -rf %{buildroot}%doc rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf rm -rf %{buildroot}%license @@ -909,7 +881,7 @@ 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/cephadm +rm -rf %{buildroot}%{_datadir}/ceph/mgr/ssh rm -rf %{buildroot}%{_bindir}/ceph-mon rm -rf %{buildroot}%{_bindir}/ceph-monstore-tool rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8* @@ -1084,8 +1056,6 @@ rm -rf %{buildroot} %endif %if 0%{?fedora} || 0%{?rhel} %endif -%if ! 0%{?suse_version} -%endif %if 0%{?suse_version} %endif %if %{with lttng} diff --git a/ceph.changes b/ceph.changes index 1ddd0a5..809c6ad 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,35 +1,14 @@ ------------------------------------------------------------------- -Fri Dec 13 12:33:34 UTC 2019 - Nathan Cutler +Mon Feb 3 12:40:02 UTC 2020 - Nathan Cutler -- Update to 15.0.0-8441-g88a99a841e - + spec: fix cephadm user/group creation - -------------------------------------------------------------------- -Thu Dec 12 12:07:37 UTC 2019 - Nathan Cutler - -- Update to 15.0.0-8370-gec9b27b5e0 - + ceph-daemon is renamed to cephadm - + mgr/ssh is renamed to mgr/cephadm +- Update to + + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel ------------------------------------------------------------------- Tue Dec 10 15:39:59 UTC 2019 - Adrian Schröter - increase disk space needs in _constraints for some architectures -------------------------------------------------------------------- -Mon Dec 2 11:51:18 UTC 2019 - Nathan Cutler - -- Update to 15.0.0-7866-g639502405f: - + rebase on tip of upstream master, SHA1 95dd54889a9c113f77dd6c2c7e77166335a59794 - -------------------------------------------------------------------- -Sun Nov 24 20:12:13 UTC 2019 - Nathan Cutler - -- Update to 15.0.0-7686-g54042e1a06: - + rebase on tip of upstream master, SHA1 2c06beb5ec38c8b9f7bd84152da3f5708de8d0c0 - * Revert "Merge pull request #16715 from adamemerson/wip-I-Object!" (bsc#1157443) - * spec: add explicit openssh dependency to ceph-mgr-ssh (bsc#1157527) - ------------------------------------------------------------------- Thu Nov 21 10:10:02 UTC 2019 - Nathan Cutler diff --git a/ceph.spec b/ceph.spec index 038ec15..24af1df 100644 --- a/ceph.spec +++ b/ceph.spec @@ -1,3 +1,4 @@ +# vim: set noexpandtab ts=8 sw=8 : # # spec file for package ceph # @@ -36,7 +37,6 @@ %bcond_without cephfs_java %endif %bcond_without amqp_endpoint -%bcond_without kafka_endpoint %bcond_without lttng %bcond_without libradosstriper %bcond_without ocf @@ -46,7 +46,6 @@ %bcond_with selinux %bcond_with cephfs_java %bcond_with amqp_endpoint -%bcond_with kafka_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates @@ -109,7 +108,7 @@ # main package definition ################################################################################# Name: ceph -Version: 15.0.0.8441+g88a99a841e +Version: 15.0.0.7452+gf6057ccfe3 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -125,7 +124,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-8441-g88a99a841e.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x @@ -175,7 +174,7 @@ BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libcap-ng-devel -BuildRequires: libudev-devel +BuildRequires: pkgconfig(libudev) BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool @@ -191,7 +190,7 @@ BuildRequires: python%{_python_buildid} BuildRequires: python%{_python_buildid}-devel BuildRequires: snappy-devel BuildRequires: sudo -BuildRequires: udev +BuildRequires: pkgconfig(udev) BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which @@ -202,9 +201,6 @@ BuildRequires: yasm %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif -%if 0%{with kafka_endpoint} -BuildRequires: librdkafka-devel -%endif %if 0%{with make_check} BuildRequires: jq BuildRequires: libuuid-devel @@ -213,6 +209,16 @@ BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-six 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 +BuildRequires: python%{_python_buildid}-pyOpenSSL +%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -282,27 +288,17 @@ 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}-coverage BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-routes -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-tox BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-nss BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel -%if 0%{?rhel} == 7 -BuildRequires: pyOpenSSL%{_python_buildid} -%else -BuildRequires: python%{_python_buildid}-pyOpenSSL -%endif -%endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 @@ -312,12 +308,7 @@ BuildRequires: python%{_python_buildid}-CherryPy BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Werkzeug -BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-numpy-devel -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-pyOpenSSL -BuildRequires: python%{_python_buildid}-tox -BuildRequires: rpm-build BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif @@ -400,16 +391,15 @@ Requires: gperftools-libs >= 2.6.1 %endif %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 cephadm -Summary: cephadm utility to bootstrap Ceph clusters +%package -n ceph-daemon +Summary: Ceph-daemon utility to bootstrap Ceph clusters Requires: podman -%description -n cephadm -cephadm utility to bootstrap a Ceph cluster and manage ceph daemons +%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 @@ -431,7 +421,6 @@ Requires: python%{_python_buildid}-prettytable %endif %if 0%{?suse_version} Requires: python%{_python_buildid}-PrettyTable -Obsoletes: libxio <= 1.7 %endif %if 0%{with libradosstriper} Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} @@ -495,7 +484,7 @@ 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-cephadm = %{_epoch_prefix}%{version}-%{release} +Recommends: ceph-mgr-ssh = %{_epoch_prefix}%{version}-%{release} Recommends: python%{_python_buildid}-influxdb %endif %if 0%{?rhel} == 7 @@ -605,24 +594,18 @@ Requires: python%{_python_buildid}-PyYAML ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events to kubernetes' events API -%package mgr-cephadm -Summary: Ceph Manager plugin for cephadm-based orchestration +%package mgr-ssh +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: cephadm = %{_epoch_prefix}%{version}-%{release} -%if 0%{?suse_version} -Requires: openssh -%endif -%if 0%{?rhel} || 0%{?fedora} -Requires: openssh-clients -%endif -%description mgr-cephadm -ceph-mgr-cephadm is a ceph-mgr module for orchestration functions using -the integrated cephadm deployment tool management operations. +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. %package fuse Summary: Ceph fuse-based client @@ -1049,7 +1032,7 @@ Group: Development/Libraries/Python %{?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 cephadm orchestrator. +It also contains utilities used for the SSH orchestrator. %endif %package -n python%{python3_pkgversion}-ceph-common @@ -1060,7 +1043,7 @@ Group: Development/Libraries/Python %{?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 cephadm orchestrator. +It also contains utilities used for the SSH orchestrator. %if 0%{with cephfs_shell} %package -n cephfs-shell @@ -1203,7 +1186,7 @@ This package provides Ceph’s default alerts for Prometheus. # common ################################################################################# %prep -%autosetup -p1 -n ceph-15.0.0-8441-g88a99a841e +%autosetup -p1 -n ceph-15.0.0-7452-gf6057ccfe3 %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -1278,7 +1261,6 @@ ${CMAKE} .. \ -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=%{python3_version} \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ %if %{with python2} -DWITH_PYTHON2=ON \ %else @@ -1322,11 +1304,6 @@ ${CMAKE} .. \ -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ %else -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ -%endif -%if 0%{with kafka_endpoint} - -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ -%else - -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON @@ -1363,13 +1340,7 @@ 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/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm -mkdir -p %{buildroot}%{_sharedstatedir}/cephadm -chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm -mkdir -p %{buildroot}%{_sharedstatedir}/cephadm/.ssh -chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm/.ssh -touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys -chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys +install -m 0755 src/ceph-daemon/ceph-daemon %{buildroot}%{_sbindir}/ceph-daemon # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} @@ -1382,7 +1353,6 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl -install -m 0600 -D sudoers.d/cephadm %{buildroot}%{_sysconfdir}/sudoers.d/cephadm %if 0%{?rhel} >= 8 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* @@ -1534,23 +1504,8 @@ if [ $1 -ge 1 ] ; then fi fi -%pre -n cephadm -getent group cephadm >/dev/null || groupadd cephadm -getent passwd cephadm >/dev/null || useradd -g cephadm -s /bin/bash -c "cephadm user for mgr/cephadm" -d %{_sharedstatedir}/cephadm cephadm -exit 0 - -%if ! 0%{?suse_version} -%postun -n cephadm -userdel -r cephadm || true -exit 0 -%endif - -%files -n cephadm -%{_sbindir}/cephadm -%{_sysconfdir}/sudoers.d/cephadm -%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm -%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh -%attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys +%files daemon +%{_sbindir}/ceph-daemon %files common %dir %{_docdir}/ceph @@ -1831,15 +1786,15 @@ if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%files mgr-cephadm -%{_datadir}/ceph/mgr/cephadm +%files mgr-ssh +%{_datadir}/ceph/mgr/ssh -%post mgr-cephadm +%post mgr-ssh if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%postun mgr-cephadm +%postun mgr-ssh if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi From a97141d2296e77de919a0405cee5c55dea041d8db13b395f5fddd07ee5441df0 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Mon, 3 Feb 2020 13:06:48 +0000 Subject: [PATCH 5/9] revert the last revision OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=259 --- ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 | 3 - ceph-15.0.0-8441-g88a99a841e.tar.bz2 | 3 + ceph-test.spec | 68 +++++++++++----- ceph.changes | 27 ++++++- ceph.spec | 117 ++++++++++++++++++--------- 5 files changed, 157 insertions(+), 61 deletions(-) delete mode 100644 ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 create mode 100644 ceph-15.0.0-8441-g88a99a841e.tar.bz2 diff --git a/ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 b/ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 deleted file mode 100644 index f89a746..0000000 --- a/ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b3e826021e72c62c45c2c700205eaec50a0de39d207ece14b5a66f9bf24b7f85 -size 139573917 diff --git a/ceph-15.0.0-8441-g88a99a841e.tar.bz2 b/ceph-15.0.0-8441-g88a99a841e.tar.bz2 new file mode 100644 index 0000000..b5b5043 --- /dev/null +++ b/ceph-15.0.0-8441-g88a99a841e.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54fbd26c90cb35e6b97308cf6e986f22a5cd939380e6888d9fe48e1065baf321 +size 142438252 diff --git a/ceph-test.spec b/ceph-test.spec index e32382a..b7bb1b5 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -1,4 +1,3 @@ -# vim: set noexpandtab ts=8 sw=8 : # # spec file for package ceph # @@ -37,6 +36,7 @@ %bcond_without cephfs_java %endif %bcond_without amqp_endpoint +%bcond_without kafka_endpoint %bcond_without lttng %bcond_without libradosstriper %bcond_without ocf @@ -46,6 +46,7 @@ %bcond_with selinux %bcond_with cephfs_java %bcond_with amqp_endpoint +%bcond_with kafka_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates @@ -108,7 +109,7 @@ # main package definition ################################################################################# Name: ceph-test -Version: 15.0.0.7452+gf6057ccfe3 +Version: 15.0.0.8441+g88a99a841e Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -124,7 +125,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.0.0-8441-g88a99a841e.tar.bz2 %if 0%{?suse_version} Source96: checkin.sh Source97: README-checkin.txt @@ -182,7 +183,7 @@ BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libcap-ng-devel -BuildRequires: pkgconfig(libudev) +BuildRequires: libudev-devel BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool @@ -198,7 +199,7 @@ BuildRequires: python%{_python_buildid} BuildRequires: python%{_python_buildid}-devel BuildRequires: snappy-devel BuildRequires: sudo -BuildRequires: pkgconfig(udev) +BuildRequires: udev BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which @@ -209,6 +210,9 @@ BuildRequires: yasm %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif +%if 0%{with kafka_endpoint} +BuildRequires: librdkafka-devel +%endif %if 0%{with make_check} BuildRequires: jq BuildRequires: libuuid-devel @@ -217,16 +221,6 @@ BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-six 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 -BuildRequires: python%{_python_buildid}-pyOpenSSL -%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -296,17 +290,27 @@ 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}-coverage BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-routes +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-tox BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-nss BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel +%if 0%{?rhel} == 7 +BuildRequires: pyOpenSSL%{_python_buildid} +%else +BuildRequires: python%{_python_buildid}-pyOpenSSL +%endif +%endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 @@ -316,7 +320,12 @@ BuildRequires: python%{_python_buildid}-CherryPy BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Werkzeug +BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-numpy-devel +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-pyOpenSSL +BuildRequires: python%{_python_buildid}-tox +BuildRequires: rpm-build BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif @@ -427,6 +436,10 @@ This package contains Ceph benchmarks and test tools. %endif %if 0%{?suse_version} %endif +%if 0%{?rhel} || 0%{?fedora} +%endif +%if 0%{?suse_version} +%endif %if 0%{?suse_version} %endif %if 0%{?suse_version} @@ -556,7 +569,7 @@ This package contains Ceph benchmarks and test tools. %if 0%{?suse_version} %endif %prep -%autosetup -p1 -n ceph-15.0.0-7452-gf6057ccfe3 +%autosetup -p1 -n ceph-15.0.0-8441-g88a99a841e %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -631,6 +644,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 @@ -674,6 +688,11 @@ ${CMAKE} .. \ -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ %else -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ +%endif +%if 0%{with kafka_endpoint} + -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ +%else + -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON @@ -710,7 +729,13 @@ 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 +install -m 0755 src/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm +mkdir -p %{buildroot}%{_sharedstatedir}/cephadm +chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm +mkdir -p %{buildroot}%{_sharedstatedir}/cephadm/.ssh +chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm/.ssh +touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys +chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} @@ -723,6 +748,7 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl +install -m 0600 -D sudoers.d/cephadm %{buildroot}%{_sysconfdir}/sudoers.d/cephadm %if 0%{?rhel} >= 8 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* @@ -796,7 +822,9 @@ 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}%{_sbindir}/cephadm +rm -rf %{buildroot}%{_sysconfdir}/sudoers.d/cephadm +rm -rf %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys rm -rf %{buildroot}%doc rm -rf %{buildroot}%{_docdir}/ceph/sample.ceph.conf rm -rf %{buildroot}%license @@ -881,7 +909,7 @@ 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}%{_datadir}/ceph/mgr/cephadm rm -rf %{buildroot}%{_bindir}/ceph-mon rm -rf %{buildroot}%{_bindir}/ceph-monstore-tool rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8* @@ -1056,6 +1084,8 @@ rm -rf %{buildroot} %endif %if 0%{?fedora} || 0%{?rhel} %endif +%if ! 0%{?suse_version} +%endif %if 0%{?suse_version} %endif %if %{with lttng} diff --git a/ceph.changes b/ceph.changes index 809c6ad..1ddd0a5 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,14 +1,35 @@ ------------------------------------------------------------------- -Mon Feb 3 12:40:02 UTC 2020 - Nathan Cutler +Fri Dec 13 12:33:34 UTC 2019 - Nathan Cutler -- Update to - + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel +- Update to 15.0.0-8441-g88a99a841e + + spec: fix cephadm user/group creation + +------------------------------------------------------------------- +Thu Dec 12 12:07:37 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8370-gec9b27b5e0 + + ceph-daemon is renamed to cephadm + + mgr/ssh is renamed to mgr/cephadm ------------------------------------------------------------------- Tue Dec 10 15:39:59 UTC 2019 - Adrian Schröter - increase disk space needs in _constraints for some architectures +------------------------------------------------------------------- +Mon Dec 2 11:51:18 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-7866-g639502405f: + + rebase on tip of upstream master, SHA1 95dd54889a9c113f77dd6c2c7e77166335a59794 + +------------------------------------------------------------------- +Sun Nov 24 20:12:13 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-7686-g54042e1a06: + + rebase on tip of upstream master, SHA1 2c06beb5ec38c8b9f7bd84152da3f5708de8d0c0 + * Revert "Merge pull request #16715 from adamemerson/wip-I-Object!" (bsc#1157443) + * spec: add explicit openssh dependency to ceph-mgr-ssh (bsc#1157527) + ------------------------------------------------------------------- Thu Nov 21 10:10:02 UTC 2019 - Nathan Cutler diff --git a/ceph.spec b/ceph.spec index 24af1df..038ec15 100644 --- a/ceph.spec +++ b/ceph.spec @@ -1,4 +1,3 @@ -# vim: set noexpandtab ts=8 sw=8 : # # spec file for package ceph # @@ -37,6 +36,7 @@ %bcond_without cephfs_java %endif %bcond_without amqp_endpoint +%bcond_without kafka_endpoint %bcond_without lttng %bcond_without libradosstriper %bcond_without ocf @@ -46,6 +46,7 @@ %bcond_with selinux %bcond_with cephfs_java %bcond_with amqp_endpoint +%bcond_with kafka_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates @@ -108,7 +109,7 @@ # main package definition ################################################################################# Name: ceph -Version: 15.0.0.7452+gf6057ccfe3 +Version: 15.0.0.8441+g88a99a841e Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -124,7 +125,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-7452-gf6057ccfe3.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.0.0-8441-g88a99a841e.tar.bz2 %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x @@ -174,7 +175,7 @@ BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libcap-ng-devel -BuildRequires: pkgconfig(libudev) +BuildRequires: libudev-devel BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool @@ -190,7 +191,7 @@ BuildRequires: python%{_python_buildid} BuildRequires: python%{_python_buildid}-devel BuildRequires: snappy-devel BuildRequires: sudo -BuildRequires: pkgconfig(udev) +BuildRequires: udev BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which @@ -201,6 +202,9 @@ BuildRequires: yasm %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif +%if 0%{with kafka_endpoint} +BuildRequires: librdkafka-devel +%endif %if 0%{with make_check} BuildRequires: jq BuildRequires: libuuid-devel @@ -209,16 +213,6 @@ BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-six 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 -BuildRequires: python%{_python_buildid}-pyOpenSSL -%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -288,17 +282,27 @@ 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}-coverage BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-routes +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-tox BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-nss BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel +%if 0%{?rhel} == 7 +BuildRequires: pyOpenSSL%{_python_buildid} +%else +BuildRequires: python%{_python_buildid}-pyOpenSSL +%endif +%endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 @@ -308,7 +312,12 @@ BuildRequires: python%{_python_buildid}-CherryPy BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Werkzeug +BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-numpy-devel +BuildRequires: python%{_python_buildid}-pecan +BuildRequires: python%{_python_buildid}-pyOpenSSL +BuildRequires: python%{_python_buildid}-tox +BuildRequires: rpm-build BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif @@ -391,15 +400,16 @@ Requires: gperftools-libs >= 2.6.1 %endif %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 +%package -n cephadm +Summary: cephadm utility to bootstrap Ceph clusters Requires: podman -%description -n ceph-daemon -Ceph-daemon utility to bootstrap a Ceph cluster and manage ceph daemons +%description -n cephadm +cephadm utility to bootstrap a Ceph cluster and manage ceph daemons deployed with systemd and podman. %package -n ceph-common @@ -421,6 +431,7 @@ Requires: python%{_python_buildid}-prettytable %endif %if 0%{?suse_version} Requires: python%{_python_buildid}-PrettyTable +Obsoletes: libxio <= 1.7 %endif %if 0%{with libradosstriper} Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} @@ -484,7 +495,7 @@ 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: ceph-mgr-cephadm = %{_epoch_prefix}%{version}-%{release} Recommends: python%{_python_buildid}-influxdb %endif %if 0%{?rhel} == 7 @@ -594,18 +605,24 @@ Requires: python%{_python_buildid}-PyYAML ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events to kubernetes' events API -%package mgr-ssh -Summary: Ceph Manager plugin for SSH-based orchestration +%package mgr-cephadm +Summary: Ceph Manager plugin for cephadm-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. +Requires: cephadm = %{_epoch_prefix}%{version}-%{release} +%if 0%{?suse_version} +Requires: openssh +%endif +%if 0%{?rhel} || 0%{?fedora} +Requires: openssh-clients +%endif +%description mgr-cephadm +ceph-mgr-cephadm is a ceph-mgr module for orchestration functions using +the integrated cephadm deployment tool management operations. %package fuse Summary: Ceph fuse-based client @@ -1032,7 +1049,7 @@ Group: Development/Libraries/Python %{?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. +It also contains utilities used for the cephadm orchestrator. %endif %package -n python%{python3_pkgversion}-ceph-common @@ -1043,7 +1060,7 @@ Group: Development/Libraries/Python %{?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. +It also contains utilities used for the cephadm orchestrator. %if 0%{with cephfs_shell} %package -n cephfs-shell @@ -1186,7 +1203,7 @@ This package provides Ceph’s default alerts for Prometheus. # common ################################################################################# %prep -%autosetup -p1 -n ceph-15.0.0-7452-gf6057ccfe3 +%autosetup -p1 -n ceph-15.0.0-8441-g88a99a841e %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -1261,6 +1278,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 @@ -1304,6 +1322,11 @@ ${CMAKE} .. \ -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ %else -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ +%endif +%if 0%{with kafka_endpoint} + -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ +%else + -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON @@ -1340,7 +1363,13 @@ 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 +install -m 0755 src/cephadm/cephadm %{buildroot}%{_sbindir}/cephadm +mkdir -p %{buildroot}%{_sharedstatedir}/cephadm +chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm +mkdir -p %{buildroot}%{_sharedstatedir}/cephadm/.ssh +chmod 0700 %{buildroot}%{_sharedstatedir}/cephadm/.ssh +touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys +chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys # firewall templates and /sbin/mount.ceph symlink %if 0%{?suse_version} @@ -1353,6 +1382,7 @@ install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0600 -D sudoers.d/ceph-osd-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-osd-smartctl +install -m 0600 -D sudoers.d/cephadm %{buildroot}%{_sysconfdir}/sudoers.d/cephadm %if 0%{?rhel} >= 8 pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* @@ -1504,8 +1534,23 @@ if [ $1 -ge 1 ] ; then fi fi -%files daemon -%{_sbindir}/ceph-daemon +%pre -n cephadm +getent group cephadm >/dev/null || groupadd cephadm +getent passwd cephadm >/dev/null || useradd -g cephadm -s /bin/bash -c "cephadm user for mgr/cephadm" -d %{_sharedstatedir}/cephadm cephadm +exit 0 + +%if ! 0%{?suse_version} +%postun -n cephadm +userdel -r cephadm || true +exit 0 +%endif + +%files -n cephadm +%{_sbindir}/cephadm +%{_sysconfdir}/sudoers.d/cephadm +%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm +%attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh +%attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys %files common %dir %{_docdir}/ceph @@ -1786,15 +1831,15 @@ 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 +%files mgr-cephadm +%{_datadir}/ceph/mgr/cephadm -%post mgr-ssh +%post mgr-cephadm if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi -%postun mgr-ssh +%postun mgr-cephadm if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi From f778c0863535c45622896837559b3e90286f9510c323e61dd03b9814a1eb9518 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Tue, 25 Feb 2020 13:02:33 +0000 Subject: [PATCH 6/9] Accepting request 779069 from filesystems:ceph:octopus new factory sr OBS-URL: https://build.opensuse.org/request/show/779069 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=260 --- ceph-15.0.0-8441-g88a99a841e.tar.bz2 | 3 - ceph-15.1.0-1207-g89308cc4c6.tar.bz2 | 3 + ceph-rpmlintrc | 125 ++++++- ceph-test.changes | 123 ++++++- ceph-test.spec | 280 ++++++-------- ceph.changes | 123 ++++++- ceph.spec | 521 ++++++++++----------------- checkin.sh | 2 +- 8 files changed, 680 insertions(+), 500 deletions(-) delete mode 100644 ceph-15.0.0-8441-g88a99a841e.tar.bz2 create mode 100644 ceph-15.1.0-1207-g89308cc4c6.tar.bz2 diff --git a/ceph-15.0.0-8441-g88a99a841e.tar.bz2 b/ceph-15.0.0-8441-g88a99a841e.tar.bz2 deleted file mode 100644 index b5b5043..0000000 --- a/ceph-15.0.0-8441-g88a99a841e.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:54fbd26c90cb35e6b97308cf6e986f22a5cd939380e6888d9fe48e1065baf321 -size 142438252 diff --git a/ceph-15.1.0-1207-g89308cc4c6.tar.bz2 b/ceph-15.1.0-1207-g89308cc4c6.tar.bz2 new file mode 100644 index 0000000..9f7c64e --- /dev/null +++ b/ceph-15.1.0-1207-g89308cc4c6.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0f043a694a2f32bb0d390460d08185879308a1dae054c4c7cc1ec454e93622f2 +size 154962646 diff --git a/ceph-rpmlintrc b/ceph-rpmlintrc index 3f28c7e..6cebca0 100644 --- a/ceph-rpmlintrc +++ b/ceph-rpmlintrc @@ -1,9 +1,128 @@ -# to be used as a last resort +# Upstream has fixed share library dependencies, all within the +# ceph src package. Eliminating them is a long-term effort. addFilter("shlib-fixed-dependency") -addFilter("ceph-base.*devel-file-in-non-devel-package.*erasure-code") + +# ceph-base RPM ships some internal static libraries addFilter("ceph-base.*devel-file-in-non-devel-package.*compressor") addFilter("ceph-base.*devel-file-in-non-devel-package.*rados-classes") addFilter("ceph-base.*devel-file-in-non-devel-package.*libceph_crypto") addFilter("ceph-base.*devel-file-in-non-devel-package.*libos_tp") addFilter("ceph-base.*devel-file-in-non-devel-package.*libosd_tp") -addFilter("librados2.*devel-file-in-non-devel-package.*libceph-common") + +# env shebang hack is required because the same script has to run in FreeBSD as +# well as Linux (Fedora, CentOS, SUSE, Debian, Ubuntu, etc.) +addFilter("ceph-common.*env-script-interpreter.*rbd-replay-many") +addFilter("ceph-common.*env-script-interpreter.*rbdmap") + +# cephadm intentionally ships an empty file (.ssh/authorized_keys) +# and a hidden directory (/var/lib/cephadm/.ssh) +addFilter("cephadm.*zero-length") +addFilter("cephadm.*hidden-file-or-dir") + +# ceph-mgr-dashboard ships a bunch of empty files and hidden files: need to audit if they are needed (WIP) +addFilter("ceph-mgr-dashboard.*zero-length") +addFilter("ceph-mgr-dashboard.*hidden-file-or-dir") + +# ceph-immutable-object-cache has a weird description (WIP) +addFilter("ceph-immutable-object-cache.*description-shorter-than-summary") + +# ceph-osd depends on libstoragemgmt explicitly (WIP) +addFilter("ceph-osd.*explicit-lib-dependency.*libstoragemgmt") + +# we have a problem with RPM names that are too long for Joliet filesystem (WIP) +addFilter("filename-too-long-for-joliet") + +# ceph-base intentionally calls its logrotate file "etc/logrotate.d/ceph" +addFilter("ceph-base.*incoherent-logrotate-file") + +# many ceph executables might not be relinquishing groups (WIP) +addFilter("missing-call-to-setgroups-before-setuid") + +# package summary might intentionally contain the word "Ceph" +addFilter("name-repeated-in-summary") + +# the ceph RPM should be of the noarch architecture because it contains no binaries (WIP) +addFilter("ceph.*no-binary") + +# cephfs-shell might be missing a Requires (WIP) +addFilter("cephfs-shell.*no-dependency-on.*python-base") + +# ceph-osd ships /etc/sudoers.d/ceph-osd-smartctl without %config (WIP) +addFilter("ceph-osd.*non-conffile-in-etc.*sudoers") + +# cephadm ships /etc/sudoers.d/cephadm without %config (WIP) +addFilter("cephadm.*non-conffile-in-etc.*sudoers") + +# ceph-osd ships /usr/lib/sysctl.d/90-ceph-osd.conf with %config (WIP) +addFilter("ceph-osd.*non-etc-or-var-file-marked-as-conffile.*sysctl.d") + +# ceph-dashboard ships several scripts that don't have executable bit set (WIP) +addFilter("ceph-mgr-dashboard.*non-executable-script") + +# ceph-mgr-rook ships a script that doesn't have executable bit set (WIP) +addFilter("ceph-mgr-rook.*non-executable-script.*generate_rook_ceph_client.sh") + +# some devel packages obsolete the deprecated "ceph-devel" package without providing it (WIP) +addFilter("obsolete-not-provided.*ceph-devel") + +# libcephfs2 obsoletes libcephfs1 without providing it (WIP) +addFilter("libcephfs2.*obsolete-not-provided.*libcephfs1") + +# bsc#1150366 is open - http://bugzilla.suse.com/show_bug.cgi?id=1150366 +addFilter("ceph-common.*permissions-directory-setuid-bit") + +# /usr/bin/radosgw has the wrong permissions (WIP) +addFilter("ceph-radosgw.*permissions-incorrect.*radosgw") + +# /usr/bin/radosgw has the wrong owner root:root - should be root:www (WIP) +addFilter("ceph-radosgw.*permissions-incorrect-owner.*radosgw") + +# ceph-radosgw is missing %set_permissions /usr/bin/radosgw in %post (WIP) +addFilter("ceph-radosgw.*permissions-missing-postin.*radosgw") + +# ceph-radosgw is missing 'permissions' in PreReq - needs "PreReq: permissions" (WIP) +addFilter("ceph-radosgw.*permissions-missing-requires") + +# ceph-common and ceph-radosgw are missing '%verify_permissions -e /usr/bin/radosgw' (WIP) +addFilter("ceph-common.*permissions-missing-verifyscript") +addFilter("ceph-radosgw.*permissions-missing-verifyscript") + +# librgw2 calls exit() or _exit(), probably in a non-fork() context (WIP) +addFilter("librgw2.*shared-lib-calls-exit") + +# ceph-base ships with shared libraries - these are internal and upstream does +# not want to split them into separate RPMS +addFilter("ceph-base.*shlib-policy-missing-suffix") + +# the ceph RPM is a "meta" RPM without any files. These are discouraged by SUSE, +# but upstream relies on this construct and we just have to live with it. +addFilter("ceph\..*suse-filelist-empty") + +# ceph-common ships bash-completion files in the wrong directory (WIP) +addFilter("ceph-common.*suse-filelist-forbidden-bashcomp-userdirs") + +# ceph-base ships a logrotate file in /etc/logrotate.d/ceph but does not not +# package the log directory /var/log/ceph (WIP) +addFilter("ceph-base.*suse-logrotate-log-dir-not-packaged") + +# our packages are missing "rcFOO" symlinks - I doubt if this is worth fixing +addFilter("suse-missing-rclink") + +# %post scriptlets do not call service_add_post (WIP) +addFilter("systemd-service-without-service_add_post") + +# %pre scriptlets do not call service_add_pre (WIP) +addFilter("systemd-service-without-service_add_pre") + +# %postun scriptlets do not call service_del_postun (WIP) +addFilter("systemd-service-without-service_del_postun") + +# %preun scriptlets do not call service_del_preun (WIP) +addFilter("systemd-service-without-service_del_preun") + +# /run/ceph needs to be added to %files section as %ghost (WIP) +addFilter("ceph-common.*tmpfile-not-in-filelist") + +# ceph-radosgw ships a SO that belongs in librgw-devel (WIP) +addFilter("ceph-radosgw.*devel-file-in-non-devel-package") + diff --git a/ceph-test.changes b/ceph-test.changes index 1ddd0a5..5a20104 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,8 +1,125 @@ ------------------------------------------------------------------- -Fri Dec 13 12:33:34 UTC 2019 - Nathan Cutler +Tue Feb 25 12:55:29 UTC 2020 - Nathan Cutler -- Update to 15.0.0-8441-g88a99a841e - + spec: fix cephadm user/group creation +- significant changes since the last Factory SR: + + ceph-rpmlintrc: silence RPMLINT warnings and document ones that are in + the process of being fixed ("WIP") + + fix s390x build failure + + fix GCC 10 build failure (boo#1161086) + + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel + +------------------------------------------------------------------- +Tue Feb 25 10:24:26 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-1207-g89308cc4c6: + + rebase on tip of upstream master, SHA1 0ffbe4a5ef73036309a3c6488be4dbb1b667a4c7 + + drop temporary fix "cephadm: Don't call prepare-host from bootstrap" + +------------------------------------------------------------------- +Fri Feb 21 07:46:56 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-951-g36f83482b6c: + + cephadm: Don't call prepare-host from bootstrap + (temporary fix to keep cephadm running on SUSE after upstream merged + 932ac9342483141f10dbf99d1806d81a4d70a26a) + +------------------------------------------------------------------- +Thu Feb 20 10:21:39 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-950-g0ba22d2e46: + + rebase on tip of upstream master, SHA1 e79e42467970c1be210d674e90dab21ce73e2872 + * mgr/orch: resurrect ServiceDescription, 'orch ls' + +------------------------------------------------------------------- +Mon Feb 17 16:08:29 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-818-g5f8ed0e957: + + rebase on tip of upstream master, SHA1 eb72aebb92f1bfce00aedaebf140789871eb943f + * includes "mgr/orch: new cli, phase 2" patches (PR#33244) needed + by latest ceph-bootstrap + +------------------------------------------------------------------- +Thu Feb 13 13:45:52 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-636-g2280954009: + + rebase on tip of upstream master, SHA1 e36d47a8c3f4181d68a4cd680bdde72064dee910 + +------------------------------------------------------------------- +Mon Feb 3 14:59:02 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-168-gfda88e35c8: + + rebase on tip of upstream master, SHA1 80487f4a604da94778e65f666e1177a3ed84543e + + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel + +------------------------------------------------------------------- +Thu Jan 30 13:08:38 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-10092-gb5fd1b8250: + + rebase on tip of upstream master, SHA1 3913835a8f0b9b34ceffd4dc02e1e8203227be02 + +------------------------------------------------------------------- +Thu Jan 23 12:45:20 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-9544-gefdea72067: + + cmake: Improve test for 16-byte atomic support on IBM Z (bsc#1161688) + +------------------------------------------------------------------- +Tue Jan 21 11:09:45 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-9543-g1c7fc80ba1: + + rebase on tip of upstream master, SHA1 089e97c27013612672099281fad76746f19290e3 + +------------------------------------------------------------------- +Mon Jan 20 16:03:16 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-9494-g22cdfe7b96: + + rebase on tip of upstream master, SHA1 26c66630bd98dfce113f66ab4e081e5a7b0216c0 + +------------------------------------------------------------------- +Tue Jan 7 17:49:34 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-9092-gd050bc3f0a: + + rebase on tip of upstream master, SHA1 dfd90da59c0b2eda9ca61fed1d508ddc2ab32a2b + +------------------------------------------------------------------- +Thu Dec 19 13:09:54 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8683-gb78b3635a5: + + rebase on tip of upstream master, SHA1 3e1e6a6694bb133c57e2b05a6316dcebae390815 + + drop libxio Provides/Obsoletes (they are no longer necessary because libxio + is long gone) + + drop runtime dependency on gptfdisk (it was needed for ceph-disk, + which has since been removed) + + spec: drop "_python_buildid" macro (it was needed to support py2 builds, + which upstream is finally moving away from) + +------------------------------------------------------------------- +Wed Dec 18 14:21:48 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8588-g58b5b29433: + + spec, debian: cephadm requires lvm2 (bsc#1159466) + +------------------------------------------------------------------- +Wed Dec 18 08:01:17 UTC 2019 - Nathan Cutler + +- ceph-rpmlintrc: fix syntax error introduced by change mentioned + in previous changelog entry + +------------------------------------------------------------------- +Tue Dec 17 16:08:38 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8587-gf0521c1db5: + + rebase on tip of upstream master, SHA1 068aafb2ea3c71b5adda79467847ee03b77bb35e + * cephadm: do ceph-volume activate+deactivate as part of systemd unit + +------------------------------------------------------------------- +Mon Dec 16 12:36:02 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8442-g094a533242: + + spec: + * fix cephadm user/group creation + * cephadm subpackage: start summary with a capital letter + + ceph-rpmlintrc: silence some RPMLINT warnings ------------------------------------------------------------------- Thu Dec 12 12:07:37 UTC 2019 - Nathan Cutler diff --git a/ceph-test.spec b/ceph-test.spec index b7bb1b5..5e64b65 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -21,6 +21,7 @@ # bcond syntax! ################################################################################# %bcond_with make_check +%bcond_with cmake_verbose_logging %bcond_without ceph_test_package %bcond_with minimal_debugging_information %ifarch s390 s390x @@ -65,13 +66,6 @@ %endif %endif %bcond_with seastar -%if 0%{?fedora} >= 29 || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 -# distros that need a py3 Ceph build -%bcond_with python2 -%else -# distros that need a py2 Ceph build -%bcond_without python2 -%endif %if 0%{?fedora} || 0%{?suse_version} >= 1500 # distros that ship cmd2 and/or colorama %bcond_without cephfs_shell @@ -79,26 +73,27 @@ # distros that do _not_ ship cmd2/colorama %bcond_with cephfs_shell %endif -%if 0%{without python2} -%global _defined_if_python2_absent 1 -%endif -%if 0%{?fedora} || 0%{?suse_version} +%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8 %global weak_deps 1 %endif %if %{with selinux} # get selinux policy version +# Force 0.0.0 policy version for centos builds to avoid repository sync issues between rhel and centos +%if 0%{?centos} +%global _selinux_policy_version 0.0.0 +%else %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0} %endif +%endif %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?python3_pkgversion: %global python3_pkgversion 3} %{!?python3_version_nodots: %global python3_version_nodots 3} %{!?python3_version: %global python3_version 3} -# define _python_buildid macro which will expand to the empty string when -# building with python2 -%global _python_buildid %{?_defined_if_python2_absent:%{python3_pkgversion}} - +%if 0%{?rhel} == 7 +%define __python %{__python3} +%endif # unify libexec for all targets %global _libexecdir %{_exec_prefix}/lib @@ -109,7 +104,7 @@ # main package definition ################################################################################# Name: ceph-test -Version: 15.0.0.8441+g88a99a841e +Version: 15.1.0.1207+g89308cc4c6 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -125,7 +120,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-8441-g88a99a841e.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.1.0-1207-g89308cc4c6.tar.bz2 %if 0%{?suse_version} Source96: checkin.sh Source97: README-checkin.txt @@ -183,7 +178,7 @@ BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libcap-ng-devel -BuildRequires: libudev-devel +BuildRequires: pkgconfig(libudev) BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool @@ -195,11 +190,11 @@ BuildRequires: patch BuildRequires: perl BuildRequires: pkgconfig BuildRequires: procps -BuildRequires: python%{_python_buildid} -BuildRequires: python%{_python_buildid}-devel +BuildRequires: python%{python3_pkgversion} +BuildRequires: python%{python3_pkgversion}-devel BuildRequires: snappy-devel BuildRequires: sudo -BuildRequires: udev +BuildRequires: pkgconfig(udev) BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which @@ -216,11 +211,33 @@ BuildRequires: librdkafka-devel %if 0%{with make_check} BuildRequires: jq BuildRequires: libuuid-devel -BuildRequires: python%{_python_buildid}-bcrypt -BuildRequires: python%{_python_buildid}-nose -BuildRequires: python%{_python_buildid}-requests -BuildRequires: python%{_python_buildid}-six -BuildRequires: python%{_python_buildid}-virtualenv +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-bcrypt +BuildRequires: python%{python3_version_nodots}-nose +BuildRequires: python%{python3_version_nodots}-requests +%else +BuildRequires: python%{python3_pkgversion}-bcrypt +BuildRequires: python%{python3_pkgversion}-nose +BuildRequires: python%{python3_pkgversion}-pecan +BuildRequires: python%{python3_pkgversion}-requests +%endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-six +BuildRequires: python%{python3_version_nodots}-virtualenv +%else +BuildRequires: python%{python3_pkgversion}-six +BuildRequires: python%{python3_pkgversion}-virtualenv +%endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-coverage +%else +BuildRequires: python%{python3_pkgversion}-coverage +%endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-pyOpenSSL +%else +BuildRequires: python%{python3_pkgversion}-pyOpenSSL +%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -253,10 +270,10 @@ BuildRequires: openldap2-devel #BuildRequires: krb5 #BuildRequires: krb5-devel BuildRequires: cunit-devel -BuildRequires: python%{_python_buildid}-setuptools -BuildRequires: python%{_python_buildid}-Cython -BuildRequires: python%{_python_buildid}-PrettyTable -BuildRequires: python%{_python_buildid}-Sphinx +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-Cython +BuildRequires: python%{python3_pkgversion}-PrettyTable +BuildRequires: python%{python3_pkgversion}-Sphinx BuildRequires: rdma-core-devel BuildRequires: liblz4-devel >= 1.7 # for prometheus-alerts @@ -274,9 +291,6 @@ BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core -%if 0%{with python2} -BuildRequires: python2-Cython -%endif BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools %if 0%{?rhel} == 7 @@ -284,48 +298,46 @@ BuildRequires: python%{python3_version_nodots}-Cython %else BuildRequires: python%{python3_pkgversion}-Cython %endif -BuildRequires: python%{_python_buildid}-prettytable -BuildRequires: python%{_python_buildid}-sphinx +BuildRequires: python%{python3_pkgversion}-prettytable +BuildRequires: python%{python3_pkgversion}-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}-coverage -BuildRequires: python%{_python_buildid}-jwt -BuildRequires: python%{_python_buildid}-routes -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-tox -BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel +%ifarch x86_64 BuildRequires: xmlsec1-nss +%endif BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel %if 0%{?rhel} == 7 -BuildRequires: pyOpenSSL%{_python_buildid} +BuildRequires: python%{python3_version_nodots}-jwt +BuildRequires: python%{python3_version_nodots}-scipy %else -BuildRequires: python%{_python_buildid}-pyOpenSSL +BuildRequires: python%{python3_pkgversion}-cherrypy +BuildRequires: python%{python3_pkgversion}-jwt +BuildRequires: python%{python3_pkgversion}-routes +BuildRequires: python%{python3_pkgversion}-scipy +BuildRequires: python%{python3_pkgversion}-werkzeug %endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-pyOpenSSL +%else +BuildRequires: python%{python3_pkgversion}-pyOpenSSL %endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 BuildRequires: libxmlsec1-nss1 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}-coverage -BuildRequires: python%{_python_buildid}-numpy-devel -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-pyOpenSSL -BuildRequires: python%{_python_buildid}-tox -BuildRequires: rpm-build +BuildRequires: python%{python3_pkgversion}-CherryPy +BuildRequires: python%{python3_pkgversion}-PyJWT +BuildRequires: python%{python3_pkgversion}-Routes +BuildRequires: python%{python3_pkgversion}-Werkzeug +BuildRequires: python%{python3_pkgversion}-numpy-devel BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif @@ -382,6 +394,8 @@ This package contains Ceph benchmarks and test tools. %endif %if 0%{?weak_deps} %endif +%if 0%{?weak_deps} +%endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} @@ -398,38 +412,38 @@ This package contains Ceph benchmarks and test tools. %endif %if 0%{?suse_version} %endif +%if 0%{?rhel} == 7 +%endif +%if 0%{?weak_deps} +%endif +%if 0%{?suse_version} +%endif %if 0%{?fedora} || 0%{?rhel} %endif %if 0%{?suse_version} %endif +%if 0%{?rhel} == 7 +%endif +%if 0%{?suse_version} +%endif +%if 0%{?rhel} == 7 +%endif +%if 0%{?suse_version} +%endif +%if 0%{without python2} +%endif +%if 0%{?suse_version} +%endif +%if 0%{?rhel} == 7 +%endif +%if 0%{?fedora} || 0%{?rhel} >= 8 +%endif +%if 0%{?suse_version} +%endif %if 0%{?weak_deps} %endif -%if 0%{?rhel} == 7 -%endif %if 0%{?suse_version} %endif -%if 0%{?fedora} || 0%{?rhel} -%endif -%if 0%{?suse_version} -%endif -%if 0%{?rhel} == 7 -%endif -%if 0%{?suse_version} -%endif -%if 0%{?fedora} || 0%{?rhel} > 7 || 0%{?suse_version} -%if 0%{without python2} -%endif -%endif -%if 0%{?rhel} == 7 -%endif -%if 0%{?suse_version} -%endif -%if 0%{?suse_version} -%endif -%if 0%{?suse_version} -%endif -%if 0%{?fedora} || 0%{?rhel} -%endif %if 0%{?suse_version} %endif %if 0%{?suse_version} @@ -476,22 +490,10 @@ 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%{without python2} -%endif -%if 0%{with python2} -%if 0%{?suse_version} -%endif -%endif -%if 0%{?suse_version} -%endif -%if 0%{without python2} -%endif %if 0%{with libradosstriper} %if 0%{?suse_version} %endif @@ -506,38 +508,18 @@ 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%{without python2} -%endif %if 0%{?suse_version} %endif %if 0%{?rhel} || 0%{?fedora} %endif %if 0%{?suse_version} %endif -%if 0%{with python2} %if 0%{?suse_version} %endif -%endif %if 0%{?suse_version} %endif -%if 0%{without python2} -%endif -%if 0%{with python2} -%if 0%{?suse_version} -%endif -%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} @@ -560,16 +542,12 @@ This package contains Ceph benchmarks and test tools. %if 0%{?suse_version} %endif %endif -%if 0%{with python2} -%if 0%{?suse_version} -%endif -%endif %if 0%{?suse_version} %endif %if 0%{?suse_version} %endif %prep -%autosetup -p1 -n ceph-15.0.0-8441-g88a99a841e +%autosetup -p1 -n ceph-15.1.0-1207-g89308cc4c6 %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -644,13 +622,6 @@ ${CMAKE} .. \ -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=%{python3_version} \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -%if %{with python2} - -DWITH_PYTHON2=ON \ -%else - -DWITH_PYTHON2=OFF \ - -DMGR_PYTHON_VERSION=3 \ -%endif %if 0%{without ceph_test_package} -DWITH_TESTS=OFF \ %endif @@ -693,10 +664,18 @@ ${CMAKE} .. \ -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ %else -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ +%endif +%if 0%{with cmake_verbose_logging} + -DCMAKE_VERBOSE_MAKEFILE=ON \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON +%if %{with cmake_verbose_logging} +cat ./CMakeFiles/CMakeOutput.log +cat ./CMakeFiles/CMakeError.log +%endif + make "$CEPH_MFLAGS_JOBS" @@ -811,8 +790,6 @@ rm -rf %{buildroot}%{_sysconfdir}/logrotate.d/ceph rm -rf %{buildroot}%{_sysconfdir}/sysconfig/ceph 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}%{python3_sitelib}/ceph_volume/* rm -rf %{buildroot}%{python3_sitelib}/ceph_volume-* rm -rf %{buildroot}%{_mandir}/man8/ceph-deploy.8* @@ -875,21 +852,25 @@ 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/mgr_module.* +rm -rf %{buildroot}%{_datadir}/ceph/mgr/mgr_util.* +rm -rf %{buildroot}%{_datadir}/ceph/mgr/__pycache__ +rm -rf %{buildroot}%{_unitdir}/ceph-mgr@.service +rm -rf %{buildroot}%{_unitdir}/ceph-mgr.target +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/alerts -rm -rf %{buildroot}%{_datadir}/ceph/mgr/ansible rm -rf %{buildroot}%{_datadir}/ceph/mgr/balancer rm -rf %{buildroot}%{_datadir}/ceph/mgr/crash -rm -rf %{buildroot}%{_datadir}/ceph/mgr/deepsea rm -rf %{buildroot}%{_datadir}/ceph/mgr/devicehealth rm -rf %{buildroot}%{_datadir}/ceph/mgr/influx rm -rf %{buildroot}%{_datadir}/ceph/mgr/insights rm -rf %{buildroot}%{_datadir}/ceph/mgr/iostat rm -rf %{buildroot}%{_datadir}/ceph/mgr/localpool -rm -rf %{buildroot}%{_datadir}/ceph/mgr/mgr_module.* -rm -rf %{buildroot}%{_datadir}/ceph/mgr/mgr_util.* -rm -rf %{buildroot}%{_datadir}/ceph/mgr/orchestrator_cli -rm -rf %{buildroot}%{_datadir}/ceph/mgr/orchestrator.* +rm -rf %{buildroot}%{_datadir}/ceph/mgr/orchestrator rm -rf %{buildroot}%{_datadir}/ceph/mgr/osd_perf_query +rm -rf %{buildroot}%{_datadir}/ceph/mgr/osd_support rm -rf %{buildroot}%{_datadir}/ceph/mgr/pg_autoscaler rm -rf %{buildroot}%{_datadir}/ceph/mgr/progress rm -rf %{buildroot}%{_datadir}/ceph/mgr/prometheus @@ -902,11 +883,6 @@ rm -rf %{buildroot}%{_datadir}/ceph/mgr/telemetry rm -rf %{buildroot}%{_datadir}/ceph/mgr/test_orchestrator rm -rf %{buildroot}%{_datadir}/ceph/mgr/volumes rm -rf %{buildroot}%{_datadir}/ceph/mgr/zabbix -rm -rf %{buildroot}%{_unitdir}/ceph-mgr@.service -rm -rf %{buildroot}%{_unitdir}/ceph-mgr.target -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/cephadm @@ -936,6 +912,7 @@ rm -rf %{buildroot}%{_bindir}/radosgw rm -rf %{buildroot}%{_bindir}/radosgw-token rm -rf %{buildroot}%{_bindir}/radosgw-es rm -rf %{buildroot}%{_bindir}/radosgw-object-expirer +rm -rf %{buildroot}%{_libdir}/libradosgw.so* rm -rf %{buildroot}%{_mandir}/man8/radosgw.8* rm -rf %{buildroot}%{_unitdir}/ceph-radosgw@.service rm -rf %{buildroot}%{_unitdir}/ceph-radosgw.target @@ -976,8 +953,6 @@ rm -rf %{buildroot}%{_includedir}/rados/librados.hpp rm -rf %{buildroot}%{_includedir}/rados/librados_fwd.hpp rm -rf %{buildroot}%{_includedir}/rados/page.h rm -rf %{buildroot}%{_includedir}/rados/rados_types.hpp -rm -rf %{buildroot}%{python_sitearch}/rados.so -rm -rf %{buildroot}%{python_sitearch}/rados-*.egg-info rm -rf %{buildroot}%{python3_sitearch}/rados.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/rados-*.egg-info rm -rf %{buildroot}%{_libdir}/libradosstriper.so.* @@ -1002,33 +977,22 @@ 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 rm -rf %{buildroot}%{python3_sitearch}/rgw-*.egg-info -rm -rf %{buildroot}%{python_sitearch}/rbd.so -rm -rf %{buildroot}%{python_sitearch}/rbd-*.egg-info rm -rf %{buildroot}%{python3_sitearch}/rbd.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/rbd-*.egg-info rm -rf %{buildroot}%{_libdir}/libcephfs.so.* rm -rf %{buildroot}%{_includedir}/cephfs/libcephfs.h rm -rf %{buildroot}%{_includedir}/cephfs/ceph_statx.h rm -rf %{buildroot}%{_libdir}/libcephfs.so -rm -rf %{buildroot}%{python_sitearch}/cephfs.so -rm -rf %{buildroot}%{python_sitearch}/cephfs-*.egg-info -rm -rf %{buildroot}%{python_sitelib}/ceph_volume_client.py* rm -rf %{buildroot}%{python3_sitearch}/cephfs.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/cephfs-*.egg-info rm -rf %{buildroot}%{python3_sitelib}/ceph_volume_client.py rm -rf %{buildroot}%{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py* -rm -rf %{buildroot}%{python_sitelib}/ceph_argparse.py* -rm -rf %{buildroot}%{python_sitelib}/ceph_daemon.py* 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 @@ -1070,8 +1034,6 @@ rm -rf %{buildroot} %endif %if 0%{?suse_version} %endif -%if 0%{with python2} -%endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} @@ -1106,6 +1068,8 @@ rm -rf %{buildroot} %endif %if 0%{?fedora} || 0%{?rhel} %endif +%if 0%{?rhel} == 7 +%endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} @@ -1188,8 +1152,6 @@ rm -rf %{buildroot} %endif %if %{with lttng} %endif -%if 0%{with python2} -%endif %if 0%{with libradosstriper} %endif %if %{with lttng} @@ -1200,16 +1162,6 @@ rm -rf %{buildroot} %endif %if %{with lttng} %endif -%if 0%{with python2} -%endif -%if 0%{with python2} -%endif -%if 0%{with python2} -%endif -%if 0%{with python2} -%endif -%if 0%{with python2} -%endif %if 0%{with cephfs_shell} %endif %if 0%{with ceph_test_package} @@ -1245,8 +1197,6 @@ rm -rf %{buildroot} %endif %if 0%{with selinux} %endif # with selinux -%if 0%{with python2} -%endif %if 0%{?suse_version} %endif %if 0%{?suse_version} diff --git a/ceph.changes b/ceph.changes index 1ddd0a5..5a20104 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,8 +1,125 @@ ------------------------------------------------------------------- -Fri Dec 13 12:33:34 UTC 2019 - Nathan Cutler +Tue Feb 25 12:55:29 UTC 2020 - Nathan Cutler -- Update to 15.0.0-8441-g88a99a841e - + spec: fix cephadm user/group creation +- significant changes since the last Factory SR: + + ceph-rpmlintrc: silence RPMLINT warnings and document ones that are in + the process of being fixed ("WIP") + + fix s390x build failure + + fix GCC 10 build failure (boo#1161086) + + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel + +------------------------------------------------------------------- +Tue Feb 25 10:24:26 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-1207-g89308cc4c6: + + rebase on tip of upstream master, SHA1 0ffbe4a5ef73036309a3c6488be4dbb1b667a4c7 + + drop temporary fix "cephadm: Don't call prepare-host from bootstrap" + +------------------------------------------------------------------- +Fri Feb 21 07:46:56 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-951-g36f83482b6c: + + cephadm: Don't call prepare-host from bootstrap + (temporary fix to keep cephadm running on SUSE after upstream merged + 932ac9342483141f10dbf99d1806d81a4d70a26a) + +------------------------------------------------------------------- +Thu Feb 20 10:21:39 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-950-g0ba22d2e46: + + rebase on tip of upstream master, SHA1 e79e42467970c1be210d674e90dab21ce73e2872 + * mgr/orch: resurrect ServiceDescription, 'orch ls' + +------------------------------------------------------------------- +Mon Feb 17 16:08:29 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-818-g5f8ed0e957: + + rebase on tip of upstream master, SHA1 eb72aebb92f1bfce00aedaebf140789871eb943f + * includes "mgr/orch: new cli, phase 2" patches (PR#33244) needed + by latest ceph-bootstrap + +------------------------------------------------------------------- +Thu Feb 13 13:45:52 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-636-g2280954009: + + rebase on tip of upstream master, SHA1 e36d47a8c3f4181d68a4cd680bdde72064dee910 + +------------------------------------------------------------------- +Mon Feb 3 14:59:02 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-168-gfda88e35c8: + + rebase on tip of upstream master, SHA1 80487f4a604da94778e65f666e1177a3ed84543e + + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel + +------------------------------------------------------------------- +Thu Jan 30 13:08:38 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-10092-gb5fd1b8250: + + rebase on tip of upstream master, SHA1 3913835a8f0b9b34ceffd4dc02e1e8203227be02 + +------------------------------------------------------------------- +Thu Jan 23 12:45:20 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-9544-gefdea72067: + + cmake: Improve test for 16-byte atomic support on IBM Z (bsc#1161688) + +------------------------------------------------------------------- +Tue Jan 21 11:09:45 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-9543-g1c7fc80ba1: + + rebase on tip of upstream master, SHA1 089e97c27013612672099281fad76746f19290e3 + +------------------------------------------------------------------- +Mon Jan 20 16:03:16 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-9494-g22cdfe7b96: + + rebase on tip of upstream master, SHA1 26c66630bd98dfce113f66ab4e081e5a7b0216c0 + +------------------------------------------------------------------- +Tue Jan 7 17:49:34 UTC 2020 - Nathan Cutler + +- Update to 15.0.0-9092-gd050bc3f0a: + + rebase on tip of upstream master, SHA1 dfd90da59c0b2eda9ca61fed1d508ddc2ab32a2b + +------------------------------------------------------------------- +Thu Dec 19 13:09:54 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8683-gb78b3635a5: + + rebase on tip of upstream master, SHA1 3e1e6a6694bb133c57e2b05a6316dcebae390815 + + drop libxio Provides/Obsoletes (they are no longer necessary because libxio + is long gone) + + drop runtime dependency on gptfdisk (it was needed for ceph-disk, + which has since been removed) + + spec: drop "_python_buildid" macro (it was needed to support py2 builds, + which upstream is finally moving away from) + +------------------------------------------------------------------- +Wed Dec 18 14:21:48 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8588-g58b5b29433: + + spec, debian: cephadm requires lvm2 (bsc#1159466) + +------------------------------------------------------------------- +Wed Dec 18 08:01:17 UTC 2019 - Nathan Cutler + +- ceph-rpmlintrc: fix syntax error introduced by change mentioned + in previous changelog entry + +------------------------------------------------------------------- +Tue Dec 17 16:08:38 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8587-gf0521c1db5: + + rebase on tip of upstream master, SHA1 068aafb2ea3c71b5adda79467847ee03b77bb35e + * cephadm: do ceph-volume activate+deactivate as part of systemd unit + +------------------------------------------------------------------- +Mon Dec 16 12:36:02 UTC 2019 - Nathan Cutler + +- Update to 15.0.0-8442-g094a533242: + + spec: + * fix cephadm user/group creation + * cephadm subpackage: start summary with a capital letter + + ceph-rpmlintrc: silence some RPMLINT warnings ------------------------------------------------------------------- Thu Dec 12 12:07:37 UTC 2019 - Nathan Cutler diff --git a/ceph.spec b/ceph.spec index 038ec15..bcf249a 100644 --- a/ceph.spec +++ b/ceph.spec @@ -21,6 +21,7 @@ # bcond syntax! ################################################################################# %bcond_with make_check +%bcond_with cmake_verbose_logging %bcond_with ceph_test_package %bcond_with minimal_debugging_information %ifarch s390 s390x @@ -65,13 +66,6 @@ %endif %endif %bcond_with seastar -%if 0%{?fedora} >= 29 || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 -# distros that need a py3 Ceph build -%bcond_with python2 -%else -# distros that need a py2 Ceph build -%bcond_without python2 -%endif %if 0%{?fedora} || 0%{?suse_version} >= 1500 # distros that ship cmd2 and/or colorama %bcond_without cephfs_shell @@ -79,26 +73,27 @@ # distros that do _not_ ship cmd2/colorama %bcond_with cephfs_shell %endif -%if 0%{without python2} -%global _defined_if_python2_absent 1 -%endif -%if 0%{?fedora} || 0%{?suse_version} +%if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8 %global weak_deps 1 %endif %if %{with selinux} # get selinux policy version +# Force 0.0.0 policy version for centos builds to avoid repository sync issues between rhel and centos +%if 0%{?centos} +%global _selinux_policy_version 0.0.0 +%else %{!?_selinux_policy_version: %global _selinux_policy_version 0.0.0} %endif +%endif %{!?_udevrulesdir: %global _udevrulesdir /lib/udev/rules.d} %{!?tmpfiles_create: %global tmpfiles_create systemd-tmpfiles --create} %{!?python3_pkgversion: %global python3_pkgversion 3} %{!?python3_version_nodots: %global python3_version_nodots 3} %{!?python3_version: %global python3_version 3} -# define _python_buildid macro which will expand to the empty string when -# building with python2 -%global _python_buildid %{?_defined_if_python2_absent:%{python3_pkgversion}} - +%if 0%{?rhel} == 7 +%define __python %{__python3} +%endif # unify libexec for all targets %global _libexecdir %{_exec_prefix}/lib @@ -109,7 +104,7 @@ # main package definition ################################################################################# Name: ceph -Version: 15.0.0.8441+g88a99a841e +Version: 15.1.0.1207+g89308cc4c6 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -125,7 +120,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.0.0-8441-g88a99a841e.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.1.0-1207-g89308cc4c6.tar.bz2 %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x @@ -175,7 +170,7 @@ BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: libcurl-devel BuildRequires: libcap-ng-devel -BuildRequires: libudev-devel +BuildRequires: pkgconfig(libudev) BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool @@ -187,11 +182,11 @@ BuildRequires: patch BuildRequires: perl BuildRequires: pkgconfig BuildRequires: procps -BuildRequires: python%{_python_buildid} -BuildRequires: python%{_python_buildid}-devel +BuildRequires: python%{python3_pkgversion} +BuildRequires: python%{python3_pkgversion}-devel BuildRequires: snappy-devel BuildRequires: sudo -BuildRequires: udev +BuildRequires: pkgconfig(udev) BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: which @@ -208,11 +203,33 @@ BuildRequires: librdkafka-devel %if 0%{with make_check} BuildRequires: jq BuildRequires: libuuid-devel -BuildRequires: python%{_python_buildid}-bcrypt -BuildRequires: python%{_python_buildid}-nose -BuildRequires: python%{_python_buildid}-requests -BuildRequires: python%{_python_buildid}-six -BuildRequires: python%{_python_buildid}-virtualenv +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-bcrypt +BuildRequires: python%{python3_version_nodots}-nose +BuildRequires: python%{python3_version_nodots}-requests +%else +BuildRequires: python%{python3_pkgversion}-bcrypt +BuildRequires: python%{python3_pkgversion}-nose +BuildRequires: python%{python3_pkgversion}-pecan +BuildRequires: python%{python3_pkgversion}-requests +%endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-six +BuildRequires: python%{python3_version_nodots}-virtualenv +%else +BuildRequires: python%{python3_pkgversion}-six +BuildRequires: python%{python3_pkgversion}-virtualenv +%endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-coverage +%else +BuildRequires: python%{python3_pkgversion}-coverage +%endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-pyOpenSSL +%else +BuildRequires: python%{python3_pkgversion}-pyOpenSSL +%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -245,10 +262,10 @@ BuildRequires: openldap2-devel #BuildRequires: krb5 #BuildRequires: krb5-devel BuildRequires: cunit-devel -BuildRequires: python%{_python_buildid}-setuptools -BuildRequires: python%{_python_buildid}-Cython -BuildRequires: python%{_python_buildid}-PrettyTable -BuildRequires: python%{_python_buildid}-Sphinx +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-Cython +BuildRequires: python%{python3_pkgversion}-PrettyTable +BuildRequires: python%{python3_pkgversion}-Sphinx BuildRequires: rdma-core-devel BuildRequires: liblz4-devel >= 1.7 # for prometheus-alerts @@ -266,9 +283,6 @@ BuildRequires: openldap-devel BuildRequires: openssl-devel BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core -%if 0%{with python2} -BuildRequires: python2-Cython -%endif BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools %if 0%{?rhel} == 7 @@ -276,48 +290,46 @@ BuildRequires: python%{python3_version_nodots}-Cython %else BuildRequires: python%{python3_pkgversion}-Cython %endif -BuildRequires: python%{_python_buildid}-prettytable -BuildRequires: python%{_python_buildid}-sphinx +BuildRequires: python%{python3_pkgversion}-prettytable +BuildRequires: python%{python3_pkgversion}-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}-coverage -BuildRequires: python%{_python_buildid}-jwt -BuildRequires: python%{_python_buildid}-routes -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-tox -BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel +%ifarch x86_64 BuildRequires: xmlsec1-nss +%endif BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel %if 0%{?rhel} == 7 -BuildRequires: pyOpenSSL%{_python_buildid} +BuildRequires: python%{python3_version_nodots}-jwt +BuildRequires: python%{python3_version_nodots}-scipy %else -BuildRequires: python%{_python_buildid}-pyOpenSSL +BuildRequires: python%{python3_pkgversion}-cherrypy +BuildRequires: python%{python3_pkgversion}-jwt +BuildRequires: python%{python3_pkgversion}-routes +BuildRequires: python%{python3_pkgversion}-scipy +BuildRequires: python%{python3_pkgversion}-werkzeug %endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-pyOpenSSL +%else +BuildRequires: python%{python3_pkgversion}-pyOpenSSL %endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 BuildRequires: libxmlsec1-nss1 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}-coverage -BuildRequires: python%{_python_buildid}-numpy-devel -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-pyOpenSSL -BuildRequires: python%{_python_buildid}-tox -BuildRequires: rpm-build +BuildRequires: python%{python3_pkgversion}-CherryPy +BuildRequires: python%{python3_pkgversion}-PyJWT +BuildRequires: python%{python3_pkgversion}-Routes +BuildRequires: python%{python3_pkgversion}-Werkzeug +BuildRequires: python%{python3_pkgversion}-numpy-devel BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif @@ -387,7 +399,7 @@ Requires: grep Requires: logrotate Requires: parted Requires: psmisc -Requires: python%{_python_buildid}-setuptools +Requires: python%{python3_pkgversion}-setuptools Requires: util-linux Requires: xfsprogs Requires: which @@ -400,17 +412,20 @@ Requires: gperftools-libs >= 2.6.1 %endif %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 cephadm -Summary: cephadm utility to bootstrap Ceph clusters -Requires: podman +Summary: Utility to bootstrap Ceph clusters +Requires: lvm2 +Requires: python%{python3_pkgversion} +%if 0%{?weak_deps} +Recommends: podman +%endif %description -n cephadm -cephadm utility to bootstrap a Ceph cluster and manage ceph daemons -deployed with systemd and podman. +Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed +with systemd and podman. %package -n ceph-common Summary: Ceph Common @@ -420,18 +435,17 @@ Group: System/Filesystems Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} -Requires: python%{_python_buildid}-rados = %{_epoch_prefix}%{version}-%{release} -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}-ceph-common = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rbd = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-cephfs = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-rgw = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-ceph-argparse = %{_epoch_prefix}%{version}-%{release} +Requires: python%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release} %if 0%{?fedora} || 0%{?rhel} -Requires: python%{_python_buildid}-prettytable +Requires: python%{python3_pkgversion}-prettytable %endif %if 0%{?suse_version} -Requires: python%{_python_buildid}-PrettyTable -Obsoletes: libxio <= 1.7 +Requires: python%{python3_pkgversion}-PrettyTable %endif %if 0%{with libradosstriper} Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} @@ -477,31 +491,19 @@ Summary: Ceph Manager Daemon Group: System/Filesystems %endif 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 -Requires: python%{_python_buildid}-werkzeug -%endif -%if 0%{?suse_version} -Requires: python%{_python_buildid}-CherryPy -Requires: python%{_python_buildid}-Werkzeug +Requires: ceph-mgr-modules-core = %{_epoch_prefix}%{version}-%{release} +%if 0%{?rhel} == 7 +Requires: python%{python3_version_nodots}-six +%else +Requires: python%{python3_pkgversion}-six %endif %if 0%{?weak_deps} Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release} 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-cephadm = %{_epoch_prefix}%{version}-%{release} -Recommends: python%{_python_buildid}-influxdb -%endif -%if 0%{?rhel} == 7 -Requires: pyOpenSSL -%else -Requires: python%{_python_buildid}-pyOpenSSL +Recommends: python%{python3_pkgversion}-influxdb %endif %description mgr ceph-mgr enables python modules that provide services (such as the REST @@ -518,101 +520,130 @@ Group: System/Filesystems 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 +Requires: python%{python3_pkgversion}-cherrypy +Requires: python%{python3_pkgversion}-jwt +Requires: python%{python3_pkgversion}-routes +Requires: python%{python3_pkgversion}-werkzeug %endif %if 0%{?suse_version} -Requires: python%{_python_buildid}-CherryPy -Requires: python%{_python_buildid}-PyJWT -Requires: python%{_python_buildid}-Routes -Requires: python%{_python_buildid}-Werkzeug +Requires: python%{python3_pkgversion}-CherryPy +Requires: python%{python3_pkgversion}-PyJWT +Requires: python%{python3_pkgversion}-Routes +Requires: python%{python3_pkgversion}-Werkzeug %endif %if 0%{?rhel} == 7 Requires: pyOpenSSL %else -Requires: python%{_python_buildid}-pyOpenSSL +Requires: python%{python3_pkgversion}-pyOpenSSL %endif %description mgr-dashboard -ceph-mgr-dashboard is a manager plugin, providing a web-based application +ceph-mgr-dashboard is a manager module, providing a web-based application to monitor and manage many aspects of a Ceph cluster and related components. See the Dashboard documentation at http://docs.ceph.com/ for details and a detailed feature overview. %package mgr-diskprediction-local -Summary: Ceph Manager plugin for predicting disk failures +Summary: Ceph Manager module for predicting disk failures BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -%if 0%{?fedora} || 0%{?rhel} > 7 || 0%{?suse_version} -Requires: python%{_python_buildid}-numpy -%if 0%{without python2} +Requires: python%{python3_pkgversion}-numpy Requires: python3-scipy -%else -Requires: python2-scipy -%endif -%endif %if 0%{?rhel} == 7 Requires: numpy Requires: scipy %endif %description mgr-diskprediction-local -ceph-mgr-diskprediction-local is a ceph-mgr plugin that tries to predict +ceph-mgr-diskprediction-local is a ceph-mgr module that tries to predict disk failures using local algorithms and machine-learning databases. %package mgr-diskprediction-cloud -Summary: Ceph Manager plugin for cloud-based disk failure prediction +Summary: Ceph Manager module for cloud-based disk failure prediction BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +%if 0%{without python2} +Requires: python3-grpcio +Requires: python3-protobuf +%else +Requires: python2-grpcio +Requires: python2-protobuf +%endif %description mgr-diskprediction-cloud -ceph-mgr-diskprediction-cloud is a ceph-mgr plugin that tries to predict +ceph-mgr-diskprediction-cloud is a ceph-mgr module that tries to predict disk failures using services in the Google cloud. +%package mgr-modules-core +Summary: Ceph Manager modules which are always enabled +BuildArch: noarch +%if 0%{?suse_version} +Group: System/Filesystems +%endif +%if 0%{?rhel} == 7 +Requires: python%{python3_version_nodots}-bcrypt +Requires: python%{python3_version_nodots}-pyOpenSSL +Requires: python%{python3_version_nodots}-requests +Requires: python%{python3_version_nodots}-PyYAML +%else +Requires: python%{python3_pkgversion}-bcrypt +Requires: python%{python3_pkgversion}-pecan +Requires: python%{python3_pkgversion}-pyOpenSSL +Requires: python%{python3_pkgversion}-requests +%endif +%if 0%{?fedora} || 0%{?rhel} >= 8 +Requires: python%{python3_pkgversion}-cherrypy +Requires: python%{python3_pkgversion}-pyyaml +Requires: python%{python3_pkgversion}-werkzeug +%endif +%if 0%{?suse_version} +Requires: python%{python3_pkgversion}-CherryPy +Requires: python%{python3_pkgversion}-PyYAML +Requires: python%{python3_pkgversion}-Werkzeug +%endif +%if 0%{?weak_deps} +Recommends: ceph-mgr-rook = %{_epoch_prefix}%{version}-%{release} +%endif +%description mgr-modules-core +ceph-mgr-modules-core provides a set of modules which are always +enabled by ceph-mgr. + %package mgr-rook BuildArch: noarch -Summary: Ceph Manager plugin for Rook-based orchestration +Summary: Ceph Manager module for Rook-based orchestration %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} -Requires: python%{_python_buildid}-kubernetes +Requires: python%{python3_pkgversion}-kubernetes +Requires: python%{python3_pkgversion}-jsonpatch %description mgr-rook -ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using +ceph-mgr-rook is a ceph-mgr module for orchestration functions using a Rook backend. %package mgr-k8sevents BuildArch: noarch -Summary: Ceph Manager plugin to orchestrate ceph-events to kubernetes' events API +Summary: Ceph Manager module 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 +Requires: python%{python3_pkgversion}-kubernetes %description mgr-k8sevents -ceph-mgr-k8sevents is a ceph-mgr plugin that sends every ceph-events +ceph-mgr-k8sevents is a ceph-mgr module that sends every ceph-events to kubernetes' events API %package mgr-cephadm -Summary: Ceph Manager plugin for cephadm-based orchestration +Summary: Ceph Manager module for cephadm-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: python%{python3_pkgversion}-remoto Requires: cephadm = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires: openssh @@ -798,21 +829,6 @@ Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release} This package contains libraries and headers needed to develop programs that use RADOS gateway client library. -%if 0%{with python2} -%package -n python-rgw -Summary: Python 2 libraries for the RADOS gateway -%if 0%{?suse_version} -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 -gateway. -%endif - %package -n python%{python3_pkgversion}-rgw Summary: Python 3 libraries for the RADOS gateway %if 0%{?suse_version} @@ -821,28 +837,12 @@ Group: Development/Libraries/Python Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_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} -%endif %description -n python%{python3_pkgversion}-rgw This package contains Python 3 libraries for interacting with Cephs RADOS gateway. -%if 0%{with python2} -%package -n python-rados -Summary: Python 2 libraries for the RADOS object store -%if 0%{?suse_version} -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 -object store. -%endif - %package -n python%{python3_pkgversion}-rados Summary: Python 3 libraries for the RADOS object store %if 0%{?suse_version} @@ -851,10 +851,8 @@ Group: Development/Libraries/Python Requires: python%{python3_pkgversion} Requires: librados2 = %{_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} -%endif +Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-rados This package contains Python 3 libraries for interacting with Cephs RADOS object store. @@ -920,21 +918,6 @@ Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release} This package contains libraries and headers needed to develop programs that use RADOS block device. -%if 0%{with python2} -%package -n python-rbd -Summary: Python 2 libraries for the RADOS block device -%if 0%{?suse_version} -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 -block device. -%endif - %package -n python%{python3_pkgversion}-rbd Summary: Python 3 libraries for the RADOS block device %if 0%{?suse_version} @@ -943,10 +926,8 @@ Group: Development/Libraries/Python Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_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} -%endif %description -n python%{python3_pkgversion}-rbd This package contains Python 3 libraries for interacting with Cephs RADOS block device. @@ -981,22 +962,6 @@ Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} This package contains libraries and headers needed to develop programs that use Cephs distributed file system. -%if 0%{with python2} -%package -n python-cephfs -Summary: Python 2 libraries for Ceph distributed file system -%if 0%{?suse_version} -Group: Development/Libraries/Python -%endif -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 -file system. -%endif - %package -n python%{python3_pkgversion}-cephfs Summary: Python 3 libraries for Ceph distributed file system %if 0%{?suse_version} @@ -1006,28 +971,12 @@ 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} %{?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} -%endif %description -n python%{python3_pkgversion}-cephfs This package contains Python 3 libraries for interacting with Cephs distributed file system. -%if 0%{with python2} -%package -n python-ceph-argparse -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 -command-description information, validating user command input against those -descriptions, and submitting the command to the appropriate daemon. -%endif - %package -n python%{python3_pkgversion}-ceph-argparse Summary: Python 3 utility libraries for Ceph CLI %if 0%{?suse_version} @@ -1040,18 +989,6 @@ 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 cephadm orchestrator. -%endif - %package -n python%{python3_pkgversion}-ceph-common Summary: Python 3 utility libraries for Ceph %if 0%{?suse_version} @@ -1158,25 +1095,6 @@ populated file-systems. %endif -%if 0%{with python2} -%package -n python-ceph-compat -Summary: Compatibility package for Cephs python libraries -%if 0%{?suse_version} -Group: Development/Libraries/Python -%endif -Obsoletes: python-ceph -Requires: python-rados = %{_epoch_prefix}%{version}-%{release} -Requires: python-rbd = %{_epoch_prefix}%{version}-%{release} -Requires: python-cephfs = %{_epoch_prefix}%{version}-%{release} -Requires: python-rgw = %{_epoch_prefix}%{version}-%{release} -Provides: python-ceph -%description -n python-ceph-compat -This is a compatibility package to accommodate python-ceph split into -python-rados, python-rbd, python-rgw and python-cephfs. Packages still -depending on python-ceph should be fixed to depend on python-rados, -python-rbd, python-rgw or python-cephfs instead. -%endif - %package grafana-dashboards Summary: The set of Grafana dashboards for monitoring purposes BuildArch: noarch @@ -1203,7 +1121,7 @@ This package provides Ceph’s default alerts for Prometheus. # common ################################################################################# %prep -%autosetup -p1 -n ceph-15.0.0-8441-g88a99a841e +%autosetup -p1 -n ceph-15.1.0-1207-g89308cc4c6 %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -1278,13 +1196,6 @@ ${CMAKE} .. \ -DWITH_MANPAGE=ON \ -DWITH_PYTHON3=%{python3_version} \ -DWITH_MGR_DASHBOARD_FRONTEND=OFF \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -%if %{with python2} - -DWITH_PYTHON2=ON \ -%else - -DWITH_PYTHON2=OFF \ - -DMGR_PYTHON_VERSION=3 \ -%endif %if 0%{without ceph_test_package} -DWITH_TESTS=OFF \ %endif @@ -1327,10 +1238,18 @@ ${CMAKE} .. \ -DWITH_RADOSGW_KAFKA_ENDPOINT=ON \ %else -DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \ +%endif +%if 0%{with cmake_verbose_logging} + -DCMAKE_VERBOSE_MAKEFILE=ON \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON +%if %{with cmake_verbose_logging} +cat ./CMakeFiles/CMakeOutput.log +cat ./CMakeFiles/CMakeError.log +%endif + make "$CEPH_MFLAGS_JOBS" @@ -1466,15 +1385,9 @@ rm -rf %{buildroot} %{_fillupdir}/sysconfig.* %endif %{_unitdir}/ceph.target -%if 0%{with python2} -%dir %{python_sitelib}/ceph_volume -%{python_sitelib}/ceph_volume/* -%{python_sitelib}/ceph_volume-* -%else %dir %{python3_sitelib}/ceph_volume %{python3_sitelib}/ceph_volume/* %{python3_sitelib}/ceph_volume-* -%endif %{_mandir}/man8/ceph-deploy.8* %{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-run.8* @@ -1535,8 +1448,8 @@ if [ $1 -ge 1 ] ; then fi %pre -n cephadm -getent group cephadm >/dev/null || groupadd cephadm -getent passwd cephadm >/dev/null || useradd -g cephadm -s /bin/bash -c "cephadm user for mgr/cephadm" -d %{_sharedstatedir}/cephadm cephadm +getent group cephadm >/dev/null || groupadd -r cephadm +getent passwd cephadm >/dev/null || useradd -r -g cephadm -s /bin/bash -c "cephadm user for mgr/cephadm" -d %{_sharedstatedir}/cephadm cephadm exit 0 %if ! 0%{?suse_version} @@ -1694,33 +1607,11 @@ 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 -%{_datadir}/ceph/mgr/deepsea -%{_datadir}/ceph/mgr/devicehealth -%{_datadir}/ceph/mgr/influx -%{_datadir}/ceph/mgr/insights -%{_datadir}/ceph/mgr/iostat -%{_datadir}/ceph/mgr/localpool %{_datadir}/ceph/mgr/mgr_module.* %{_datadir}/ceph/mgr/mgr_util.* -%{_datadir}/ceph/mgr/orchestrator_cli -%{_datadir}/ceph/mgr/orchestrator.* -%{_datadir}/ceph/mgr/osd_perf_query -%{_datadir}/ceph/mgr/pg_autoscaler -%{_datadir}/ceph/mgr/progress -%{_datadir}/ceph/mgr/prometheus -%{_datadir}/ceph/mgr/rbd_support -%{_datadir}/ceph/mgr/restful -%{_datadir}/ceph/mgr/selftest -%{_datadir}/ceph/mgr/status -%{_datadir}/ceph/mgr/telegraf -%{_datadir}/ceph/mgr/telemetry -%{_datadir}/ceph/mgr/test_orchestrator -%{_datadir}/ceph/mgr/volumes -%{_datadir}/ceph/mgr/zabbix +%if 0%{?rhel} == 7 +%{_datadir}/ceph/mgr/__pycache__ +%endif %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr @@ -1805,6 +1696,32 @@ if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi +%files mgr-modules-core +%dir %{_datadir}/ceph/mgr +%{_datadir}/ceph/mgr/alerts +%{_datadir}/ceph/mgr/balancer +%{_datadir}/ceph/mgr/crash +%{_datadir}/ceph/mgr/devicehealth +%{_datadir}/ceph/mgr/influx +%{_datadir}/ceph/mgr/insights +%{_datadir}/ceph/mgr/iostat +%{_datadir}/ceph/mgr/localpool +%{_datadir}/ceph/mgr/orchestrator +%{_datadir}/ceph/mgr/osd_perf_query +%{_datadir}/ceph/mgr/osd_support +%{_datadir}/ceph/mgr/pg_autoscaler +%{_datadir}/ceph/mgr/progress +%{_datadir}/ceph/mgr/prometheus +%{_datadir}/ceph/mgr/rbd_support +%{_datadir}/ceph/mgr/restful +%{_datadir}/ceph/mgr/selftest +%{_datadir}/ceph/mgr/status +%{_datadir}/ceph/mgr/telegraf +%{_datadir}/ceph/mgr/telemetry +%{_datadir}/ceph/mgr/test_orchestrator +%{_datadir}/ceph/mgr/volumes +%{_datadir}/ceph/mgr/zabbix + %files mgr-rook %{_datadir}/ceph/mgr/rook @@ -2008,12 +1925,14 @@ fi %{_bindir}/radosgw-token %{_bindir}/radosgw-es %{_bindir}/radosgw-object-expirer +%{_libdir}/libradosgw.so* %{_mandir}/man8/radosgw.8* %dir %{_localstatedir}/lib/ceph/radosgw %{_unitdir}/ceph-radosgw@.service %{_unitdir}/ceph-radosgw.target %post radosgw +/sbin/ldconfig %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || : @@ -2035,6 +1954,7 @@ fi %endif %postun radosgw +/sbin/ldconfig %if 0%{?suse_version} DISABLE_RESTART_ON_UPDATE="yes" %service_del_postun ceph-radosgw@\*.service ceph-radosgw.target @@ -2171,12 +2091,6 @@ fi %{_includedir}/rados/page.h %{_includedir}/rados/rados_types.hpp -%if 0%{with python2} -%files -n python-rados -%{python_sitearch}/rados.so -%{python_sitearch}/rados-*.egg-info -%endif - %files -n python%{python3_pkgversion}-rados %{python3_sitearch}/rados.cpython*.so %{python3_sitearch}/rados-*.egg-info @@ -2240,22 +2154,10 @@ fi %{_libdir}/librgw_rados_tp.so %endif -%if 0%{with python2} -%files -n python-rgw -%{python_sitearch}/rgw.so -%{python_sitearch}/rgw-*.egg-info -%endif - %files -n python%{python3_pkgversion}-rgw %{python3_sitearch}/rgw.cpython*.so %{python3_sitearch}/rgw-*.egg-info -%if 0%{with python2} -%files -n python-rbd -%{python_sitearch}/rbd.so -%{python_sitearch}/rbd-*.egg-info -%endif - %files -n python%{python3_pkgversion}-rbd %{python3_sitearch}/rbd.cpython*.so %{python3_sitearch}/rbd-*.egg-info @@ -2274,37 +2176,18 @@ fi %{_includedir}/cephfs/ceph_statx.h %{_libdir}/libcephfs.so -%if 0%{with python2} -%files -n python-cephfs -%{python_sitearch}/cephfs.so -%{python_sitearch}/cephfs-*.egg-info -%{python_sitelib}/ceph_volume_client.py* -%endif - %files -n python%{python3_pkgversion}-cephfs %{python3_sitearch}/cephfs.cpython*.so %{python3_sitearch}/cephfs-*.egg-info %{python3_sitelib}/ceph_volume_client.py %{python3_sitelib}/__pycache__/ceph_volume_client.cpython*.py* -%if 0%{with python2} -%files -n python-ceph-argparse -%{python_sitelib}/ceph_argparse.py* -%{python_sitelib}/ceph_daemon.py* -%endif - %files -n python%{python3_pkgversion}-ceph-argparse %{python3_sitelib}/ceph_argparse.py %{python3_sitelib}/__pycache__/ceph_argparse.cpython*.py* %{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 @@ -2451,12 +2334,6 @@ exit 0 %endif # with selinux -%if 0%{with python2} -%files -n python-ceph-compat -# We need an empty %%files list for python-ceph-compat, to tell rpmbuild to -# actually build this meta package. -%endif - %files grafana-dashboards %if 0%{?suse_version} %attr(0755,root,root) %dir %{_sysconfdir}/grafana diff --git a/checkin.sh b/checkin.sh index c6fa889..f191467 100644 --- a/checkin.sh +++ b/checkin.sh @@ -92,7 +92,7 @@ else # TMPDIR=$(mktemp -d --tmpdir=$BASEDIR) # does not work due to http://tracker.ceph.com/issues/39556 TMPDIR=$(mktemp -d) echo "Created temporary temporary $TMPDIR" - git clone --branch $BRANCH $REPO $TMPDIR + git clone --progress --branch $BRANCH $REPO $TMPDIR CLONE="$TMPDIR" fi _check_ceph_clone "$CLONE" From 1dd724de76bd4fe71112b588c7b95f2476e6799739295dbb36bf1394b62544e8 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Wed, 26 Feb 2020 10:31:24 +0000 Subject: [PATCH 7/9] Accepting request 779353 from filesystems:ceph:octopus better changes file entry OBS-URL: https://build.opensuse.org/request/show/779353 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=261 --- ceph-rpmlintrc | 3 ++- ceph-test.changes | 13 ++++++++++++- ceph.changes | 13 ++++++++++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/ceph-rpmlintrc b/ceph-rpmlintrc index 6cebca0..5fc201c 100644 --- a/ceph-rpmlintrc +++ b/ceph-rpmlintrc @@ -77,7 +77,8 @@ addFilter("ceph-radosgw.*permissions-incorrect.*radosgw") # /usr/bin/radosgw has the wrong owner root:root - should be root:www (WIP) addFilter("ceph-radosgw.*permissions-incorrect-owner.*radosgw") -# ceph-radosgw is missing %set_permissions /usr/bin/radosgw in %post (WIP) +# ceph-common and ceph-radosgw are missing %set_permissions /usr/bin/radosgw in %post (WIP) +addFilter("ceph-common.*permissions-missing-postin.*radosgw") addFilter("ceph-radosgw.*permissions-missing-postin.*radosgw") # ceph-radosgw is missing 'permissions' in PreReq - needs "PreReq: permissions" (WIP) diff --git a/ceph-test.changes b/ceph-test.changes index 5a20104..af4a6f1 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -6,7 +6,18 @@ Tue Feb 25 12:55:29 UTC 2020 - Nathan Cutler the process of being fixed ("WIP") + fix s390x build failure + fix GCC 10 build failure (boo#1161086) - + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel + + spec: + * drop Python 2 support + * make Python 3 build work on CentOS 8 + * globally change %_python_buildid macro to %_python3_pkgversion + * Use pkgconfig() style BuildRequires for udev/libudev-devel + * add cmake_verbose_logging bcond + * rename ceph-daemon subpackage to cephadm + * add scriptlets to cephadm subpackage + * rename ceph-mgr-ssh subpackage to ceph-mgr-cephadm + * stop calling MGR modules "plugins" + * move "always-on" MGR modules into their own subpackage, ceph-mgr-modules-core + * make ceph-mgr-cephadm explicitly require openssh on SUSE ------------------------------------------------------------------- Tue Feb 25 10:24:26 UTC 2020 - Nathan Cutler diff --git a/ceph.changes b/ceph.changes index 5a20104..af4a6f1 100644 --- a/ceph.changes +++ b/ceph.changes @@ -6,7 +6,18 @@ Tue Feb 25 12:55:29 UTC 2020 - Nathan Cutler the process of being fixed ("WIP") + fix s390x build failure + fix GCC 10 build failure (boo#1161086) - + spec: Use pkgconfig() style BuildRequires for udev/libudev-devel + + spec: + * drop Python 2 support + * make Python 3 build work on CentOS 8 + * globally change %_python_buildid macro to %_python3_pkgversion + * Use pkgconfig() style BuildRequires for udev/libudev-devel + * add cmake_verbose_logging bcond + * rename ceph-daemon subpackage to cephadm + * add scriptlets to cephadm subpackage + * rename ceph-mgr-ssh subpackage to ceph-mgr-cephadm + * stop calling MGR modules "plugins" + * move "always-on" MGR modules into their own subpackage, ceph-mgr-modules-core + * make ceph-mgr-cephadm explicitly require openssh on SUSE ------------------------------------------------------------------- Tue Feb 25 10:24:26 UTC 2020 - Nathan Cutler From 77f580cf3350d85523a8d4582fb1f79569a844e8cdd5ad79de7701e39d40073e Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Wed, 4 Mar 2020 14:40:34 +0000 Subject: [PATCH 8/9] Accepting request 781552 from filesystems:ceph:octopus 15.1.0-1521 OBS-URL: https://build.opensuse.org/request/show/781552 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=262 --- ceph-15.1.0-1207-g89308cc4c6.tar.bz2 | 3 --- ceph-15.1.0-1521-gcdf35413a0.tar.bz2 | 3 +++ ceph-rpmlintrc | 8 +++++--- ceph-test.changes | 6 ++++++ ceph-test.spec | 10 +++++----- ceph.changes | 6 ++++++ ceph.spec | 15 +++++++-------- 7 files changed, 32 insertions(+), 19 deletions(-) delete mode 100644 ceph-15.1.0-1207-g89308cc4c6.tar.bz2 create mode 100644 ceph-15.1.0-1521-gcdf35413a0.tar.bz2 diff --git a/ceph-15.1.0-1207-g89308cc4c6.tar.bz2 b/ceph-15.1.0-1207-g89308cc4c6.tar.bz2 deleted file mode 100644 index 9f7c64e..0000000 --- a/ceph-15.1.0-1207-g89308cc4c6.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:0f043a694a2f32bb0d390460d08185879308a1dae054c4c7cc1ec454e93622f2 -size 154962646 diff --git a/ceph-15.1.0-1521-gcdf35413a0.tar.bz2 b/ceph-15.1.0-1521-gcdf35413a0.tar.bz2 new file mode 100644 index 0000000..55553eb --- /dev/null +++ b/ceph-15.1.0-1521-gcdf35413a0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59333d6ed9be258d6c890e0a16d77f5ab48504305640ef9a85221dccd6f00a5b +size 154978336 diff --git a/ceph-rpmlintrc b/ceph-rpmlintrc index 5fc201c..7b7befa 100644 --- a/ceph-rpmlintrc +++ b/ceph-rpmlintrc @@ -78,14 +78,16 @@ addFilter("ceph-radosgw.*permissions-incorrect.*radosgw") addFilter("ceph-radosgw.*permissions-incorrect-owner.*radosgw") # ceph-common and ceph-radosgw are missing %set_permissions /usr/bin/radosgw in %post (WIP) -addFilter("ceph-common.*permissions-missing-postin.*radosgw") -addFilter("ceph-radosgw.*permissions-missing-postin.*radosgw") +addFilter("ceph-common.*permissions-missing-postin") +addFilter("ceph-radosgw.*permissions-missing-postin") # ceph-radosgw is missing 'permissions' in PreReq - needs "PreReq: permissions" (WIP) addFilter("ceph-radosgw.*permissions-missing-requires") -# ceph-common and ceph-radosgw are missing '%verify_permissions -e /usr/bin/radosgw' (WIP) +# ceph-common is missing '%verify_permissions -e /var/log/ceph' (WIP) addFilter("ceph-common.*permissions-missing-verifyscript") + +# ceph-radosgw is missing '%verify_permissions -e /usr/bin/radosgw' (WIP) addFilter("ceph-radosgw.*permissions-missing-verifyscript") # librgw2 calls exit() or _exit(), probably in a non-fork() context (WIP) diff --git a/ceph-test.changes b/ceph-test.changes index af4a6f1..9945052 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Mar 2 14:19:37 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-1521-gcdf35413a0: + + rebase on tip of upstream master, SHA1 28c08615e5c27e5a0986e3191ca4427cdc32f538 + ------------------------------------------------------------------- Tue Feb 25 12:55:29 UTC 2020 - Nathan Cutler diff --git a/ceph-test.spec b/ceph-test.spec index 5e64b65..657217c 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -104,7 +104,7 @@ # main package definition ################################################################################# Name: ceph-test -Version: 15.1.0.1207+g89308cc4c6 +Version: 15.1.0.1521+gcdf35413a0 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -120,7 +120,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.1.0-1207-g89308cc4c6.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.1.0-1521-gcdf35413a0.tar.bz2 %if 0%{?suse_version} Source96: checkin.sh Source97: README-checkin.txt @@ -215,11 +215,13 @@ BuildRequires: libuuid-devel BuildRequires: python%{python3_version_nodots}-bcrypt BuildRequires: python%{python3_version_nodots}-nose BuildRequires: python%{python3_version_nodots}-requests +BuildRequires: python%{python3_version_nodots}-dateutil %else BuildRequires: python%{python3_pkgversion}-bcrypt BuildRequires: python%{python3_pkgversion}-nose BuildRequires: python%{python3_pkgversion}-pecan BuildRequires: python%{python3_pkgversion}-requests +BuildRequires: python%{python3_pkgversion}-dateutil %endif %if 0%{?rhel} == 7 BuildRequires: python%{python3_version_nodots}-six @@ -422,8 +424,6 @@ This package contains Ceph benchmarks and test tools. %endif %if 0%{?suse_version} %endif -%if 0%{?rhel} == 7 -%endif %if 0%{?suse_version} %endif %if 0%{?rhel} == 7 @@ -547,7 +547,7 @@ This package contains Ceph benchmarks and test tools. %if 0%{?suse_version} %endif %prep -%autosetup -p1 -n ceph-15.1.0-1207-g89308cc4c6 +%autosetup -p1 -n ceph-15.1.0-1521-gcdf35413a0 %build # LTO can be enabled as soon as the following GCC bug is fixed: diff --git a/ceph.changes b/ceph.changes index af4a6f1..9945052 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Mar 2 14:19:37 UTC 2020 - Nathan Cutler + +- Update to 15.1.0-1521-gcdf35413a0: + + rebase on tip of upstream master, SHA1 28c08615e5c27e5a0986e3191ca4427cdc32f538 + ------------------------------------------------------------------- Tue Feb 25 12:55:29 UTC 2020 - Nathan Cutler diff --git a/ceph.spec b/ceph.spec index bcf249a..e2bf942 100644 --- a/ceph.spec +++ b/ceph.spec @@ -104,7 +104,7 @@ # main package definition ################################################################################# Name: ceph -Version: 15.1.0.1207+g89308cc4c6 +Version: 15.1.0.1521+gcdf35413a0 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -120,7 +120,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD- Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-15.1.0-1207-g89308cc4c6.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-15.1.0-1521-gcdf35413a0.tar.bz2 %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x @@ -207,11 +207,13 @@ BuildRequires: libuuid-devel BuildRequires: python%{python3_version_nodots}-bcrypt BuildRequires: python%{python3_version_nodots}-nose BuildRequires: python%{python3_version_nodots}-requests +BuildRequires: python%{python3_version_nodots}-dateutil %else BuildRequires: python%{python3_pkgversion}-bcrypt BuildRequires: python%{python3_pkgversion}-nose BuildRequires: python%{python3_pkgversion}-pecan BuildRequires: python%{python3_pkgversion}-requests +BuildRequires: python%{python3_pkgversion}-dateutil %endif %if 0%{?rhel} == 7 BuildRequires: python%{python3_version_nodots}-six @@ -531,11 +533,6 @@ Requires: python%{python3_pkgversion}-PyJWT Requires: python%{python3_pkgversion}-Routes Requires: python%{python3_pkgversion}-Werkzeug %endif -%if 0%{?rhel} == 7 -Requires: pyOpenSSL -%else -Requires: python%{python3_pkgversion}-pyOpenSSL -%endif %description mgr-dashboard ceph-mgr-dashboard is a manager module, providing a web-based application to monitor and manage many aspects of a Ceph cluster and related components. @@ -588,11 +585,13 @@ Requires: python%{python3_version_nodots}-bcrypt Requires: python%{python3_version_nodots}-pyOpenSSL Requires: python%{python3_version_nodots}-requests Requires: python%{python3_version_nodots}-PyYAML +Requires: python%{python3_version_nodots}-dateutil %else Requires: python%{python3_pkgversion}-bcrypt Requires: python%{python3_pkgversion}-pecan Requires: python%{python3_pkgversion}-pyOpenSSL Requires: python%{python3_pkgversion}-requests +Requires: python%{python3_pkgversion}-dateutil %endif %if 0%{?fedora} || 0%{?rhel} >= 8 Requires: python%{python3_pkgversion}-cherrypy @@ -1121,7 +1120,7 @@ This package provides Ceph’s default alerts for Prometheus. # common ################################################################################# %prep -%autosetup -p1 -n ceph-15.1.0-1207-g89308cc4c6 +%autosetup -p1 -n ceph-15.1.0-1521-gcdf35413a0 %build # LTO can be enabled as soon as the following GCC bug is fixed: From f6f34b676f1210ed53a328ae3f90240d2013ec60f6d86eded1adf88055989f4c Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Wed, 4 Mar 2020 18:58:22 +0000 Subject: [PATCH 9/9] Accepting request 781635 from filesystems:ceph:octopus new attempt OBS-URL: https://build.opensuse.org/request/show/781635 OBS-URL: https://build.opensuse.org/package/show/filesystems:ceph/ceph?expand=0&rev=263 --- ceph-rpmlintrc | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/ceph-rpmlintrc b/ceph-rpmlintrc index 7b7befa..d00413a 100644 --- a/ceph-rpmlintrc +++ b/ceph-rpmlintrc @@ -68,28 +68,6 @@ addFilter("obsolete-not-provided.*ceph-devel") # libcephfs2 obsoletes libcephfs1 without providing it (WIP) addFilter("libcephfs2.*obsolete-not-provided.*libcephfs1") -# bsc#1150366 is open - http://bugzilla.suse.com/show_bug.cgi?id=1150366 -addFilter("ceph-common.*permissions-directory-setuid-bit") - -# /usr/bin/radosgw has the wrong permissions (WIP) -addFilter("ceph-radosgw.*permissions-incorrect.*radosgw") - -# /usr/bin/radosgw has the wrong owner root:root - should be root:www (WIP) -addFilter("ceph-radosgw.*permissions-incorrect-owner.*radosgw") - -# ceph-common and ceph-radosgw are missing %set_permissions /usr/bin/radosgw in %post (WIP) -addFilter("ceph-common.*permissions-missing-postin") -addFilter("ceph-radosgw.*permissions-missing-postin") - -# ceph-radosgw is missing 'permissions' in PreReq - needs "PreReq: permissions" (WIP) -addFilter("ceph-radosgw.*permissions-missing-requires") - -# ceph-common is missing '%verify_permissions -e /var/log/ceph' (WIP) -addFilter("ceph-common.*permissions-missing-verifyscript") - -# ceph-radosgw is missing '%verify_permissions -e /usr/bin/radosgw' (WIP) -addFilter("ceph-radosgw.*permissions-missing-verifyscript") - # librgw2 calls exit() or _exit(), probably in a non-fork() context (WIP) addFilter("librgw2.*shared-lib-calls-exit")