diff --git a/ceph-14.0.1-3346-g0364ec8d2f.tar.bz2 b/ceph-14.0.1-3346-g0364ec8d2f.tar.bz2 deleted file mode 100644 index b9115ba..0000000 --- a/ceph-14.0.1-3346-g0364ec8d2f.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6ecc476afba720ee88c4777ca9ab11a55bd9ac4ba16665af2030042c9f945efb -size 95691168 diff --git a/ceph-14.1.0-397-g83233298c9.tar.bz2 b/ceph-14.1.0-397-g83233298c9.tar.bz2 new file mode 100644 index 0000000..7d8bb39 --- /dev/null +++ b/ceph-14.1.0-397-g83233298c9.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b36f6c3f7bb042b95acb6ed8bc5a3ad87ae9e2fa7c540a521be23d6c0ca9d3d4 +size 95822470 diff --git a/ceph-test.changes b/ceph-test.changes index d902d01..683a504 100644 --- a/ceph-test.changes +++ b/ceph-test.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Sun Feb 24 10:39:14 UTC 2019 - ncutler@suse.com + +- Update to 14.1.0-397-g83233298c9: + + rebase on top of upstream master branch, SHA1 1f909bc88be501e58cfbe1bab55efc20de10fa8d + * upstream v14.1.0 (Nautilus RC1) release + + see draft release notes: https://github.com/ceph/ceph/pull/26598 + * rados: provide user with more meaningful error message (bsc#999643) + * librados3 is dead: long live librados2 + * several MGR modules (notably the dashboard) have been split off from + ceph-mgr into dedicated subpackages + * upstream v14.1.0 introduces an optional dependency on rabbitmq-c + + disabled, for now, since openSUSE does not ship this package + + rgw: dmclock: async scheduler: wrap yield_ctx around ifdefs (bsc#1126554) + + arch tweaks (enable lttng build for ppc64le, drop ppc64 openSUSE, add + s390x openSUSE) + +------------------------------------------------------------------- +Fri Feb 15 14:00:09 UTC 2019 - ncutler@suse.com + +- Update to 14.0.1-3975-g14d8f3cab5: + + rebase on top of upstream master branch, SHA1 24fcffb94ccda5cb11eeb74315c78e053fbb1c66 + * Enabling and using the dashboard should be possible and strongly + encouraged - see http://docs.ceph.com/docs/master/mgr/dashboard/ for the + basics + + spec: + * enable s390x build for openSUSE + * disable lttng build on s390x, enable it on ppc64le + * new subpackages for the larger MGR plugins (notably, dashboard) + * drop RHEL-specific subman code blocks + ------------------------------------------------------------------- Wed Jan 30 17:29:43 UTC 2019 - ncutler@suse.com diff --git a/ceph-test.spec b/ceph-test.spec index ec97f40..7ecf436 100644 --- a/ceph-test.spec +++ b/ceph-test.spec @@ -33,28 +33,29 @@ %bcond_without cephfs_java %bcond_without lttng %bcond_without libradosstriper +%bcond_without amqp_endpoint %global _remote_tarball_prefix https://download.ceph.com/tarballs/ %endif %if 0%{?suse_version} %bcond_with selinux %bcond_without ceph_test_package %bcond_with cephfs_java +%bcond_with amqp_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates %endif %if 0%{?is_opensuse} -%bcond_without lttng %bcond_without libradosstriper %else %bcond_with libradosstriper -%ifarch x86_64 aarch64 +%endif +%ifarch x86_64 aarch64 ppc64le %bcond_without lttng %else %bcond_with lttng %endif %endif -%endif %bcond_with seastar %if 0%{?fedora} >= 29 || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 # distros that need a py3 Ceph build @@ -96,7 +97,7 @@ # main package definition ################################################################################# Name: ceph-test -Version: 14.0.1.3346+g0364ec8d2f +Version: 14.1.0.397+g83233298c9 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -112,19 +113,15 @@ License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-14.0.1-3346-g0364ec8d2f.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-14.1.0-397-g83233298c9.tar.bz2 %if 0%{?suse_version} Source96: checkin.sh Source97: README-checkin.txt Source98: README-ceph-test.txt Source99: ceph-rpmlintrc # _insert_obs_source_lines_here -%if 0%{?is_opensuse} -ExclusiveArch: x86_64 aarch64 ppc64 ppc64le -%else ExclusiveArch: x86_64 aarch64 ppc64le %endif -%endif ################################################################################# # dependencies that apply across all distro families ################################################################################# @@ -145,7 +142,6 @@ BuildRequires: sharutils BuildRequires: checkpolicy BuildRequires: selinux-policy-devel %endif -BuildRequires: bc BuildRequires: gperf %if 0%{?rhel} == 7 BuildRequires: cmake3 > 3.5 @@ -157,7 +153,7 @@ BuildRequires: fuse-devel %if 0%{?rhel} == 7 # devtoolset offers newer make and valgrind-devel, but the old ones are good # enough. -BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1 +BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 %else BuildRequires: gcc-c++ %endif @@ -170,7 +166,6 @@ BuildRequires: gperftools-devel >= 2.6.1 BuildRequires: gperftools-devel >= 2.4 %endif %endif -BuildRequires: jq BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 @@ -198,7 +193,12 @@ BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet BuildRequires: yasm +%if 0%{with amqp_endpoint} +BuildRequires: librabbitmq-devel +%endif %if 0%{with make_check} +BuildRequires: jq +BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-pecan @@ -206,6 +206,12 @@ BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-six BuildRequires: python%{_python_buildid}-tox BuildRequires: python%{_python_buildid}-virtualenv +%if 0%{?fedora} || 0%{?rhel} +BuildRequires: pyOpenSSL%{_python_buildid} +%endif +%if 0%{?suse_version} +BuildRequires: python%{_python_buildid}-pyOpenSSL +%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -230,16 +236,15 @@ BuildRequires: systemd PreReq: %fillup_prereq BuildRequires: net-tools BuildRequires: libbz2-devel -BuildRequires: btrfsprogs BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: lsb-release BuildRequires: openldap2-devel -BuildRequires: krb5 -BuildRequires: krb5-devel +#BuildRequires: krb5 +#BuildRequires: krb5-devel BuildRequires: cunit-devel -BuildRequires: python%{_python_buildid}-base +BuildRequires: python%{_python_buildid}-setuptools BuildRequires: python%{_python_buildid}-Cython BuildRequires: python%{_python_buildid}-PrettyTable BuildRequires: python%{_python_buildid}-Sphinx @@ -249,23 +254,17 @@ BuildRequires: liblz4-devel >= 1.7 %if 0%{?fedora} || 0%{?rhel} BuildRequires: boost-random -BuildRequires: btrfs-progs BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libibverbs-devel BuildRequires: librdmacm-devel BuildRequires: openldap-devel -BuildRequires: krb5-devel +#BuildRequires: krb5-devel BuildRequires: openssl-devel BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core +%if 0%{?rhel} == 7 BuildRequires: Cython -BuildRequires: python%{_python_buildid}-prettytable -BuildRequires: python%{_python_buildid}-sphinx -BuildRequires: lz4-devel >= 1.7 -%endif -# python34-... for RHEL, python3-... for all other supported distros -%if 0%{?rhel} BuildRequires: python34-devel BuildRequires: python34-setuptools BuildRequires: python34-Cython @@ -274,6 +273,10 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-Cython %endif +BuildRequires: python%{_python_buildid}-prettytable +BuildRequires: python%{_python_buildid}-sphinx +BuildRequires: lz4-devel >= 1.7 +%endif # distro-conditional make check dependencies %if 0%{with make_check} %if 0%{?fedora} || 0%{?rhel} @@ -281,7 +284,6 @@ BuildRequires: python%{_python_buildid}-cherrypy BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-routes BuildRequires: python%{_python_buildid}-werkzeug -BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: xmlsec1 %endif %if 0%{?suse_version} @@ -290,7 +292,6 @@ BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Werkzeug BuildRequires: python%{_python_buildid}-numpy-devel -BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: xmlsec1-devel %endif %endif @@ -365,6 +366,22 @@ This package contains Ceph benchmarks and test tools. %endif %if 0%{?suse_version} %endif +%if 0%{?fedora} || 0%{?rhel} +%endif +%if 0%{?suse_version} +%endif +%if 0%{?rhel} == 7 +%endif +%if 0%{?suse_version} +%endif +%if 0%{?suse_version} +%endif +%if 0%{?suse_version} +%endif +%if 0%{?suse_version} +%endif +%if 0%{?suse_version} +%endif %if 0%{?suse_version} %endif %if 0%{?suse_version} @@ -395,8 +412,6 @@ This package contains Ceph benchmarks and test tools. %endif %if 0%{?suse_version} %endif -%if 0%{?suse_version} -%endif %if 0%{with python2} %if 0%{?suse_version} %endif @@ -474,7 +489,7 @@ This package contains Ceph benchmarks and test tools. %if 0%{?suse_version} %endif %prep -%autosetup -p1 -n ceph-14.0.1-3346-g0364ec8d2f +%autosetup -p1 -n ceph-14.1.0-397-g83233298c9 %build @@ -549,9 +564,6 @@ ${CMAKE} .. \ -DWITH_PYTHON2=OFF \ -DMGR_PYTHON_VERSION=3 \ %endif -%if 0%{?rhel} && ! 0%{?centos} - -DWITH_SUBMAN=ON \ -%endif %if 0%{without ceph_test_package} -DWITH_TESTS=OFF \ %endif @@ -584,6 +596,11 @@ ${CMAKE} .. \ -DWITH_LIBRADOSSTRIPER=ON \ %else -DWITH_LIBRADOSSTRIPER=OFF \ +%endif +%if 0%{with amqp_endpoint} + -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ +%else + -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON @@ -657,6 +674,9 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror # create __pycache__ directories and their contents %py3_compile %{buildroot}%{python3_sitelib} %endif +%if 0%{?rhel} == 8 +%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib} +%endif rm -rf %{buildroot}%{_bindir}/ceph-crash rm -rf %{buildroot}%{_bindir}/crushtool @@ -745,9 +765,39 @@ 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}%{_libdir}/ceph/mgr +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/osd_perf_query +rm -rf %{buildroot}%{_datadir}/ceph/mgr/pg_autoscaler +rm -rf %{buildroot}%{_datadir}/ceph/mgr/progress +rm -rf %{buildroot}%{_datadir}/ceph/mgr/prometheus +rm -rf %{buildroot}%{_datadir}/ceph/mgr/rbd_support +rm -rf %{buildroot}%{_datadir}/ceph/mgr/restful +rm -rf %{buildroot}%{_datadir}/ceph/mgr/selftest +rm -rf %{buildroot}%{_datadir}/ceph/mgr/status +rm -rf %{buildroot}%{_datadir}/ceph/mgr/telegraf +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/ssh rm -rf %{buildroot}%{_bindir}/ceph-mon rm -rf %{buildroot}%{_bindir}/ceph-monstore-tool rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8* @@ -786,7 +836,6 @@ rm -rf %{buildroot}%{_mandir}/man8/ceph-osd.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-bluestore-tool.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-volume.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-volume-systemd.8* -rm -rf %{buildroot}%{_sysconfdir}/cron.hourly/subman rm -rf %{buildroot}%{_unitdir}/ceph-osd@.service rm -rf %{buildroot}%{_unitdir}/ceph-osd.target rm -rf %{buildroot}%{_unitdir}/ceph-volume@.service @@ -802,15 +851,14 @@ rm -rf %{buildroot}%{_libdir}/librados.so rm -rf %{buildroot}%{_libdir}/librados_tp.so rm -rf %{buildroot}%{_bindir}/librados-config rm -rf %{buildroot}%{_mandir}/man8/librados-config.8* -rm -rf %{buildroot}%{_libdir}/libradospp.so.* rm -rf %{buildroot}%{_includedir}/rados/buffer.h rm -rf %{buildroot}%{_includedir}/rados/buffer_fwd.h rm -rf %{buildroot}%{_includedir}/rados/crc32c.h rm -rf %{buildroot}%{_includedir}/rados/inline_memory.h 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}%{_libdir}/libradospp.so rm -rf %{buildroot}%{python_sitearch}/rados.so rm -rf %{buildroot}%{python_sitearch}/rados-*.egg-info rm -rf %{buildroot}%{python3_sitearch}/rados.cpython*.so @@ -980,8 +1028,6 @@ rm -rf %{buildroot} %endif %if 0%{?fedora} || 0%{?rhel} %endif -%if 0%{?rhel} && ! 0%{?centos} -%endif %if 0%{?suse_version} %endif %if 0%{?fedora} || 0%{?rhel} @@ -1045,6 +1091,7 @@ rm -rf %{buildroot} %{_bindir}/ceph_test_* %{_bindir}/ceph-coverage %{_bindir}/ceph-debugpack +%{_bindir}/cephdeduptool %{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh diff --git a/ceph.changes b/ceph.changes index d902d01..683a504 100644 --- a/ceph.changes +++ b/ceph.changes @@ -1,3 +1,34 @@ +------------------------------------------------------------------- +Sun Feb 24 10:39:14 UTC 2019 - ncutler@suse.com + +- Update to 14.1.0-397-g83233298c9: + + rebase on top of upstream master branch, SHA1 1f909bc88be501e58cfbe1bab55efc20de10fa8d + * upstream v14.1.0 (Nautilus RC1) release + + see draft release notes: https://github.com/ceph/ceph/pull/26598 + * rados: provide user with more meaningful error message (bsc#999643) + * librados3 is dead: long live librados2 + * several MGR modules (notably the dashboard) have been split off from + ceph-mgr into dedicated subpackages + * upstream v14.1.0 introduces an optional dependency on rabbitmq-c + + disabled, for now, since openSUSE does not ship this package + + rgw: dmclock: async scheduler: wrap yield_ctx around ifdefs (bsc#1126554) + + arch tweaks (enable lttng build for ppc64le, drop ppc64 openSUSE, add + s390x openSUSE) + +------------------------------------------------------------------- +Fri Feb 15 14:00:09 UTC 2019 - ncutler@suse.com + +- Update to 14.0.1-3975-g14d8f3cab5: + + rebase on top of upstream master branch, SHA1 24fcffb94ccda5cb11eeb74315c78e053fbb1c66 + * Enabling and using the dashboard should be possible and strongly + encouraged - see http://docs.ceph.com/docs/master/mgr/dashboard/ for the + basics + + spec: + * enable s390x build for openSUSE + * disable lttng build on s390x, enable it on ppc64le + * new subpackages for the larger MGR plugins (notably, dashboard) + * drop RHEL-specific subman code blocks + ------------------------------------------------------------------- Wed Jan 30 17:29:43 UTC 2019 - ncutler@suse.com diff --git a/ceph.spec b/ceph.spec index 3e1ff2c..d6bec4d 100644 --- a/ceph.spec +++ b/ceph.spec @@ -33,28 +33,29 @@ %bcond_without cephfs_java %bcond_without lttng %bcond_without libradosstriper +%bcond_without amqp_endpoint %global _remote_tarball_prefix https://download.ceph.com/tarballs/ %endif %if 0%{?suse_version} %bcond_with selinux %bcond_with ceph_test_package %bcond_with cephfs_java +%bcond_with amqp_endpoint #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates %endif %if 0%{?is_opensuse} -%bcond_without lttng %bcond_without libradosstriper %else %bcond_with libradosstriper -%ifarch x86_64 aarch64 +%endif +%ifarch x86_64 aarch64 ppc64le %bcond_without lttng %else %bcond_with lttng %endif %endif -%endif %bcond_with seastar %if 0%{?fedora} >= 29 || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 8 # distros that need a py3 Ceph build @@ -96,7 +97,7 @@ # main package definition ################################################################################# Name: ceph -Version: 14.0.1.3346+g0364ec8d2f +Version: 14.1.0.397+g83233298c9 Release: 0%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 @@ -112,15 +113,11 @@ License: LGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and Group: System/Filesystems %endif URL: http://ceph.com/ -Source0: %{?_remote_tarball_prefix}ceph-14.0.1-3346-g0364ec8d2f.tar.bz2 +Source0: %{?_remote_tarball_prefix}ceph-14.1.0-397-g83233298c9.tar.bz2 %if 0%{?suse_version} # _insert_obs_source_lines_here -%if 0%{?is_opensuse} -ExclusiveArch: x86_64 aarch64 ppc64 ppc64le -%else ExclusiveArch: x86_64 aarch64 ppc64le s390x %endif -%endif ################################################################################# # dependencies that apply across all distro families ################################################################################# @@ -137,7 +134,6 @@ BuildRequires: sharutils BuildRequires: checkpolicy BuildRequires: selinux-policy-devel %endif -BuildRequires: bc BuildRequires: gperf %if 0%{?rhel} == 7 BuildRequires: cmake3 > 3.5 @@ -149,7 +145,7 @@ BuildRequires: fuse-devel %if 0%{?rhel} == 7 # devtoolset offers newer make and valgrind-devel, but the old ones are good # enough. -BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1 +BuildRequires: devtoolset-7-gcc-c++ >= 7.3.1-5.13 %else BuildRequires: gcc-c++ %endif @@ -162,7 +158,6 @@ BuildRequires: gperftools-devel >= 2.6.1 BuildRequires: gperftools-devel >= 2.4 %endif %endif -BuildRequires: jq BuildRequires: leveldb-devel > 1.2 BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 @@ -190,7 +185,12 @@ BuildRequires: xfsprogs BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet BuildRequires: yasm +%if 0%{with amqp_endpoint} +BuildRequires: librabbitmq-devel +%endif %if 0%{with make_check} +BuildRequires: jq +BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: python%{_python_buildid}-coverage BuildRequires: python%{_python_buildid}-nose BuildRequires: python%{_python_buildid}-pecan @@ -198,6 +198,12 @@ BuildRequires: python%{_python_buildid}-requests BuildRequires: python%{_python_buildid}-six BuildRequires: python%{_python_buildid}-tox BuildRequires: python%{_python_buildid}-virtualenv +%if 0%{?fedora} || 0%{?rhel} +BuildRequires: pyOpenSSL%{_python_buildid} +%endif +%if 0%{?suse_version} +BuildRequires: python%{_python_buildid}-pyOpenSSL +%endif BuildRequires: socat %endif %if 0%{with seastar} @@ -222,16 +228,15 @@ BuildRequires: systemd PreReq: %fillup_prereq BuildRequires: net-tools BuildRequires: libbz2-devel -BuildRequires: btrfsprogs BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: lsb-release BuildRequires: openldap2-devel -BuildRequires: krb5 -BuildRequires: krb5-devel +#BuildRequires: krb5 +#BuildRequires: krb5-devel BuildRequires: cunit-devel -BuildRequires: python%{_python_buildid}-base +BuildRequires: python%{_python_buildid}-setuptools BuildRequires: python%{_python_buildid}-Cython BuildRequires: python%{_python_buildid}-PrettyTable BuildRequires: python%{_python_buildid}-Sphinx @@ -241,23 +246,17 @@ BuildRequires: liblz4-devel >= 1.7 %if 0%{?fedora} || 0%{?rhel} Requires: systemd BuildRequires: boost-random -BuildRequires: btrfs-progs BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libibverbs-devel BuildRequires: librdmacm-devel BuildRequires: openldap-devel -BuildRequires: krb5-devel +#BuildRequires: krb5-devel BuildRequires: openssl-devel BuildRequires: CUnit-devel BuildRequires: redhat-lsb-core +%if 0%{?rhel} == 7 BuildRequires: Cython -BuildRequires: python%{_python_buildid}-prettytable -BuildRequires: python%{_python_buildid}-sphinx -BuildRequires: lz4-devel >= 1.7 -%endif -# python34-... for RHEL, python3-... for all other supported distros -%if 0%{?rhel} BuildRequires: python34-devel BuildRequires: python34-setuptools BuildRequires: python34-Cython @@ -266,6 +265,10 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-Cython %endif +BuildRequires: python%{_python_buildid}-prettytable +BuildRequires: python%{_python_buildid}-sphinx +BuildRequires: lz4-devel >= 1.7 +%endif # distro-conditional make check dependencies %if 0%{with make_check} %if 0%{?fedora} || 0%{?rhel} @@ -273,7 +276,6 @@ BuildRequires: python%{_python_buildid}-cherrypy BuildRequires: python%{_python_buildid}-jwt BuildRequires: python%{_python_buildid}-routes BuildRequires: python%{_python_buildid}-werkzeug -BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: xmlsec1 %endif %if 0%{?suse_version} @@ -282,7 +284,6 @@ BuildRequires: python%{_python_buildid}-PyJWT BuildRequires: python%{_python_buildid}-Routes BuildRequires: python%{_python_buildid}-Werkzeug BuildRequires: python%{_python_buildid}-numpy-devel -BuildRequires: python%{_python_buildid}-bcrypt BuildRequires: xmlsec1-devel %endif %endif @@ -335,8 +336,7 @@ Group: System/Filesystems Provides: ceph-test:/usr/bin/ceph-kvstore-tool Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} -Requires: libradospp1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} @@ -374,21 +374,19 @@ Summary: Ceph Common Group: System/Filesystems %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} -Requires: libradospp1 = %{_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}-requests %if 0%{?fedora} || 0%{?rhel} Requires: python%{_python_buildid}-prettytable -Requires: python%{_python_buildid}-requests %endif %if 0%{?suse_version} Requires: python%{_python_buildid}-PrettyTable -Requires: python%{_python_buildid}-requests Obsoletes: libxio <= 1.7 %endif %if 0%{with libradosstriper} @@ -435,26 +433,22 @@ 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}-six %if 0%{?fedora} || 0%{?rhel} Requires: python%{_python_buildid}-cherrypy -Requires: python%{_python_buildid}-jwt -Requires: python%{_python_buildid}-jinja2 -Requires: python%{_python_buildid}-routes Requires: python%{_python_buildid}-werkzeug -Requires: pyOpenSSL%{_python_buildid} -Requires: python%{_python_buildid}-bcrypt %endif %if 0%{?suse_version} Requires: python%{_python_buildid}-CherryPy -Requires: python%{_python_buildid}-PyJWT -Requires: python%{_python_buildid}-Routes -Requires: python%{_python_buildid}-Jinja2 Requires: python%{_python_buildid}-Werkzeug -Requires: python%{_python_buildid}-pyOpenSSL -Requires: python%{_python_buildid}-bcrypt Recommends: python%{_python_buildid}-influxdb +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-ssh = %{_epoch_prefix}%{version}-%{release} %endif %description mgr ceph-mgr enables python modules that provide services (such as the REST @@ -462,6 +456,83 @@ module derived from Calamari) and expose CLI hooks. ceph-mgr gathers the cluster maps, the daemon metadata, and performance counters, and exposes all these to the python modules. +%package mgr-dashboard +Summary: Ceph Dashboard +BuildArch: noarch +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +%if 0%{?fedora} || 0%{?rhel} +Requires: python%{_python_buildid}-cherrypy +Requires: python%{_python_buildid}-jwt +Requires: python%{_python_buildid}-routes +Requires: python%{_python_buildid}-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 +%endif +%description mgr-dashboard +ceph-mgr-dashboard is a manager plugin, 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-mgr diskprediction_local plugin +BuildArch: noarch +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +Requires: numpy +Requires: scipy +%description mgr-diskprediction-local +ceph-mgr-diskprediction-local is a ceph-mgr plugin that tries to predict +disk failures using local algorithms and machine-learning databases. + +%package mgr-diskprediction-cloud +Summary: ceph-mgr diskprediction_cloud plugin +BuildArch: noarch +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +%description mgr-diskprediction-cloud +ceph-mgr-diskprediction-cloud is a ceph-mgr plugin that tries to predict +disk failures using services in the Google cloud. + +%package mgr-rook +BuildArch: noarch +Summary: ceph-mgr rook plugin +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +%description mgr-rook +ceph-mgr-rook is a ceph-mgr plugin for orchestration functions using +a Rook backend. + +%package mgr-ssh +Summary: ceph-mgr ssh module +BuildArch: noarch +%if 0%{?suse_version} +Group: System/Filesystems +%endif +Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} +Requires: python%{_python_buildid}-remoto +%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 %if 0%{?suse_version} @@ -477,7 +548,7 @@ Summary: Ceph fuse-based client %if 0%{?suse_version} Group: System/Filesystems %endif -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-fuse FUSE based client to map Ceph rbd images to files @@ -488,7 +559,8 @@ Summary: Ceph daemon for mirroring RBD images Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} -Requires: libradospp1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} +Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-mirror Daemon for mirroring RBD images between Ceph clusters, streaming changes asynchronously. @@ -498,7 +570,7 @@ Summary: Ceph RBD client base on NBD %if 0%{?suse_version} Group: System/Filesystems %endif -Requires: libradospp1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} %description -n rbd-nbd NBD based client to map Ceph rbd images to local device @@ -512,8 +584,7 @@ Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} -Requires: libradospp1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?rhel} || 0%{?fedora} Requires: mailcap @@ -552,7 +623,7 @@ ceph-osd is the object storage daemon for the Ceph distributed file system. It is responsible for storing objects on a local file system and providing access to them over the network. -%package -n librados3 +%package -n librados2 Summary: RADOS distributed object store client library %if 0%{?suse_version} Group: System/Libraries @@ -560,7 +631,7 @@ Group: System/Libraries %if 0%{?rhel} || 0%{?fedora} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif -%description -n librados3 +%description -n librados2 RADOS is a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to access the distributed object @@ -571,31 +642,20 @@ Summary: RADOS headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} -Provides: librados3-devel = %{_epoch_prefix}%{version}-%{release} -Obsoletes: librados3-devel < %{_epoch_prefix}%{version}-%{release} +Provides: librados2-devel = %{_epoch_prefix}%{version}-%{release} +Obsoletes: librados2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librados-devel This package contains C libraries and headers needed to develop programs that use RADOS object store. -%package -n libradospp1 -Summary: RADOS distributed object store client C++ library -%if 0%{?suse_version} -Group: System/Libraries -%endif -%description -n libradospp1 -RADOS is a reliable, autonomic distributed object storage cluster -developed as part of the Ceph distributed storage system. This is a -shared library allowing C++ applications to access the distributed object -store using a simple file-like interface. - %package -n libradospp-devel Summary: RADOS headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif -Requires: libradospp1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} %description -n libradospp-devel This package contains C++ libraries and headers needed to develop programs @@ -606,7 +666,7 @@ Summary: RADOS gateway client library %if 0%{?suse_version} Group: System/Libraries %endif -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n librgw2 This package provides a library implementation of the RADOS gateway (distributed object store with S3 and Swift personalities). @@ -655,7 +715,7 @@ Summary: Python 2 libraries for the RADOS object store %if 0%{?suse_version} Group: Development/Libraries/Python %endif -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-ceph < %{_epoch_prefix}%{version}-%{release} %description -n python-rados This package contains Python 2 libraries for interacting with Cephs RADOS @@ -668,7 +728,7 @@ Summary: Python 3 libraries for the RADOS object store Group: Development/Libraries/Python %endif Requires: python%{python3_pkgversion} -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-rados This package contains Python 3 libraries for interacting with Cephs RADOS object store. @@ -679,8 +739,7 @@ Summary: RADOS striping interface %if 0%{?suse_version} Group: System/Libraries %endif -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} -Requires: libradospp1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper1 Striping interface built on top of the rados library, allowing to stripe bigger objects onto several standard rados objects using @@ -707,8 +766,7 @@ Summary: RADOS block device client library %if 0%{?suse_version} Group: System/Libraries %endif -Requires: librados3 = %{_epoch_prefix}%{version}-%{release} -Requires: libradospp1 = %{_epoch_prefix}%{version}-%{release} +Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires(post): coreutils %endif @@ -974,7 +1032,7 @@ integrated with the Ceph Manager Dashboard web UI. # common ################################################################################# %prep -%autosetup -p1 -n ceph-14.0.1-3346-g0364ec8d2f +%autosetup -p1 -n ceph-14.1.0-397-g83233298c9 %build @@ -1049,9 +1107,6 @@ ${CMAKE} .. \ -DWITH_PYTHON2=OFF \ -DMGR_PYTHON_VERSION=3 \ %endif -%if 0%{?rhel} && ! 0%{?centos} - -DWITH_SUBMAN=ON \ -%endif %if 0%{without ceph_test_package} -DWITH_TESTS=OFF \ %endif @@ -1084,6 +1139,11 @@ ${CMAKE} .. \ -DWITH_LIBRADOSSTRIPER=ON \ %else -DWITH_LIBRADOSSTRIPER=OFF \ +%endif +%if 0%{with amqp_endpoint} + -DWITH_RADOSGW_AMQP_ENDPOINT=ON \ +%else + -DWITH_RADOSGW_AMQP_ENDPOINT=OFF \ %endif -DBOOST_J=$CEPH_SMP_NCPUS \ -DWITH_GRAFANA=ON @@ -1157,6 +1217,9 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror # create __pycache__ directories and their contents %py3_compile %{buildroot}%{python3_sitelib} %endif +%if 0%{?rhel} == 8 +%py_byte_compile %{__python3} %{buildroot}%{python3_sitelib} +%endif %clean rm -rf %{buildroot} @@ -1416,7 +1479,33 @@ fi %files mgr %{_bindir}/ceph-mgr -%{_libdir}/ceph/mgr +%dir %{_datadir}/ceph/mgr +%{_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 %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr @@ -1463,6 +1552,71 @@ if [ $FIRST_ARG -ge 1 ] ; then fi fi +%files mgr-dashboard +%{_datadir}/ceph/mgr/dashboard + +%post mgr-dashboard +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%postun mgr-dashboard +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%files mgr-diskprediction-local +%{_datadir}/ceph/mgr/diskprediction_local + +%post mgr-diskprediction-local +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%postun mgr-diskprediction-local +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%files mgr-diskprediction-cloud +%{_datadir}/ceph/mgr/diskprediction_cloud + +%post mgr-diskprediction-cloud +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%postun mgr-diskprediction-cloud +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%files mgr-rook +%{_datadir}/ceph/mgr/rook + +%post mgr-rook +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%postun mgr-rook +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 + +%post mgr-ssh +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + +%postun mgr-ssh +if [ $1 -eq 1 ] ; then + /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : +fi + %files mon %{_bindir}/ceph-mon %{_bindir}/ceph-monstore-tool @@ -1642,9 +1796,6 @@ fi %{_mandir}/man8/ceph-bluestore-tool.8* %{_mandir}/man8/ceph-volume.8* %{_mandir}/man8/ceph-volume-systemd.8* -%if 0%{?rhel} && ! 0%{?centos} -%attr(0755,-,-) %{_sysconfdir}/cron.hourly/subman -%endif %{_unitdir}/ceph-osd@.service %{_unitdir}/ceph-osd.target %{_unitdir}/ceph-volume@.service @@ -1709,7 +1860,7 @@ fi %endif -%files -n librados3 +%files -n librados2 %{_libdir}/librados.so.* %dir %{_libdir}/ceph %{_libdir}/ceph/libceph-common.so.* @@ -1717,9 +1868,9 @@ fi %{_libdir}/librados_tp.so.* %endif -%post -n librados3 -p /sbin/ldconfig +%post -n librados2 -p /sbin/ldconfig -%postun -n librados3 -p /sbin/ldconfig +%postun -n librados2 -p /sbin/ldconfig %files -n librados-devel %dir %{_includedir}/rados @@ -1732,13 +1883,6 @@ fi %{_bindir}/librados-config %{_mandir}/man8/librados-config.8* -%files -n libradospp1 -%{_libdir}/libradospp.so.* - -%post -n libradospp1 -p /sbin/ldconfig - -%postun -n libradospp1 -p /sbin/ldconfig - %files -n libradospp-devel %dir %{_includedir}/rados %{_includedir}/rados/buffer.h @@ -1746,9 +1890,9 @@ fi %{_includedir}/rados/crc32c.h %{_includedir}/rados/inline_memory.h %{_includedir}/rados/librados.hpp +%{_includedir}/rados/librados_fwd.hpp %{_includedir}/rados/page.h %{_includedir}/rados/rados_types.hpp -%{_libdir}/libradospp.so %if 0%{with python2} %files -n python-rados @@ -1902,6 +2046,7 @@ fi %{_bindir}/ceph_test_* %{_bindir}/ceph-coverage %{_bindir}/ceph-debugpack +%{_bindir}/cephdeduptool %{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh