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-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.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 3f28c7e..d00413a 100644 --- a/ceph-rpmlintrc +++ b/ceph-rpmlintrc @@ -1,9 +1,109 @@ -# 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") + +# 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 04ff5df..9945052 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,3 +1,169 @@ +------------------------------------------------------------------- +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 + +- 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: + * 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 + +- 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 + +- 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-test.spec b/ceph-test.spec index fabdf57..657217c 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 @@ -36,6 +37,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 +47,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 @@ -63,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 @@ -77,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 @@ -107,7 +104,7 @@ # main package definition ################################################################################# Name: ceph-test -Version: 15.0.0.7456+ge089cead79 +Version: 15.1.0.1521+gcdf35413a0 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -123,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-7456-ge089cead79.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 @@ -181,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 @@ -193,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 @@ -208,23 +205,40 @@ 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 -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} < 8 -BuildRequires: python%{_python_buildid}-coverage -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-tox +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-bcrypt +BuildRequires: python%{python3_version_nodots}-nose +BuildRequires: python%{python3_version_nodots}-requests +BuildRequires: python%{python3_version_nodots}-dateutil +%else +BuildRequires: python%{python3_pkgversion}-bcrypt +BuildRequires: python%{python3_pkgversion}-nose +BuildRequires: python%{python3_pkgversion}-pecan +BuildRequires: python%{python3_pkgversion}-requests +BuildRequires: python%{python3_pkgversion}-dateutil %endif %if 0%{?rhel} == 7 -BuildRequires: pyOpenSSL%{_python_buildid} +BuildRequires: python%{python3_version_nodots}-six +BuildRequires: python%{python3_version_nodots}-virtualenv %else -BuildRequires: python%{_python_buildid}-pyOpenSSL +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 @@ -258,10 +272,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 @@ -279,9 +293,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 @@ -289,33 +300,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} == 7 +%if 0%{?fedora} || 0%{?rhel} BuildRequires: libtool-ltdl-devel -BuildRequires: python%{_python_buildid}-cherrypy -BuildRequires: python%{_python_buildid}-jwt -BuildRequires: python%{_python_buildid}-routes -BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel +%ifarch x86_64 BuildRequires: xmlsec1-nss +%endif BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-jwt +BuildRequires: python%{python3_version_nodots}-scipy +%else +BuildRequires: python%{python3_pkgversion}-cherrypy +BuildRequires: python%{python3_pkgversion}-jwt +BuildRequires: python%{python3_pkgversion}-routes +BuildRequires: python%{python3_pkgversion}-scipy +BuildRequires: python%{python3_pkgversion}-werkzeug +%endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-pyOpenSSL +%else +BuildRequires: python%{python3_pkgversion}-pyOpenSSL +%endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 BuildRequires: libxmlsec1-nss1 BuildRequires: libxmlsec1-openssl1 -BuildRequires: python%{_python_buildid}-CherryPy -BuildRequires: python%{_python_buildid}-PyJWT -BuildRequires: python%{_python_buildid}-Routes -BuildRequires: python%{_python_buildid}-Werkzeug -BuildRequires: python%{_python_buildid}-numpy-devel +BuildRequires: 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 @@ -372,6 +396,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} @@ -388,41 +414,43 @@ 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%{?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} +%if 0%{?rhel} || 0%{?fedora} %endif %if 0%{?suse_version} %endif @@ -462,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 @@ -492,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} @@ -546,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-7456-ge089cead79 +%autosetup -p1 -n ceph-15.1.0-1521-gcdf35413a0 %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -630,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 @@ -674,10 +659,23 @@ ${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 +%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" @@ -710,7 +708,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 +727,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}/* @@ -785,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* @@ -796,7 +799,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 @@ -847,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 @@ -874,14 +883,9 @@ 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/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* @@ -908,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 @@ -948,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.* @@ -974,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 @@ -1042,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} @@ -1056,6 +1046,8 @@ rm -rf %{buildroot} %endif %if 0%{?fedora} || 0%{?rhel} %endif +%if ! 0%{?suse_version} +%endif %if 0%{?suse_version} %endif %if %{with lttng} @@ -1076,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} @@ -1158,8 +1152,6 @@ rm -rf %{buildroot} %endif %if %{with lttng} %endif -%if 0%{with python2} -%endif %if 0%{with libradosstriper} %endif %if %{with lttng} @@ -1170,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} @@ -1215,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 04ff5df..9945052 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,169 @@ +------------------------------------------------------------------- +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 + +- 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: + * 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 + +- 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 + +- 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 4e5b536..e2bf942 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 @@ -36,6 +37,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 +47,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 @@ -63,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 @@ -77,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 @@ -107,7 +104,7 @@ # main package definition ################################################################################# Name: ceph -Version: 15.0.0.7456+ge089cead79 +Version: 15.1.0.1521+gcdf35413a0 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -123,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-7456-ge089cead79.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 @@ -173,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 @@ -185,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 @@ -200,23 +197,40 @@ 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 -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} < 8 -BuildRequires: python%{_python_buildid}-coverage -BuildRequires: python%{_python_buildid}-pecan -BuildRequires: python%{_python_buildid}-tox +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-bcrypt +BuildRequires: python%{python3_version_nodots}-nose +BuildRequires: python%{python3_version_nodots}-requests +BuildRequires: python%{python3_version_nodots}-dateutil +%else +BuildRequires: python%{python3_pkgversion}-bcrypt +BuildRequires: python%{python3_pkgversion}-nose +BuildRequires: python%{python3_pkgversion}-pecan +BuildRequires: python%{python3_pkgversion}-requests +BuildRequires: python%{python3_pkgversion}-dateutil %endif %if 0%{?rhel} == 7 -BuildRequires: pyOpenSSL%{_python_buildid} +BuildRequires: python%{python3_version_nodots}-six +BuildRequires: python%{python3_version_nodots}-virtualenv %else -BuildRequires: python%{_python_buildid}-pyOpenSSL +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 @@ -250,10 +264,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 @@ -271,9 +285,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 @@ -281,33 +292,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} == 7 +%if 0%{?fedora} || 0%{?rhel} BuildRequires: libtool-ltdl-devel -BuildRequires: python%{_python_buildid}-cherrypy -BuildRequires: python%{_python_buildid}-jwt -BuildRequires: python%{_python_buildid}-routes -BuildRequires: python%{_python_buildid}-werkzeug BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel +%ifarch x86_64 BuildRequires: xmlsec1-nss +%endif BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-jwt +BuildRequires: python%{python3_version_nodots}-scipy +%else +BuildRequires: python%{python3_pkgversion}-cherrypy +BuildRequires: python%{python3_pkgversion}-jwt +BuildRequires: python%{python3_pkgversion}-routes +BuildRequires: python%{python3_pkgversion}-scipy +BuildRequires: python%{python3_pkgversion}-werkzeug +%endif +%if 0%{?rhel} == 7 +BuildRequires: python%{python3_version_nodots}-pyOpenSSL +%else +BuildRequires: python%{python3_pkgversion}-pyOpenSSL +%endif %endif %if 0%{?suse_version} BuildRequires: libxmlsec1-1 BuildRequires: libxmlsec1-nss1 BuildRequires: libxmlsec1-openssl1 -BuildRequires: python%{_python_buildid}-CherryPy -BuildRequires: python%{_python_buildid}-PyJWT -BuildRequires: python%{_python_buildid}-Routes -BuildRequires: python%{_python_buildid}-Werkzeug -BuildRequires: python%{_python_buildid}-numpy-devel +BuildRequires: 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 @@ -377,7 +401,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 @@ -390,17 +414,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 ceph-daemon -Summary: Ceph-daemon utility to bootstrap Ceph clusters -Requires: podman -%description -n ceph-daemon -Ceph-daemon utility to bootstrap a Ceph cluster and manage ceph daemons -deployed with systemd and podman. +%package -n cephadm +Summary: Utility to bootstrap Ceph clusters +Requires: lvm2 +Requires: python%{python3_pkgversion} +%if 0%{?weak_deps} +Recommends: podman +%endif +%description -n cephadm +Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed +with systemd and podman. %package -n ceph-common Summary: Ceph Common @@ -410,18 +437,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} @@ -467,31 +493,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-ssh = %{_epoch_prefix}%{version}-%{release} -Recommends: python%{_python_buildid}-influxdb -%endif -%if 0%{?rhel} == 7 -Requires: pyOpenSSL -%else -Requires: python%{_python_buildid}-pyOpenSSL +Recommends: ceph-mgr-cephadm = %{_epoch_prefix}%{version}-%{release} +Recommends: python%{python3_pkgversion}-influxdb %endif %description mgr ceph-mgr enables python modules that provide services (such as the REST @@ -508,105 +522,137 @@ 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 -%endif -%if 0%{?rhel} == 7 -Requires: pyOpenSSL -%else -Requires: python%{_python_buildid}-pyOpenSSL +Requires: python%{python3_pkgversion}-CherryPy +Requires: python%{python3_pkgversion}-PyJWT +Requires: python%{python3_pkgversion}-Routes +Requires: python%{python3_pkgversion}-Werkzeug %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 +Requires: python%{python3_version_nodots}-dateutil +%else +Requires: python%{python3_pkgversion}-bcrypt +Requires: python%{python3_pkgversion}-pecan +Requires: python%{python3_pkgversion}-pyOpenSSL +Requires: python%{python3_pkgversion}-requests +Requires: python%{python3_pkgversion}-dateutil +%endif +%if 0%{?fedora} || 0%{?rhel} >= 8 +Requires: python%{python3_pkgversion}-cherrypy +Requires: python%{python3_pkgversion}-pyyaml +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-ssh -Summary: Ceph Manager plugin for SSH-based orchestration +%package mgr-cephadm +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: 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: python%{python3_pkgversion}-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. %package fuse Summary: Ceph fuse-based client @@ -782,21 +828,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} @@ -805,28 +836,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} @@ -835,10 +850,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. @@ -904,21 +917,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} @@ -927,10 +925,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. @@ -965,22 +961,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} @@ -990,28 +970,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} @@ -1024,18 +988,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 SSH orchestrator. -%endif - %package -n python%{python3_pkgversion}-ceph-common Summary: Python 3 utility libraries for Ceph %if 0%{?suse_version} @@ -1044,7 +996,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 @@ -1142,25 +1094,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 @@ -1187,7 +1120,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.1.0-1521-gcdf35413a0 %build # LTO can be enabled as soon as the following GCC bug is fixed: @@ -1262,13 +1195,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 @@ -1306,10 +1232,23 @@ ${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 +%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" @@ -1342,7 +1281,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} @@ -1355,6 +1300,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}/* @@ -1438,15 +1384,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* @@ -1506,8 +1446,23 @@ if [ $1 -ge 1 ] ; then fi fi -%files daemon -%{_sbindir}/ceph-daemon +%pre -n 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} +%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 @@ -1651,33 +1606,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 @@ -1762,6 +1695,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 @@ -1788,15 +1747,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 @@ -1965,12 +1924,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 || : @@ -1992,6 +1953,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 @@ -2128,12 +2090,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 @@ -2197,22 +2153,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 @@ -2231,37 +2175,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 @@ -2408,12 +2333,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 a353212..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" @@ -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