# # spec file for package ceph # # Copyright (C) 2004-2019 The Ceph Project Developers. See COPYING file # at the top-level directory of this distribution and at # https://github.com/ceph/ceph/blob/master/COPYING # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. # # This file is under the GNU Lesser General Public License, version 2.1 # # Please submit bugfixes or comments via http://tracker.ceph.com/ # # `rdopkg update-patches` will automatically update this macro: %global commit 3a2f1cec313e6abbd90d9260bd5e0e866817c3c7 ################################################################################# # conditional build section # # please read this for explanation of bcond syntax: # https://rpm-software-management.github.io/rpm/manual/conditionalbuilds.html ################################################################################# %bcond_with make_check %bcond_with cmake_verbose_logging %bcond_without ceph_test_package %ifarch s390 %bcond_with tcmalloc %else %bcond_without tcmalloc %endif %bcond_without rbd_ssd_cache %ifarch x86_64 %bcond_without rbd_rwl_cache %else %bcond_with rbd_rwl_cache %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %if 0%{?rhel} < 9 || 0%{?openEuler} %bcond_with system_pmdk %else %ifarch s390x aarch64 %bcond_with system_pmdk %else %bcond_without system_pmdk %endif %endif %bcond_without selinux %bcond_without amqp_endpoint %bcond_without kafka_endpoint %bcond_without lttng %bcond_without libradosstriper %bcond_without ocf %global luarocks_package_name luarocks %bcond_without lua_packages %global _remote_tarball_prefix https://download.ceph.com/tarballs/ %endif %if 0%{?suse_version} %ifarch s390x %bcond_with system_pmdk %else %bcond_without system_pmdk %endif %bcond_with amqp_endpoint %bcond_with cephfs_java %bcond_with kafka_endpoint %bcond_with libradosstriper %ifarch x86_64 aarch64 ppc64le %bcond_without lttng %else %bcond_with lttng %endif %bcond_with ocf %bcond_with selinux #Compat macro for _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %global _fillupdir /var/adm/fillup-templates %endif #luarocks %if 0%{?is_opensuse} # openSUSE %bcond_without lua_packages %if 0%{?sle_version} # openSUSE Leap %global luarocks_package_name lua53-luarocks %else # openSUSE Tumbleweed %global luarocks_package_name lua54-luarocks %endif %else # SLE %bcond_with lua_packages %endif %endif %bcond_with seastar %if 0%{?suse_version} || 0%{?openEuler} %bcond_with jaeger %else %bcond_without jaeger %endif %if 0%{?fedora} || 0%{?suse_version} >= 1500 || 0%{?rhel} >= 9 # distros that ship cmd2 and/or colorama %bcond_without cephfs_shell %else # distros that do _not_ ship cmd2/colorama %bcond_with cephfs_shell %endif %if 0%{?fedora} || 0%{?rhel} >= 9 %bcond_without system_arrow %else # for centos 8, utf8proc-devel comes from the subversion-devel module which isn't available in EPEL8 # this is tracked in https://bugzilla.redhat.com/2152265 %bcond_with system_arrow %endif # qat only supported for intel devices %ifarch x86_64 %if 0%{?fedora} || 0%{?rhel} >= 9 %bcond_without system_qat %else # not fedora/rhel %bcond_with system_qat %endif %else # not x86_64 %bcond_with system_qat %endif %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} >= 8 || 0%{?openEuler} %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 %bcond_without cephadm_bundling %bcond_with cephadm_pip_deps %{!?_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} %{!?gts_prefix: %global gts_prefix gcc-toolset-11} %if ! 0%{?suse_version} # use multi-threaded xz compression: xz level 7 using ncpus threads %global _source_payload w7T%{_smp_build_ncpus}.xzdio %global _binary_payload w7T%{_smp_build_ncpus}.xzdio %endif %define smp_limit_mem_per_job() %( \ kb_per_job=%1 \ kb_total=$(head -3 /proc/meminfo | sed -n 's/MemAvailable:\\s*\\(.*\\) kB.*/\\1/p') \ jobs=$(( $kb_total / $kb_per_job )) \ [ $jobs -lt 1 ] && jobs=1 \ echo $jobs ) %if 0%{?_smp_ncpus_max} == 0 %if 0%{?__isa_bits} == 32 # 32-bit builds can use 3G memory max, which is not enough even for -j2 %global _smp_ncpus_max 1 %else # 3.0 GiB mem per job # SUSE distros use limit_build in the place of smp_limit_mem_per_job, please # be sure to update it (in the build section, below) as well when changing this # number. %global _smp_ncpus_max %{smp_limit_mem_per_job 3200000} %endif %endif # disable -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1, as gcc-toolset-{10,11}-annobin # do not provide gcc-annobin.so anymore, despite that they provide annobin.so. but # redhat-rpm-config still passes -fplugin=gcc-annobin to the compiler. %undefine _annotated_build %if 0%{?rhel} == 8 && 0%{?enable_devtoolset11:1} %enable_devtoolset11 %endif ################################################################################# # main package definition ################################################################################# Name: ceph Version: 19.2.1 Release: 274%{?dist} %if 0%{?fedora} || 0%{?rhel} Epoch: 2 %endif # define _epoch_prefix macro which will expand to the empty string if epoch is # undefined %global _epoch_prefix %{?epoch:%{epoch}:} Summary: User space components of the Ceph file system License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIT %if 0%{?suse_version} Group: System/Filesystems %endif URL: http://ceph.com/ Source0: %{?_remote_tarball_prefix}%{name}-%{version}.tar.gz Source1: %{name}-%{version}-%{commit}-changes.tar.gz Source2: redhat_dashboard_frontend-%{version}-%{commit}.tar.gz Source3: ibm_dashboard_frontend-%{version}-%{commit}.tar.gz Source4: blake3-1.5.1-92e4cd71be48fdf9a79e88ef37b8f415ec5ac210.tar.bz2 Source5: xxHash-0.8.2-bbb27a5efb85b92a0486cf361a8635715a53f6ba.tar.bz2 Source6: s3select-0a0f6d4.patch %if 0%{?suse_version} # _insert_obs_source_lines_here ExclusiveArch: x86_64 aarch64 ppc64le s390x riscv64 %endif ################################################################################# # dependencies that apply across all distro families ################################################################################# Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mds = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mon = %{_epoch_prefix}%{version}-%{release} Requires(post): binutils %if 0%{with cephfs_java} BuildRequires: java-devel BuildRequires: jpackage-utils BuildRequires: sharutils %endif %if 0%{with selinux} BuildRequires: checkpolicy BuildRequires: selinux-policy-devel %endif BuildRequires: gperf BuildRequires: cmake > 3.5 BuildRequires: fuse-devel BuildRequires: git BuildRequires: grpc-devel %if 0%{?fedora} || 0%{?suse_version} > 1500 || 0%{?rhel} == 9 || 0%{?openEuler} BuildRequires: gcc-c++ >= 11 %endif %if 0%{?suse_version} == 1500 BuildRequires: gcc11-c++ %endif %if 0%{?rhel} == 8 BuildRequires: %{gts_prefix}-gcc-c++ BuildRequires: %{gts_prefix}-build BuildRequires: %{gts_prefix}-libatomic-devel %endif %if 0%{?fedora} || 0%{?rhel} == 9 || 0%{?openEuler} BuildRequires: libatomic %endif %if 0%{with tcmalloc} # libprofiler did not build on ppc64le until 2.7.90 %if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?openEuler} BuildRequires: gperftools-devel >= 2.7.90 %endif %if 0%{?rhel} && 0%{?rhel} < 8 BuildRequires: gperftools-devel >= 2.6.1 %endif %if 0%{?suse_version} BuildRequires: gperftools-devel >= 2.4 %endif %endif BuildRequires: libaio-devel BuildRequires: libblkid-devel >= 2.17 BuildRequires: cryptsetup-devel BuildRequires: libnbd-devel BuildRequires: libcurl-devel BuildRequires: libcap-devel BuildRequires: libcap-ng-devel BuildRequires: fmt-devel >= 6.2.1 BuildRequires: pkgconfig(libudev) BuildRequires: libnl3-devel BuildRequires: liboath-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: make BuildRequires: ncurses-devel BuildRequires: libicu-devel BuildRequires: patch BuildRequires: perl BuildRequires: pkgconfig BuildRequires: procps BuildRequires: python%{python3_pkgversion} BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools BuildRequires: python%{python3_pkgversion}-Cython BuildRequires: snappy-devel BuildRequires: sqlite-devel BuildRequires: sudo BuildRequires: pkgconfig(udev) BuildRequires: valgrind-devel BuildRequires: which BuildRequires: xfsprogs-devel BuildRequires: xmlstarlet BuildRequires: nasm BuildRequires: lua-devel BuildRequires: lmdb-devel %if 0%{with seastar} || 0%{with jaeger} BuildRequires: yaml-cpp-devel >= 0.6 %endif %if 0%{with amqp_endpoint} BuildRequires: librabbitmq-devel %endif %if 0%{with kafka_endpoint} BuildRequires: librdkafka-devel %endif %if 0%{with lua_packages} Requires: lua-devel Requires: %{luarocks_package_name} %endif %if 0%{with make_check} BuildRequires: hostname BuildRequires: jq BuildRequires: libuuid-devel BuildRequires: python%{python3_pkgversion}-bcrypt BuildRequires: python%{python3_pkgversion}-pecan BuildRequires: python%{python3_pkgversion}-requests BuildRequires: python%{python3_pkgversion}-dateutil BuildRequires: python%{python3_pkgversion}-coverage BuildRequires: python%{python3_pkgversion}-pyOpenSSL BuildRequires: socat BuildRequires: python%{python3_pkgversion}-asyncssh BuildRequires: python%{python3_pkgversion}-natsort %endif %if 0%{?suse_version} BuildRequires: libthrift-devel >= 0.13.0 %else BuildRequires: thrift-devel >= 0.13.0 %endif BuildRequires: re2-devel %if 0%{with jaeger} BuildRequires: bison BuildRequires: flex %if 0%{?fedora} || 0%{?rhel} BuildRequires: json-devel %endif %if 0%{?suse_version} BuildRequires: nlohmann_json-devel %endif BuildRequires: libevent-devel %endif %if 0%{with system_pmdk} %if 0%{?suse_version} BuildRequires: libndctl-devel >= 63 %else BuildRequires: ndctl-devel >= 63 BuildRequires: daxctl-devel >= 63 %endif BuildRequires: libpmem-devel BuildRequires: libpmemobj-devel >= 1.8 %endif %if 0%{with system_arrow} BuildRequires: libarrow-devel BuildRequires: parquet-libs-devel BuildRequires: utf8proc-devel %endif %if 0%{with system_qat} BuildRequires: qatlib-devel BuildRequires: qatzip-devel %endif %if 0%{with seastar} BuildRequires: c-ares-devel BuildRequires: gnutls-devel BuildRequires: hwloc-devel BuildRequires: libpciaccess-devel BuildRequires: lksctp-tools-devel BuildRequires: ragel BuildRequires: systemtap-sdt-devel BuildRequires: libubsan BuildRequires: libasan BuildRequires: protobuf-devel BuildRequires: protobuf-compiler %if 0%{?rhel} == 8 BuildRequires: %{gts_prefix}-annobin BuildRequires: %{gts_prefix}-annobin-plugin-gcc BuildRequires: %{gts_prefix}-libubsan-devel BuildRequires: %{gts_prefix}-libasan-devel %endif %endif ################################################################################# # distro-conditional dependencies ################################################################################# %if 0%{?suse_version} BuildRequires: pkgconfig(systemd) BuildRequires: systemd-rpm-macros %{?systemd_requires} PreReq: %fillup_prereq BuildRequires: fdupes BuildRequires: memory-constraints BuildRequires: net-tools BuildRequires: libbz2-devel BuildRequires: mozilla-nss-devel BuildRequires: keyutils-devel BuildRequires: libopenssl-devel BuildRequires: ninja BuildRequires: openldap2-devel #BuildRequires: krb5 #BuildRequires: krb5-devel BuildRequires: cunit-devel BuildRequires: python%{python3_pkgversion}-PrettyTable BuildRequires: python%{python3_pkgversion}-PyYAML BuildRequires: python%{python3_pkgversion}-Sphinx BuildRequires: rdma-core-devel BuildRequires: liblz4-devel >= 1.7 # for prometheus-alerts BuildRequires: golang-github-prometheus-prometheus BuildRequires: jsonnet %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} Requires: systemd BuildRequires: boost-random BuildRequires: nss-devel BuildRequires: keyutils-libs-devel BuildRequires: libatomic BuildRequires: libibverbs-devel BuildRequires: librdmacm-devel BuildRequires: ninja-build BuildRequires: openldap-devel #BuildRequires: krb5-devel BuildRequires: openssl-devel BuildRequires: CUnit-devel BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-prettytable BuildRequires: python%{python3_pkgversion}-pyyaml BuildRequires: python%{python3_pkgversion}-sphinx BuildRequires: lz4-devel >= 1.7 %endif # distro-conditional make check dependencies %if 0%{with make_check} BuildRequires: golang %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} BuildRequires: golang-github-prometheus BuildRequires: libtool-ltdl-devel BuildRequires: xmlsec1 BuildRequires: xmlsec1-devel %ifarch x86_64 BuildRequires: xmlsec1-nss %endif BuildRequires: xmlsec1-openssl BuildRequires: xmlsec1-openssl-devel 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 BuildRequires: python%{python3_pkgversion}-zstandard BuildRequires: python%{python3_pkgversion}-pyOpenSSL %endif %if 0%{?suse_version} BuildRequires: golang-github-prometheus-prometheus BuildRequires: jsonnet BuildRequires: libxmlsec1-1 BuildRequires: libxmlsec1-nss1 BuildRequires: libxmlsec1-openssl1 BuildRequires: python%{python3_pkgversion}-CherryPy BuildRequires: python%{python3_pkgversion}-Routes BuildRequires: python%{python3_pkgversion}-Werkzeug BuildRequires: python%{python3_pkgversion}-numpy-devel BuildRequires: xmlsec1-devel BuildRequires: xmlsec1-openssl-devel %endif %endif # lttng and babeltrace for rbd-replay-prep %if %{with lttng} %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} BuildRequires: lttng-ust-devel BuildRequires: libbabeltrace-devel %endif %if 0%{?suse_version} BuildRequires: lttng-ust-devel BuildRequires: babeltrace-devel %endif %endif %if 0%{?suse_version} BuildRequires: libexpat-devel %endif %if 0%{?rhel} || 0%{?fedora} || 0%{?openEuler} BuildRequires: expat-devel %endif #hardened-cc1 %if 0%{?fedora} || 0%{?rhel} BuildRequires: redhat-rpm-config %endif %if 0%{?openEuler} BuildRequires: openEuler-rpm-config %endif %if 0%{with seastar} %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} BuildRequires: cryptopp-devel BuildRequires: numactl-devel %endif %if 0%{?suse_version} BuildRequires: libcryptopp-devel BuildRequires: libnuma-devel %endif %endif %if 0%{?rhel} >= 8 BuildRequires: /usr/bin/pathfix.py %endif %description Ceph is a massively scalable, open-source, distributed storage system that runs on commodity hardware and delivers object, block and file system storage. ################################################################################# # subpackages ################################################################################# %package base Summary: Ceph Base Package %if 0%{?suse_version} Group: System/Filesystems %endif Provides: ceph-test:/usr/bin/ceph-kvstore-tool Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: librbd1 = %{_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} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif Requires: findutils Requires: grep Requires: logrotate Requires: psmisc Requires: util-linux Requires: which %if 0%{?rhel} && 0%{?rhel} < 8 # The following is necessary due to tracker 36508 and can be removed once the # associated upstream bugs are resolved. %if 0%{with tcmalloc} Requires: gperftools-libs >= 2.6.1 %endif %endif %if 0%{?weak_deps} Recommends: chrony Recommends: nvme-cli %if 0%{?suse_version} Requires: smartmontools %else Recommends: smartmontools %endif %endif %description base Base is the package that includes all the files shared amongst ceph servers %package -n cephadm Summary: Utility to bootstrap Ceph clusters BuildArch: noarch Requires: lvm2 Requires: python%{python3_pkgversion} Requires: openssh-server Requires: which %if 0%{?weak_deps} Recommends: podman >= 2.0.2 %endif %if 0%{with cephadm_bundling} %if 0%{without cephadm_pip_deps} BuildRequires: python3-jinja2 >= 2.10 %endif %else Requires: python3-jinja2 >= 2.10 %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 %if 0%{?suse_version} Group: System/Filesystems %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_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} || 0%{?openEuler} Requires: python%{python3_pkgversion}-prettytable %endif %if 0%{?suse_version} Requires: python%{python3_pkgversion}-PrettyTable %endif %if 0%{with libradosstriper} Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} %endif %{?systemd_requires} %if 0%{?suse_version} Requires(pre): pwdutils %endif %description -n ceph-common Common utilities to mount and interact with a ceph storage cluster. Comprised of files that are common to Ceph clients and servers. %package mds Summary: Ceph Metadata Server Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %description mds ceph-mds is the metadata server daemon for the Ceph distributed file system. One or more instances of ceph-mds collectively manage the file system namespace, coordinating access to the shared OSD cluster. %package mon Summary: Ceph Monitor Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Provides: ceph-test:/usr/bin/ceph-monstore-tool Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %description mon ceph-mon is the cluster monitor daemon for the Ceph distributed file system. One or more instances of ceph-mon form a Paxos part-time parliament cluster that provides extremely reliable and durable storage of cluster membership, configuration, and state. %package mon-client-nvmeof Summary: Ceph NVMeoF Gateway Monitor Client %if 0%{?suse_version} Group: System/Filesystems %endif Provides: ceph-test:/usr/bin/ceph-nvmeof-monitor-client Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description mon-client-nvmeof Ceph NVMeoF Gateway Monitor Client distributes Paxos ANA info to NVMeoF Gateway and provides beacons to the monitor daemo %package mgr Summary: Ceph Manager Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: ceph-mgr-modules-core = %{_epoch_prefix}%{version}-%{release} Requires: libcephsqlite = %{_epoch_prefix}%{version}-%{release} %if 0%{?weak_deps} Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release} Recommends: ceph-mgr-k8sevents = %{_epoch_prefix}%{version}-%{release} 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 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} Requires: ceph-grafana-dashboards = %{_epoch_prefix}%{version}-%{release} Requires: ceph-prometheus-alerts = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-setuptools %if 0%{?fedora} || 0%{?rhel} >= 9 Requires: python%{python3_pkgversion}-grpcio Requires: python%{python3_pkgversion}-grpcio-tools Requires: python%{python3_pkgversion}-jmespath Requires: python%{python3_pkgversion}-xmltodict %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} Requires: python%{python3_pkgversion}-cherrypy Requires: python%{python3_pkgversion}-routes Requires: python%{python3_pkgversion}-werkzeug %if 0%{?weak_deps} Recommends: python%{python3_pkgversion}-saml %if 0%{?fedora} || 0%{?rhel} <= 8 Recommends: python%{python3_pkgversion}-grpcio Recommends: python%{python3_pkgversion}-grpcio-tools %endif %endif %endif %if 0%{?suse_version} Requires: python%{python3_pkgversion}-CherryPy Requires: python%{python3_pkgversion}-Routes Requires: python%{python3_pkgversion}-Werkzeug Recommends: python%{python3_pkgversion}-python3-saml %endif %description mgr-dashboard ceph-mgr-dashboard is a manager module, providing a web-based application to monitor and manage many aspects of a Ceph cluster and related components. See the Dashboard documentation at http://docs.ceph.com/ for details and a detailed feature overview. %package mgr-diskprediction-local 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} Requires: python%{python3_pkgversion}-numpy %if 0%{?fedora} || 0%{?suse_version} || 0%{?openEuler} Requires: python%{python3_pkgversion}-scikit-learn %endif Requires: python3-scipy %description mgr-diskprediction-local ceph-mgr-diskprediction-local is a ceph-mgr module that tries to predict disk failures using local algorithms and machine-learning databases. %package mgr-modules-core Summary: Ceph Manager modules which are always enabled BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif 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 Requires: python%{python3_pkgversion}-setuptools %if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?openEuler} 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 # RHEL8 has python 3.6 and that lacks dataclasses in the stdlib, so pull in the # backport dataclasses module instead. %if 0%{?rhel} <= 8 Requires: python%{python3_pkgversion}-dataclasses %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 module for Rook-based orchestration %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-kubernetes Requires: python%{python3_pkgversion}-jsonpatch %description mgr-rook ceph-mgr-rook is a ceph-mgr module for orchestration functions using a Rook backend. %package mgr-k8sevents BuildArch: noarch 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%{python3_pkgversion}-kubernetes %description mgr-k8sevents ceph-mgr-k8sevents is a ceph-mgr module that sends every ceph-events to kubernetes' events API %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%{python3_pkgversion}-asyncssh Requires: python%{python3_pkgversion}-natsort Requires: cephadm = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires: openssh Requires: python%{python3_pkgversion}-CherryPy Requires: python%{python3_pkgversion}-Jinja2 %endif %if 0%{?rhel} || 0%{?fedora} || 0%{?openEuler} Requires: openssh-clients Requires: python%{python3_pkgversion}-cherrypy Requires: python%{python3_pkgversion}-jinja2 %endif %description mgr-cephadm ceph-mgr-cephadm is a ceph-mgr module for orchestration functions using the integrated cephadm deployment tool management operations. %package mgr-callhome Summary: Ceph Manager module for monitoring clusters in IBM environments BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-mgr = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-jwt Requires: python%{python3_pkgversion}-zstandard %description mgr-callhome ceph-mgr-callhome is a ceph.mgr module which sends data about the Ceph cluster to IBM systems like IBM Call Home or IBM storage Insights. %package fuse Summary: Ceph fuse-based client %if 0%{?suse_version} Group: System/Filesystems %endif Requires: fuse Requires: python%{python3_pkgversion} %description fuse FUSE based client for Ceph distributed network file system %package -n cephfs-mirror Summary: Ceph daemon for mirroring CephFS snapshots %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %description -n cephfs-mirror Daemon for mirroring CephFS snapshots between Ceph clusters. %package -n ceph-exporter Summary: Daemon for exposing perf counters as Prometheus metrics %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %description -n ceph-exporter Daemon for exposing perf counters as Prometheus metrics %package -n rbd-fuse Summary: Ceph fuse-based client %if 0%{?suse_version} Group: System/Filesystems %endif 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 %package -n rbd-mirror Summary: Ceph daemon for mirroring RBD images %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_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. %package immutable-object-cache Summary: Ceph daemon for immutable object cache %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description immutable-object-cache Daemon for immutable object cache. %package -n rbd-nbd Summary: Ceph RBD client base on NBD %if 0%{?suse_version} Group: System/Filesystems %endif 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 %package radosgw Summary: Rados REST gateway %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} %if 0%{with selinux} Requires: ceph-selinux = %{_epoch_prefix}%{version}-%{release} %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?rhel} || 0%{?fedora} || 0%{?openEuler} Requires: mailcap %endif %if 0%{?weak_deps} Recommends: gawk %endif %description radosgw RADOS is a distributed object store used by the Ceph distributed storage system. This package provides a REST gateway to the object store that aims to implement a superset of Amazon's S3 service as well as the OpenStack Object Storage ("Swift") API. %package -n cephfs-top Summary: top(1) like utility for Ceph Filesystem BuildArch: noarch Requires: python%{python3_pkgversion}-rados %description -n cephfs-top This package provides a top(1) like utility to display Ceph Filesystem metrics in realtime. %if %{with ocf} %package resource-agents Summary: OCF-compliant resource agents for Ceph daemons BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version} Requires: resource-agents %description resource-agents Resource agents for monitoring and managing Ceph daemons under Open Cluster Framework (OCF) compliant resource managers such as Pacemaker. %endif %package osd Summary: Ceph Object Storage Daemon %if 0%{?suse_version} Group: System/Filesystems %endif Provides: ceph-test:/usr/bin/ceph-osdomap-tool Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: sudo Requires: libstoragemgmt %if 0%{with seastar} Requires: protobuf %endif %if 0%{?weak_deps} Recommends: ceph-volume = %{_epoch_prefix}%{version}-%{release} %endif %description osd ceph-osd is the object storage daemon for the Ceph distributed file system. It is responsible for storing objects on a local file system and providing access to them over the network. %if 0%{with seastar} %package crimson-osd Summary: Ceph Object Storage Daemon (crimson) %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} Requires: binutils %description crimson-osd crimson-osd is the object storage daemon for the Ceph distributed file system. It is responsible for storing objects on a local file system and providing access to them over the network. %endif %package volume Summary: Ceph OSD deployment and inspection tool BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-osd = %{_epoch_prefix}%{version}-%{release} Requires: cryptsetup Requires: e2fsprogs Requires: lvm2 Requires: parted Requires: util-linux Requires: xfsprogs Requires: python%{python3_pkgversion}-setuptools Requires: python%{python3_pkgversion}-packaging Requires: python%{python3_pkgversion}-ceph-common = %{_epoch_prefix}%{version}-%{release} %description volume This package contains a tool to deploy OSD with different devices like lvm or physical disks, and trying to follow a predictable, and robust way of preparing, activating, and starting the deployed OSD. %package -n librados2 Summary: RADOS distributed object store client library %if 0%{?suse_version} Group: System/Libraries %endif %if 0%{?rhel} || 0%{?fedora} || 0%{?openEuler} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %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 store using a simple file-like interface. %package -n librados-devel Summary: RADOS headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-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 libradospp-devel Summary: RADOS headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif 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 that use RADOS object store. %package -n librgw2 Summary: RADOS gateway client library %if 0%{?suse_version} Group: System/Libraries %endif 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). %package -n librgw-devel Summary: RADOS gateway client library %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Provides: librgw2-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: librgw2-devel < %{_epoch_prefix}%{version}-%{release} %description -n librgw-devel This package contains libraries and headers needed to develop programs that use RADOS gateway client library. %package -n python%{python3_pkgversion}-rgw Summary: Python 3 libraries for the RADOS gateway %if 0%{?suse_version} Group: Development/Libraries/Python %endif Requires: librgw2 = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rgw} Provides: python-rgw = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rgw < %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-rgw This package contains Python 3 libraries for interacting with Ceph RADOS gateway. %package -n python%{python3_pkgversion}-rados Summary: Python 3 libraries for the RADOS object store %if 0%{?suse_version} Group: Development/Libraries/Python %endif Requires: python%{python3_pkgversion} Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rados} Provides: python-rados = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-rados This package contains Python 3 libraries for interacting with Ceph RADOS object store. %package -n libcephsqlite Summary: SQLite3 VFS for Ceph %if 0%{?suse_version} Group: System/Libraries %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %description -n libcephsqlite A SQLite3 VFS for storing and manipulating databases stored on Ceph's RADOS distributed object store. %package -n libcephsqlite-devel Summary: SQLite3 VFS for Ceph headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: sqlite-devel Requires: libcephsqlite = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libcephsqlite-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libcephsqlite-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephsqlite-devel A SQLite3 VFS for storing and manipulating databases stored on Ceph's RADOS distributed object store. %if 0%{with libradosstriper} %package -n libradosstriper1 Summary: RADOS striping interface %if 0%{?suse_version} Group: System/Libraries %endif 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 an interface very similar to the rados one. %package -n libradosstriper-devel Summary: RADOS striping interface headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: libradosstriper1 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libradosstriper1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libradosstriper1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libradosstriper-devel This package contains libraries and headers needed to develop programs that use RADOS striping interface. %endif %package -n librbd1 Summary: RADOS block device client library %if 0%{?suse_version} Group: System/Libraries %endif Requires: librados2 = %{_epoch_prefix}%{version}-%{release} %if 0%{?suse_version} Requires(post): coreutils %endif %if 0%{?rhel} || 0%{?fedora} || 0%{?openEuler} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} %endif %description -n librbd1 RBD is a block device striped across multiple distributed objects in RADOS, a reliable, autonomic distributed object storage cluster developed as part of the Ceph distributed storage system. This is a shared library allowing applications to manage these block devices. %package -n librbd-devel Summary: RADOS block device headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: librbd1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: librbd1-devel < %{_epoch_prefix}%{version}-%{release} %description -n librbd-devel This package contains libraries and headers needed to develop programs that use RADOS block device. %package -n python%{python3_pkgversion}-rbd Summary: Python 3 libraries for the RADOS block device %if 0%{?suse_version} Group: Development/Libraries/Python %endif Requires: librbd1 = %{_epoch_prefix}%{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{_epoch_prefix}%{version}-%{release} %{?python_provide:%python_provide python%{python3_pkgversion}-rbd} Provides: python-rbd = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-rbd < %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-rbd This package contains Python 3 libraries for interacting with Ceph RADOS block device. %package -n libcephfs2 Summary: Ceph distributed file system client library %if 0%{?suse_version} Group: System/Libraries %endif Obsoletes: libcephfs1 < %{_epoch_prefix}%{version}-%{release} %if 0%{?rhel} || 0%{?fedora} || 0%{?openEuler} Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-libcephfs %endif Recommends: libcephfs-proxy2 = %{_epoch_prefix}%{version}-%{release} %description -n libcephfs2 Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a POSIX-like interface. %package -n libcephfs-proxy2 Summary: Proxy for libcephfs %if 0%{?suse_version} Group: System/Libraries %endif Recommends: libcephfs-daemon = %{_epoch_prefix}%{version}-%{release} %description -n libcephfs-proxy2 This package contains the libcephfs_proxy.so library that allow applications to share cephfs mounts to reduce resource consumption. %package -n libcephfs-daemon Summary: Daemon for the libcephfs proxy %if 0%{?suse_version} Group: System/Filesystems %endif Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %description -n libcephfs-daemon This package contains the libcephfsd daemon that allows applications to share cephfs mounts to reduce resource consumption. %package -n libcephfs-devel Summary: Ceph distributed file system headers %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} Requires: libcephfs-proxy2 = %{_epoch_prefix}%{version}-%{release} Requires: librados-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libcephfs2-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libcephfs2-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs-devel This package contains libraries and headers needed to develop programs that use Ceph distributed file system. %package -n python%{python3_pkgversion}-cephfs Summary: Python 3 libraries for Ceph distributed file system %if 0%{?suse_version} Group: Development/Libraries/Python %endif 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} Provides: python-cephfs = %{_epoch_prefix}%{version}-%{release} Obsoletes: python-cephfs < %{_epoch_prefix}%{version}-%{release} %description -n python%{python3_pkgversion}-cephfs This package contains Python 3 libraries for interacting with Ceph distributed file system. %package -n python%{python3_pkgversion}-ceph-argparse Summary: Python 3 utility libraries for Ceph CLI %if 0%{?suse_version} Group: Development/Libraries/Python %endif %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-argparse} %description -n python%{python3_pkgversion}-ceph-argparse This package contains types and routines for Python 3 used by the Ceph CLI as well as the RESTful interface. These have to do with querying the daemons for command-description information, validating user command input against those descriptions, and submitting the command to the appropriate daemon. %package -n python%{python3_pkgversion}-ceph-common Summary: Python 3 utility libraries for Ceph %if 0%{?fedora} || 0%{?rhel} >= 8 || 0%{?openEuler} Requires: python%{python3_pkgversion}-pyyaml %endif %if 0%{?suse_version} Requires: python%{python3_pkgversion}-PyYAML %endif %if 0%{?suse_version} Group: Development/Libraries/Python %endif %{?python_provide:%python_provide python%{python3_pkgversion}-ceph-common} %description -n python%{python3_pkgversion}-ceph-common This package contains data structures, classes and functions used by Ceph. It also contains utilities used for the cephadm orchestrator. %if 0%{with cephfs_shell} %package -n cephfs-shell Summary: Interactive shell for Ceph file system Requires: python%{python3_pkgversion}-cmd2 Requires: python%{python3_pkgversion}-colorama Requires: python%{python3_pkgversion}-cephfs %description -n cephfs-shell This package contains an interactive tool that allows accessing a Ceph file system without mounting it by providing a nice pseudo-shell which works like an FTP client. %endif %if 0%{with ceph_test_package} %package -n ceph-test Summary: Ceph benchmarks and test tools %if 0%{?suse_version} Group: System/Benchmark %endif Requires: ceph-common = %{_epoch_prefix}%{version}-%{release} Requires: xmlstarlet Requires: jq Requires: socat %description -n ceph-test This package contains Ceph benchmarks and test tools. %endif %if 0%{with cephfs_java} %package -n libcephfs_jni1 Summary: Java Native Interface library for CephFS Java bindings %if 0%{?suse_version} Group: System/Libraries %endif Requires: java Requires: libcephfs2 = %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni1 This package contains the Java Native Interface library for CephFS Java bindings. %package -n libcephfs_jni-devel Summary: Development files for CephFS Java Native Interface library %if 0%{?suse_version} Group: Development/Libraries/Java %endif Requires: java Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release} Provides: libcephfs_jni1-devel = %{_epoch_prefix}%{version}-%{release} Obsoletes: libcephfs_jni1-devel < %{_epoch_prefix}%{version}-%{release} %description -n libcephfs_jni-devel This package contains the development files for CephFS Java Native Interface library. %package -n cephfs-java Summary: Java libraries for the Ceph File System %if 0%{?suse_version} Group: System/Libraries %endif Requires: java Requires: libcephfs_jni1 = %{_epoch_prefix}%{version}-%{release} Requires: junit BuildRequires: junit %description -n cephfs-java This package contains the Java libraries for the Ceph File System. %endif %package -n rados-objclass-devel Summary: RADOS object class development kit %if 0%{?suse_version} Group: Development/Libraries/C and C++ %endif Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release} %description -n rados-objclass-devel This package contains libraries and headers needed to develop RADOS object class plugins. %if 0%{with selinux} %package selinux Summary: SELinux support for Ceph MON, OSD and MDS %if 0%{?suse_version} Group: System/Filesystems %endif Requires: ceph-base = %{_epoch_prefix}%{version}-%{release} Requires: policycoreutils, libselinux-utils Requires(post): ceph-base = %{_epoch_prefix}%{version}-%{release} Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk Requires(postun): policycoreutils %description selinux This package contains SELinux support for Ceph MON, OSD and MDS. The package also performs file-system relabelling which can take a long time on heavily populated file-systems. %endif %package grafana-dashboards Summary: The set of Grafana dashboards for monitoring purposes BuildArch: noarch %if 0%{?suse_version} Group: System/Filesystems %endif %description grafana-dashboards This package provides a set of Grafana dashboards for monitoring of Ceph clusters. The dashboards require a Prometheus server setup collecting data from Ceph Manager "prometheus" module and Prometheus project "node_exporter" module. The dashboards are designed to be integrated with the Ceph Manager Dashboard web UI. %package prometheus-alerts Summary: Prometheus alerts for a Ceph deployment BuildArch: noarch Group: System/Monitoring %description prometheus-alerts This package provides Ceph default alerts for Prometheus. %package mib Summary: MIB for SNMP alerts BuildArch: noarch %if 0%{?suse_version} Group: System/Monitoring %endif %description mib This package provides a Ceph MIB for SNMP traps. %package node-proxy Summary: hw monitoring agent for Ceph BuildArch: noarch %if 0%{?suse_version} Group: System/Monitoring %endif %description node-proxy This package provides a Ceph hardware monitoring agent. ################################################################################# # common ################################################################################# %prep %autosetup -p1 # Apply the rdopkg-tar patches %autosetup -T -D -b 1 # Remove the old dashboard dist rm -rf src/pybind/mgr/dashboard/frontend/dist # Apply new dashboard dists %autosetup -T -D -a 2 %autosetup -T -D -a 3 %autosetup -T -D -a 4 # BLAKE3 %autosetup -T -D -a 5 # xxHash # submodule patches must be handled separately # https://github.com/redhat-openstack/rdopkg/issues/16 pushd src/s3select patch -p1 --fuzz=0 -i %{SOURCE6} popd # Rewrite .git_version file. echo %{commit} > src/.git_version echo %{version}-%{release} >> src/.git_version %build # Disable lto on systems that do not support symver attribute # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200 for details %if ( 0%{?rhel} && 0%{?rhel} < 9 ) || ( 0%{?suse_version} && 0%{?suse_version} <= 1500 ) %define _lto_cflags %{nil} %endif %if 0%{with cephfs_java} # Find jni.h for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do [ -d $i ] && java_inc="$java_inc -I$i" done %endif %if 0%{?suse_version} %limit_build -m 3000 %endif export CPPFLAGS="$java_inc" export CFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS" export LDFLAGS="$RPM_LD_FLAGS" %if 0%{with seastar} # seastar uses longjmp() to implement coroutine. and this annoys longjmp_chk() export CXXFLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g') # remove from CFLAGS too because it causes the arrow submodule to fail with: # warning _FORTIFY_SOURCE requires compiling with optimization (-O) export CFLAGS=$(echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//g') %endif env | sort %{?!_vpath_builddir:%global _vpath_builddir %{_target_platform}} # TODO: drop this step once we can use `cmake -B` mkdir -p %{_vpath_builddir} pushd %{_vpath_builddir} cmake .. \ %if 0%{?suse_version} == 1500 -DCMAKE_C_COMPILER=gcc-11 \ -DCMAKE_CXX_COMPILER=g++-11 \ %endif -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \ -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ -DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \ -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/ceph \ -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \ -DSYSTEMD_SYSTEM_UNIT_DIR:PATH=%{_unitdir} \ -DWITH_MANPAGE:BOOL=ON \ -DWITH_PYTHON3:STRING=%{python3_version} \ -DWITH_MGR_DASHBOARD_FRONTEND:BOOL=OFF \ %if 0%{?suse_version} -DWITH_RADOSGW_SELECT_PARQUET:BOOL=OFF \ %endif %if 0%{without ceph_test_package} -DWITH_TESTS:BOOL=OFF \ %endif %if 0%{with cephfs_java} -DJAVA_HOME=%{java_home} \ -DJAVA_LIB_INSTALL_DIR=%{_jnidir} \ -DWITH_CEPHFS_JAVA:BOOL=ON \ %endif %if 0%{with selinux} -DWITH_SELINUX:BOOL=ON \ %endif %if %{with lttng} -DWITH_LTTNG:BOOL=ON \ -DWITH_BABELTRACE:BOOL=ON \ %else -DWITH_LTTNG:BOOL=OFF \ -DWITH_BABELTRACE:BOOL=OFF \ %endif $CEPH_EXTRA_CMAKE_ARGS \ %if 0%{with ocf} -DWITH_OCF:BOOL=ON \ %endif %if 0%{with cephfs_shell} -DWITH_CEPHFS_SHELL:BOOL=ON \ %endif %if 0%{with libradosstriper} -DWITH_LIBRADOSSTRIPER:BOOL=ON \ %else -DWITH_LIBRADOSSTRIPER:BOOL=OFF \ %endif %if 0%{with amqp_endpoint} -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=ON \ %else -DWITH_RADOSGW_AMQP_ENDPOINT:BOOL=OFF \ %endif %if 0%{with kafka_endpoint} -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=ON \ %else -DWITH_RADOSGW_KAFKA_ENDPOINT:BOOL=OFF \ %endif %if 0%{without lua_packages} -DWITH_RADOSGW_LUA_PACKAGES:BOOL=OFF \ %endif %if 0%{with cmake_verbose_logging} -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \ %endif %if 0%{with rbd_rwl_cache} -DWITH_RBD_RWL:BOOL=ON \ %endif %if 0%{with rbd_ssd_cache} -DWITH_RBD_SSD_CACHE:BOOL=ON \ %endif %if 0%{with system_pmdk} -DWITH_SYSTEM_PMDK:BOOL=ON \ %endif %if 0%{without jaeger} -DWITH_JAEGER:BOOL=OFF \ %endif %if 0%{?suse_version} -DBOOST_J:STRING=%{jobs} \ %else -DBOOST_J:STRING=%{_smp_build_ncpus} \ %endif %if 0%{?rhel} -DWITH_FMT_HEADER_ONLY:BOOL=ON \ %endif %if 0%{with system_arrow} -DWITH_SYSTEM_ARROW:BOOL=ON \ -DWITH_SYSTEM_UTF8PROC:BOOL=ON \ %endif %if 0%{with system_qat} -DWITH_SYSTEM_QATLIB:BOOL=ON \ -DWITH_SYSTEM_QATZIP:BOOL=ON \ %endif %if 0%{with seastar} -DWITH_SEASTAR:BOOL=ON \ -DWITH_JAEGER:BOOL=OFF \ %endif -DWITH_GRAFANA:BOOL=ON \ %if 0%{with cephadm_bundling} %if 0%{with cephadm_pip_deps} -DCEPHADM_BUNDLED_DEPENDENCIES=pip %else -DCEPHADM_BUNDLED_DEPENDENCIES=rpm %endif %else -DCEPHADM_BUNDLED_DEPENDENCIES=none %endif %if %{with cmake_verbose_logging} cat ./CMakeFiles/CMakeOutput.log cat ./CMakeFiles/CMakeError.log %endif %if 0%{?suse_version} make %{_smp_mflags} %else %make_build %endif popd %if 0%{with make_check} %check # run in-tree unittests pushd %{_vpath_builddir} ctest %{_smp_mflags} popd %endif %install pushd %{_vpath_builddir} %make_install # we have dropped sysvinit bits rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph popd %if 0%{with seastar} # package crimson-osd with the name of ceph-osd install -m 0755 %{buildroot}%{_bindir}/crimson-osd %{buildroot}%{_bindir}/ceph-osd %endif install -m 0644 -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph %endif %if 0%{?suse_version} install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_fillupdir}/sysconfig.%{name} %endif install -m 0644 -D systemd/ceph.tmpfiles.d %{buildroot}%{_tmpfilesdir}/ceph-common.conf install -m 0644 -D systemd/50-ceph.preset %{buildroot}%{_presetdir}/50-ceph.preset mkdir -p %{buildroot}%{_sbindir} install -m 0644 -D src/logrotate.conf %{buildroot}%{_sysconfdir}/logrotate.d/ceph 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 -D src/tools/rbd_nbd/rbd-nbd_quiesce %{buildroot}%{_libexecdir}/rbd-nbd/rbd-nbd_quiesce 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} && 0%{?suse_version} < 1550 mkdir -p %{buildroot}/sbin ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph %endif # udev rules install -m 0644 -D udev/50-rbd.rules %{buildroot}%{_udevrulesdir}/50-rbd.rules # sudoers.d install -m 0440 -D sudoers.d/ceph-smartctl %{buildroot}%{_sysconfdir}/sudoers.d/ceph-smartctl %if 0%{?rhel} >= 8 || 0%{?openEuler} pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_bindir}/* pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{_sbindir}/* %endif #set up placeholder directories mkdir -p %{buildroot}%{_sysconfdir}/ceph mkdir -p %{buildroot}%{_localstatedir}/run/ceph mkdir -p %{buildroot}%{_localstatedir}/log/ceph mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/tmp mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/crash mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/crash/posted mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mgr mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-rbd-mirror # prometheus alerts install -m 644 -D monitoring/ceph-mixin/prometheus_alerts.yml %{buildroot}/etc/prometheus/ceph/ceph_default_alerts.yml # grafana charts install -m 644 -D monitoring/ceph-mixin/dashboards_out/* %{buildroot}/etc/grafana/dashboards/ceph-dashboard/ # SNMP MIB install -m 644 -D -t %{buildroot}%{_datadir}/snmp/mibs monitoring/snmp/CEPH-MIB.txt %if 0%{?suse_version} # create __pycache__ directories and their contents %py3_compile %{buildroot}%{python3_sitelib} # hardlink duplicate files under /usr to save space %fdupes %{buildroot}%{_prefix} %endif %if 0%{?rhel} == 8 || 0%{?openEuler} %py_byte_compile %{__python3} %{buildroot}%{python3_sitelib} %endif %clean rm -rf %{buildroot} # built binaries are no longer necessary at this point, # but are consuming ~17GB of disk in the build environment rm -rf %{_vpath_builddir} ################################################################################# # files and systemd scriptlets ################################################################################# %files %files base %{_bindir}/ceph-crash %{_bindir}/crushtool %{_bindir}/monmaptool %{_bindir}/osdmaptool %{_bindir}/ceph-kvstore-tool %{_bindir}/ceph-run %{_presetdir}/50-ceph.preset %{_sbindir}/ceph-create-keys %dir %{_libexecdir}/ceph %{_libexecdir}/ceph/ceph_common.sh %dir %{_libdir}/rados-classes %{_libdir}/rados-classes/* %dir %{_libdir}/ceph %dir %{_libdir}/ceph/erasure-code %{_libdir}/ceph/erasure-code/libec_*.so* %dir %{_libdir}/ceph/extblkdev %{_libdir}/ceph/extblkdev/libceph_*.so* %dir %{_libdir}/ceph/compressor %{_libdir}/ceph/compressor/libceph_*.so* %{_unitdir}/ceph-crash.service %dir %{_libdir}/ceph/crypto %{_libdir}/ceph/crypto/libceph_*.so* %if %{with lttng} %{_libdir}/libos_tp.so* %{_libdir}/libosd_tp.so* %{_libdir}/libmgr_op_tp.so* %endif %config(noreplace) %{_sysconfdir}/logrotate.d/ceph %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %config(noreplace) %{_sysconfdir}/sysconfig/ceph %endif %if 0%{?suse_version} %{_fillupdir}/sysconfig.* %endif %{_unitdir}/ceph.target %{_mandir}/man8/ceph-create-keys.8* %{_mandir}/man8/ceph-run.8* %{_mandir}/man8/crushtool.8* %{_mandir}/man8/osdmaptool.8* %{_mandir}/man8/monmaptool.8* %{_mandir}/man8/ceph-kvstore-tool.8* #set up placeholder directories %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/crash %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/crash/posted %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/tmp %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-osd %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mds %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rgw %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-mgr %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rbd %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/bootstrap-rbd-mirror %{_sysconfdir}/sudoers.d/ceph-smartctl %post base /sbin/ldconfig %if 0%{?suse_version} %fillup_only if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph.target ceph-crash.service >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph.target ceph-crash.service %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph.target ceph-crash.service >/dev/null 2>&1 || : fi %preun base %if 0%{?suse_version} %service_del_preun ceph.target ceph-crash.service %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph.target ceph-crash.service %endif %postun base /sbin/ldconfig %systemd_postun ceph.target %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 [ $1 -ne 0 ] || userdel cephadm || : %endif %files -n cephadm %{_sbindir}/cephadm %{_mandir}/man8/cephadm.8* %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh %config(noreplace) %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys %files common %dir %{_docdir}/ceph %doc %{_docdir}/ceph/sample.ceph.conf %license %{_docdir}/ceph/COPYING %{_bindir}/ceph %{_bindir}/ceph-authtool %{_bindir}/ceph-conf %{_bindir}/ceph-dencoder %{_bindir}/ceph-diff-sorted %{_bindir}/ceph-rbdnamer %{_bindir}/ceph-syn %{_bindir}/cephfs-data-scan %{_bindir}/cephfs-journal-tool %{_bindir}/cephfs-table-tool %{_bindir}/crushdiff %{_bindir}/rados %{_bindir}/radosgw-admin %{_bindir}/rbd %{_bindir}/rbd-replay %{_bindir}/rbd-replay-many %{_bindir}/rbdmap %{_bindir}/rgw-gap-list %{_bindir}/rgw-gap-list-comparator %{_bindir}/rgw-orphan-list %{_bindir}/rgw-restore-bucket-index %{_sbindir}/mount.ceph %if 0%{?suse_version} && 0%{?suse_version} < 1550 /sbin/mount.ceph %endif %if %{with lttng} %{_bindir}/rbd-replay-prep %endif %{_bindir}/ceph-post-file %dir %{_libdir}/ceph/denc %{_libdir}/ceph/denc/denc-mod-*.so %{_tmpfilesdir}/ceph-common.conf %{_mandir}/man8/ceph-authtool.8* %{_mandir}/man8/ceph-conf.8* %{_mandir}/man8/ceph-dencoder.8* %{_mandir}/man8/ceph-diff-sorted.8* %{_mandir}/man8/ceph-rbdnamer.8* %{_mandir}/man8/ceph-syn.8* %{_mandir}/man8/ceph-post-file.8* %{_mandir}/man8/ceph.8* %{_mandir}/man8/crushdiff.8* %{_mandir}/man8/mount.ceph.8* %{_mandir}/man8/rados.8* %{_mandir}/man8/radosgw-admin.8* %{_mandir}/man8/rbd.8* %{_mandir}/man8/rbdmap.8* %{_mandir}/man8/rbd-replay.8* %{_mandir}/man8/rbd-replay-many.8* %{_mandir}/man8/rbd-replay-prep.8* %{_mandir}/man8/rgw-orphan-list.8* %{_mandir}/man8/rgw-restore-bucket-index.8* %dir %{_datadir}/ceph/ %{_datadir}/ceph/known_hosts_drop.ceph.com %{_datadir}/ceph/id_rsa_drop.ceph.com %{_datadir}/ceph/id_rsa_drop.ceph.com.pub %dir %{_sysconfdir}/ceph/ %config %{_sysconfdir}/bash_completion.d/ceph %config %{_sysconfdir}/bash_completion.d/rados %config %{_sysconfdir}/bash_completion.d/rbd %config %{_sysconfdir}/bash_completion.d/radosgw-admin %config(noreplace) %{_sysconfdir}/ceph/rbdmap %{_unitdir}/rbdmap.service %dir %{_udevrulesdir} %{_udevrulesdir}/50-rbd.rules %attr(3770,ceph,ceph) %dir %{_localstatedir}/log/ceph/ %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/ %pre common CEPH_GROUP_ID=167 CEPH_USER_ID=167 %if 0%{?rhel} || 0%{?fedora} || 0%{?openEuler} /usr/sbin/groupadd ceph -g $CEPH_GROUP_ID -o -r 2>/dev/null || : /usr/sbin/useradd ceph -u $CEPH_USER_ID -o -r -g ceph -s /sbin/nologin -c "Ceph daemons" -d %{_localstatedir}/lib/ceph 2>/dev/null || : %endif %if 0%{?suse_version} if ! getent group ceph >/dev/null ; then CEPH_GROUP_ID_OPTION="" getent group $CEPH_GROUP_ID >/dev/null || CEPH_GROUP_ID_OPTION="-g $CEPH_GROUP_ID" groupadd ceph $CEPH_GROUP_ID_OPTION -r 2>/dev/null || : fi if ! getent passwd ceph >/dev/null ; then CEPH_USER_ID_OPTION="" getent passwd $CEPH_USER_ID >/dev/null || CEPH_USER_ID_OPTION="-u $CEPH_USER_ID" useradd ceph $CEPH_USER_ID_OPTION -r -g ceph -s /sbin/nologin 2>/dev/null || : fi usermod -c "Ceph storage service" \ -d %{_localstatedir}/lib/ceph \ -g ceph \ -s /sbin/nologin \ ceph %endif exit 0 %post common %tmpfiles_create %{_tmpfilesdir}/ceph-common.conf %files mds %{_bindir}/ceph-mds %{_mandir}/man8/ceph-mds.8* %{_unitdir}/ceph-mds@.service %{_unitdir}/ceph-mds.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mds %post mds %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mds@\*.service ceph-mds.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph-mds@\*.service ceph-mds.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mds.target >/dev/null 2>&1 || : fi %preun mds %if 0%{?suse_version} %service_del_preun ceph-mds@\*.service ceph-mds.target %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph-mds@\*.service ceph-mds.target %endif %postun mds %systemd_postun ceph-mds@\*.service ceph-mds.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mds@\*.service > /dev/null 2>&1 || : fi fi %files mgr %{_bindir}/ceph-mgr %dir %{_datadir}/ceph/mgr %{_datadir}/ceph/mgr/mgr_module.* %{_datadir}/ceph/mgr/mgr_util.* %{_datadir}/ceph/mgr/object_format.* %{_unitdir}/ceph-mgr@.service %{_unitdir}/ceph-mgr.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr %post mgr %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mgr@\*.service ceph-mgr.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph-mgr@\*.service ceph-mgr.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mgr.target >/dev/null 2>&1 || : fi %preun mgr %if 0%{?suse_version} %service_del_preun ceph-mgr@\*.service ceph-mgr.target %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph-mgr@\*.service ceph-mgr.target %endif %postun mgr %systemd_postun ceph-mgr@\*.service ceph-mgr.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mgr@\*.service > /dev/null 2>&1 || : 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-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/mds_autoscaler %{_datadir}/ceph/mgr/mirroring %{_datadir}/ceph/mgr/nfs %{_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/rgw %{_datadir}/ceph/mgr/selftest %{_datadir}/ceph/mgr/smb %{_datadir}/ceph/mgr/snap_schedule %{_datadir}/ceph/mgr/stats %{_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 %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-k8sevents %{_datadir}/ceph/mgr/k8sevents %post mgr-k8sevents if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi %postun mgr-k8sevents if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi %files mgr-cephadm %{_datadir}/ceph/mgr/cephadm %post mgr-cephadm if [ $1 -eq 1 ] ; then /usr/bin/systemctl try-restart ceph-mgr.target >/dev/null 2>&1 || : fi %postun mgr-cephadm 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 %{_mandir}/man8/ceph-mon.8* %{_unitdir}/ceph-mon@.service %{_unitdir}/ceph-mon.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mon %post mon %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-mon@\*.service ceph-mon.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph-mon@\*.service ceph-mon.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-mon.target >/dev/null 2>&1 || : fi %preun mon %if 0%{?suse_version} %service_del_preun ceph-mon@\*.service ceph-mon.target %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph-mon@\*.service ceph-mon.target %endif %postun mon %systemd_postun ceph-mon@\*.service ceph-mon.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-mon@\*.service > /dev/null 2>&1 || : fi fi %files mon-client-nvmeof %{_bindir}/ceph-nvmeof-monitor-client %files fuse %{_bindir}/ceph-fuse %{_mandir}/man8/ceph-fuse.8* %{_sbindir}/mount.fuse.ceph %{_mandir}/man8/mount.fuse.ceph.8* %{_unitdir}/ceph-fuse@.service %{_unitdir}/ceph-fuse.target %files -n cephfs-mirror %{_bindir}/cephfs-mirror %{_mandir}/man8/cephfs-mirror.8* %{_unitdir}/cephfs-mirror@.service %{_unitdir}/cephfs-mirror.target %post -n cephfs-mirror %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset cephfs-mirror@\*.service cephfs-mirror.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post cephfs-mirror@\*.service cephfs-mirror.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start cephfs-mirror.target >/dev/null 2>&1 || : fi %preun -n cephfs-mirror %if 0%{?suse_version} %service_del_preun cephfs-mirror@\*.service cephfs-mirror.target %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun cephfs-mirror@\*.service cephfs-mirror.target %endif %postun -n cephfs-mirror %systemd_postun cephfs-mirror@\*.service cephfs-mirror.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart cephfs-mirror@\*.service > /dev/null 2>&1 || : fi fi %files -n ceph-exporter %{_bindir}/ceph-exporter %files -n rbd-fuse %{_bindir}/rbd-fuse %{_mandir}/man8/rbd-fuse.8* %files -n rbd-mirror %{_bindir}/rbd-mirror %{_mandir}/man8/rbd-mirror.8* %{_unitdir}/ceph-rbd-mirror@.service %{_unitdir}/ceph-rbd-mirror.target %post -n rbd-mirror %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-rbd-mirror@\*.service ceph-rbd-mirror.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-rbd-mirror.target >/dev/null 2>&1 || : fi %preun -n rbd-mirror %if 0%{?suse_version} %service_del_preun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target %endif %postun -n rbd-mirror %systemd_postun ceph-rbd-mirror@\*.service ceph-rbd-mirror.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-rbd-mirror@\*.service > /dev/null 2>&1 || : fi fi %files immutable-object-cache %{_bindir}/ceph-immutable-object-cache %{_mandir}/man8/ceph-immutable-object-cache.8* %{_unitdir}/ceph-immutable-object-cache@.service %{_unitdir}/ceph-immutable-object-cache.target %post immutable-object-cache %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-immutable-object-cache.target >/dev/null 2>&1 || : fi %preun immutable-object-cache %if 0%{?suse_version} %service_del_preun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target %endif %postun immutable-object-cache %systemd_postun ceph-immutable-object-cache@\*.service ceph-immutable-object-cache.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-immutable-object-cache@\*.service > /dev/null 2>&1 || : fi fi %files -n rbd-nbd %{_bindir}/rbd-nbd %{_mandir}/man8/rbd-nbd.8* %dir %{_libexecdir}/rbd-nbd %{_libexecdir}/rbd-nbd/rbd-nbd_quiesce %files radosgw %{_bindir}/ceph-diff-sorted %{_bindir}/radosgw %{_bindir}/radosgw-token %{_bindir}/radosgw-es %{_bindir}/radosgw-object-expirer %{_bindir}/rgw-gap-list %{_bindir}/rgw-gap-list-comparator %{_bindir}/rgw-orphan-list %{_bindir}/rgw-policy-check %{_bindir}/rgw-restore-bucket-index %{_mandir}/man8/radosgw.8* %{_mandir}/man8/rgw-policy-check.8* %dir %{_localstatedir}/lib/ceph/radosgw %{_unitdir}/ceph-radosgw@.service %{_unitdir}/ceph-radosgw.target %post radosgw %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-radosgw@\*.service ceph-radosgw.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph-radosgw@\*.service ceph-radosgw.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-radosgw.target >/dev/null 2>&1 || : fi %preun radosgw %if 0%{?suse_version} %service_del_preun ceph-radosgw@\*.service ceph-radosgw.target %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph-radosgw@\*.service ceph-radosgw.target %endif %postun radosgw %systemd_postun ceph-radosgw@\*.service ceph-radosgw.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-radosgw@\*.service > /dev/null 2>&1 || : fi fi %files osd %{_bindir}/ceph-clsinfo %{_bindir}/ceph-bluestore-tool %{_bindir}/ceph-erasure-code-tool %{_bindir}/ceph-objectstore-tool %{_bindir}/ceph-osdomap-tool %{_bindir}/ceph-osd %{_libexecdir}/ceph/ceph-osd-prestart.sh %{_mandir}/man8/ceph-clsinfo.8* %{_mandir}/man8/ceph-osd.8* %{_mandir}/man8/ceph-bluestore-tool.8* %{_unitdir}/ceph-osd@.service %{_unitdir}/ceph-osd.target %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/osd %config(noreplace) %{_sysctldir}/90-ceph-osd.conf %post osd %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-osd@\*.service ceph-osd.target >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph-osd@\*.service ceph-osd.target %endif if [ $1 -eq 1 ] ; then /usr/bin/systemctl start ceph-osd.target >/dev/null 2>&1 || : fi %if 0%{?sysctl_apply} %sysctl_apply 90-ceph-osd.conf %else /usr/lib/systemd/systemd-sysctl %{_sysctldir}/90-ceph-osd.conf > /dev/null 2>&1 || : %endif %preun osd %if 0%{?suse_version} %service_del_preun ceph-osd@\*.service ceph-osd.target %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph-osd@\*.service ceph-osd.target %endif %postun osd %systemd_postun ceph-osd@\*.service ceph-volume@\*.service ceph-osd.target if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-osd@\*.service ceph-volume@\*.service > /dev/null 2>&1 || : fi fi %if 0%{with seastar} %files crimson-osd %{_bindir}/crimson-osd %endif %files volume %{_sbindir}/ceph-volume %{_sbindir}/ceph-volume-systemd %dir %{python3_sitelib}/ceph_volume %{python3_sitelib}/ceph_volume/* %{python3_sitelib}/ceph_volume-* %{_mandir}/man8/ceph-volume.8* %{_mandir}/man8/ceph-volume-systemd.8* %{_unitdir}/ceph-volume@.service %post volume %if 0%{?suse_version} if [ $1 -eq 1 ] ; then /usr/bin/systemctl preset ceph-volume@\*.service >/dev/null 2>&1 || : fi %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_post ceph-volume@\*.service %endif %preun volume %if 0%{?suse_version} %service_del_preun ceph-volume@\*.service %endif %if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler} %systemd_preun ceph-volume@\*.service %endif %postun volume %systemd_postun ceph-volume@\*.service if [ $1 -ge 1 ] ; then # Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to # "yes". In any case: if units are not running, do not touch them. SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl try-restart ceph-volume@\*.service > /dev/null 2>&1 || : fi fi %if %{with ocf} %files resource-agents %dir %{_prefix}/lib/ocf %dir %{_prefix}/lib/ocf/resource.d %dir %{_prefix}/lib/ocf/resource.d/ceph %attr(0755,-,-) %{_prefix}/lib/ocf/resource.d/ceph/rbd %endif %files -n librados2 %{_libdir}/librados.so.* %dir %{_libdir}/ceph %{_libdir}/ceph/libceph-common.so.* %if %{with lttng} %{_libdir}/librados_tp.so.* %endif %dir %{_sysconfdir}/ceph %post -n librados2 -p /sbin/ldconfig %postun -n librados2 -p /sbin/ldconfig %files -n librados-devel %dir %{_includedir}/rados %{_includedir}/rados/librados.h %{_includedir}/rados/rados_types.h %{_libdir}/librados.so %if %{with lttng} %{_libdir}/librados_tp.so %endif %{_bindir}/librados-config %{_mandir}/man8/librados-config.8* %files -n libradospp-devel %dir %{_includedir}/rados %{_includedir}/rados/buffer.h %{_includedir}/rados/buffer_fwd.h %{_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 %files -n python%{python3_pkgversion}-rados %{python3_sitearch}/rados.cpython*.so %{python3_sitearch}/rados-*.egg-info %files -n libcephsqlite %{_libdir}/libcephsqlite.so %post -n libcephsqlite -p /sbin/ldconfig %postun -n libcephsqlite -p /sbin/ldconfig %files -n libcephsqlite-devel %{_includedir}/libcephsqlite.h %if 0%{with libradosstriper} %files -n libradosstriper1 %{_libdir}/libradosstriper.so.* %post -n libradosstriper1 -p /sbin/ldconfig %postun -n libradosstriper1 -p /sbin/ldconfig %files -n libradosstriper-devel %dir %{_includedir}/radosstriper %{_includedir}/radosstriper/libradosstriper.h %{_includedir}/radosstriper/libradosstriper.hpp %{_libdir}/libradosstriper.so %endif %files -n librbd1 %{_libdir}/librbd.so.* %if %{with lttng} %{_libdir}/librbd_tp.so.* %endif %dir %{_libdir}/ceph/librbd %{_libdir}/ceph/librbd/libceph_*.so* %post -n librbd1 -p /sbin/ldconfig %postun -n librbd1 -p /sbin/ldconfig %files -n librbd-devel %dir %{_includedir}/rbd %{_includedir}/rbd/librbd.h %{_includedir}/rbd/librbd.hpp %{_includedir}/rbd/features.h %{_libdir}/librbd.so %if %{with lttng} %{_libdir}/librbd_tp.so %endif %files -n librgw2 %{_libdir}/librgw.so.* %if %{with lttng} %{_libdir}/librgw_op_tp.so.* %{_libdir}/librgw_rados_tp.so.* %endif %post -n librgw2 -p /sbin/ldconfig %postun -n librgw2 -p /sbin/ldconfig %files -n librgw-devel %dir %{_includedir}/rados %{_includedir}/rados/librgw.h %{_includedir}/rados/rgw_file.h %{_libdir}/librgw.so %if %{with lttng} %{_libdir}/librgw_op_tp.so %{_libdir}/librgw_rados_tp.so %endif %files -n python%{python3_pkgversion}-rgw %{python3_sitearch}/rgw.cpython*.so %{python3_sitearch}/rgw-*.egg-info %files -n python%{python3_pkgversion}-rbd %{python3_sitearch}/rbd.cpython*.so %{python3_sitearch}/rbd-*.egg-info %files -n libcephfs2 %{_libdir}/libcephfs.so.* %dir %{_sysconfdir}/ceph %post -n libcephfs2 -p /sbin/ldconfig %postun -n libcephfs2 -p /sbin/ldconfig %files -n libcephfs-proxy2 %{_libdir}/libcephfs_proxy.so.* %post -n libcephfs-proxy2 -p /sbin/ldconfig %postun -n libcephfs-proxy2 -p /sbin/ldconfig %files -n libcephfs-daemon %{_sbindir}/libcephfsd %files -n libcephfs-devel %dir %{_includedir}/cephfs %{_includedir}/cephfs/libcephfs.h %{_includedir}/cephfs/ceph_ll_client.h %{_includedir}/cephfs/types.h %dir %{_includedir}/cephfs/metrics %{_includedir}/cephfs/metrics/Types.h %{_libdir}/libcephfs.so %{_libdir}/libcephfs_proxy.so %files -n python%{python3_pkgversion}-cephfs %{python3_sitearch}/cephfs.cpython*.so %{python3_sitearch}/cephfs-*.egg-info %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* %files -n python%{python3_pkgversion}-ceph-common %{python3_sitelib}/ceph %{python3_sitelib}/ceph-*.egg-info %if 0%{with cephfs_shell} %files -n cephfs-shell %{python3_sitelib}/cephfs_shell-*.egg-info %{_bindir}/cephfs-shell %{_mandir}/man8/cephfs-shell.8* %endif %files -n cephfs-top %{python3_sitelib}/cephfs_top-*.egg-info %{_bindir}/cephfs-top %{_mandir}/man8/cephfs-top.8* %if 0%{with ceph_test_package} %files -n ceph-test %{_bindir}/ceph-client-debug %{_bindir}/ceph_bench_log %{_bindir}/ceph_multi_stress_watch %{_bindir}/ceph_erasure_code_benchmark %{_bindir}/ceph_omapbench %{_bindir}/ceph_objectstore_bench %{_bindir}/ceph_perf_objectstore %{_bindir}/ceph_perf_local %{_bindir}/ceph_perf_msgr_client %{_bindir}/ceph_perf_msgr_server %{_bindir}/ceph_psim %{_bindir}/ceph_radosacl %{_bindir}/ceph_rgw_jsonparser %{_bindir}/ceph_rgw_multiparser %{_bindir}/ceph_scratchtool %{_bindir}/ceph_scratchtoolpp %{_bindir}/ceph_test_* %{_bindir}/ceph-coverage %{_bindir}/ceph-debugpack %{_bindir}/ceph-dedup-tool %if 0%{with seastar} %{_bindir}/crimson-store-nbd %endif %{_mandir}/man8/ceph-debugpack.8* %dir %{_libdir}/ceph %{_libdir}/ceph/ceph-monstore-update-crush.sh %endif %if 0%{with cephfs_java} %files -n libcephfs_jni1 %{_libdir}/libcephfs_jni.so.* %post -n libcephfs_jni1 -p /sbin/ldconfig %postun -n libcephfs_jni1 -p /sbin/ldconfig %files -n libcephfs_jni-devel %{_libdir}/libcephfs_jni.so %files -n cephfs-java %{_javadir}/libcephfs.jar %{_javadir}/libcephfs-test.jar %endif %files -n rados-objclass-devel %dir %{_includedir}/rados %{_includedir}/rados/objclass.h %if 0%{with selinux} %files selinux %attr(0600,root,root) %{_datadir}/selinux/packages/ceph.pp %{_datadir}/selinux/devel/include/contrib/ceph.if %{_mandir}/man8/ceph_selinux.8* %post selinux # backup file_contexts before update . /etc/selinux/config FILE_CONTEXT=/etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts cp ${FILE_CONTEXT} ${FILE_CONTEXT}.pre # Install the policy /usr/sbin/semodule -i %{_datadir}/selinux/packages/ceph.pp # Load the policy if SELinux is enabled if ! /usr/sbin/selinuxenabled; then # Do not relabel if selinux is not enabled exit 0 fi if diff ${FILE_CONTEXT} ${FILE_CONTEXT}.pre > /dev/null 2>&1; then # Do not relabel if file contexts did not change exit 0 fi # Stop ceph.target while relabeling if CEPH_AUTO_RESTART_ON_UPGRADE=yes SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi # Check whether the daemons are running /usr/bin/systemctl status ceph.target > /dev/null 2>&1 STATUS=$? # Stop the daemons if they were running if test $STATUS -eq 0; then if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 fi fi # Relabel the files fix for first package install /usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null rm -f ${FILE_CONTEXT}.pre # The fixfiles command won't fix label for /var/run/ceph /usr/sbin/restorecon -R /var/run/ceph > /dev/null 2>&1 # Start the daemons iff they were running before if test $STATUS -eq 0; then if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl start ceph.target > /dev/null 2>&1 || : fi fi exit 0 %postun selinux if [ $1 -eq 0 ]; then # backup file_contexts before update . /etc/selinux/config FILE_CONTEXT=/etc/selinux/${SELINUXTYPE}/contexts/files/file_contexts cp ${FILE_CONTEXT} ${FILE_CONTEXT}.pre # Remove the module /usr/sbin/semodule -n -r ceph > /dev/null 2>&1 # Reload the policy if SELinux is enabled if ! /usr/sbin/selinuxenabled ; then # Do not relabel if SELinux is not enabled exit 0 fi # Stop ceph.target while relabeling if CEPH_AUTO_RESTART_ON_UPGRADE=yes SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then source $SYSCONF_CEPH fi # Check whether the daemons are running /usr/bin/systemctl status ceph.target > /dev/null 2>&1 STATUS=$? # Stop the daemons if they were running if test $STATUS -eq 0; then if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl stop ceph.target > /dev/null 2>&1 fi fi /usr/sbin/fixfiles -C ${FILE_CONTEXT}.pre restore 2> /dev/null rm -f ${FILE_CONTEXT}.pre # The fixfiles command won't fix label for /var/run/ceph /usr/sbin/restorecon -R /var/run/ceph > /dev/null 2>&1 # Start the daemons if they were running before if test $STATUS -eq 0; then if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then /usr/bin/systemctl start ceph.target > /dev/null 2>&1 || : fi fi fi exit 0 %endif %files grafana-dashboards %if 0%{?suse_version} %attr(0755,root,root) %dir %{_sysconfdir}/grafana %attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards %endif %attr(0755,root,root) %dir %{_sysconfdir}/grafana/dashboards/ceph-dashboard %config %{_sysconfdir}/grafana/dashboards/ceph-dashboard/* %files prometheus-alerts %if 0%{?suse_version} %attr(0755,root,root) %dir %{_sysconfdir}/prometheus %endif %attr(0755,root,root) %dir %{_sysconfdir}/prometheus/ceph %config %{_sysconfdir}/prometheus/ceph/ceph_default_alerts.yml %files mib %attr(0755,root,root) %dir %{_datadir}/snmp %{_datadir}/snmp/mibs %files mgr-callhome %{_datadir}/ceph/mgr/call_home_agent %files node-proxy %{_sbindir}/ceph-node-proxy %dir %{python3_sitelib}/ceph_node_proxy %{python3_sitelib}/ceph_node_proxy/* %{python3_sitelib}/ceph_node_proxy-* #%{_mandir}/man8/ceph-node-proxy.8* %changelog * Tue Sep 23 2025 Ceph Jenkins 2:19.2.1-274 - mgr: avoid explicitly dropping ref of MgrOpRequest.request (rhbz#2367768) * Sun Sep 21 2025 Ceph Jenkins 2:19.2.1-273 - osd: stop scrub_purged_snaps() from ignoring osd_beacon_report_interval (rhbz#2392394) * Thu Sep 18 2025 Ceph Jenkins 2:19.2.1-272 - rgw: add rate limit for LIST & DELETE ops, hotfix syncup (rhbz#2393774 rhbz#2393477 rhbz#2395642 rhbz#2391529 rhbz#2389281) * Tue Sep 16 2025 Ceph Jenkins 2:19.2.1-271 - qa/workunits/rbd: test snapshot sync with interrupted daemon on secondary (rhbz#2392524) - rbd-mirror: do not prune primary snapshots as part of the secondary daemon (rhbz#2392524) - librbd/mirror: remove peer UUID of group snapshot before attempting removal (rhbz#2392524) - rbd_mirror: order the user group snaps and the mirror group snaps syncing (rhbz#2392524) - rbd-mirror: replace cond.wait() with async callbacks in group_replayer::Replayer (rhbz#2392524) * Sun Sep 14 2025 Ceph Jenkins 2:19.2.1-270 - nvmeofgw: fix issue of delete all gws from the pool/group when gws not removed from the map (rhbz#2390714) * Thu Sep 11 2025 Ceph Jenkins 2:19.2.1-269 - mgr/cephadm: After reapplying the osd spec, the OSD services are continuously applied in each serve loop iteration (rhbz#2394585) * Thu Sep 11 2025 Ceph Jenkins 2:19.2.1-268 - mgr/cephadm: don't use list_servers to get active mgr host for prometheus SD config (rhbz#2390033) - mgr/cephadm: add interval control for stray daemon checks (rhbz#2390033) * Wed Sep 10 2025 Ceph Jenkins 2:19.2.1-267 - Merge pull request #62254 from ifed01/wip-ifed-bool-async-discard-back-squi (rhbz#2394396) * Tue Sep 09 2025 Ceph Jenkins 2:19.2.1-266 - ceph-volume: drop udevadm subprocess calls (rhbz#2390030) * Mon Sep 08 2025 Ceph Jenkins 2:19.2.1-265 - mgr/cephadm: Config parameter to set the max number of OSDs to upgrade in single iteration (rhbz#2392392) * Fri Sep 05 2025 Ceph Jenkins 2:19.2.1-264 - mgr/smb: use lazy_init to create the rados store (rhbz#2393426) * Thu Sep 04 2025 Ceph Jenkins 2:19.2.1-263 - fix: typo remove whitespace (rhbz#2388225) - fix: Revert url_decode to old behaviour (rhbz#2388225) - fix: remove double url_decode from the copy_source and fix url_decode (rhbz#2388225) - fix:Add empty string check after url_decode (rhbz#2388225) * Thu Sep 04 2025 Ceph Jenkins 2:19.2.1-262 - rgw/iam: correcting the caps for OIDC Provider for a user. (rhbz#2392606) * Wed Sep 03 2025 Ceph Jenkins 2:19.2.1-261 - tasks/cephfs: Use different errmsg for invalid dir (rhbz#2389764 rhbz#2392403) - client: bring client_lock out of statfs helper method (rhbz#2389764 rhbz#2392403) - client: move mref_reader check in statfs out of helper (rhbz#2389764 rhbz#2392403) - test: Add test for libcephfs statfs (rhbz#2389764 rhbz#2392403) - client: get quota root based off of provided inode in statfs (rhbz#2389764 rhbz#2392403) - client: use path supplied in statfs (rhbz#2389764 rhbz#2392403) * Wed Sep 03 2025 Ceph Jenkins 2:19.2.1-260 - mgr/cephadm: Fixed UT and addressed review comment (rhbz#2385921) - mgr/cephadm: Updated KMIP HOST block to support servername and verify_hostname SNI fields (rhbz#2385921) - mgr/cephadm: Added support for port configuration for KMIP host KMIP { HOST { addr = ceph-node-0; port = 443; } cert = /etc/ganesha/kmip/kmip_cert.pem; key = /etc/ganesha/kmip/kmip_key.pem; ca = /etc/ganesha/kmip/kmip_ca_cert.pem; } (rhbz#2379520) * Wed Sep 03 2025 Ceph Jenkins 2:19.2.1-259 - rgw/logging: fixes data loss during rollover (rhbz#2391270) * Tue Sep 02 2025 Ceph Jenkins 2:19.2.1-258 - rgw: add rate limit for LIST & DELETE ops (rhbz#2389280) - RGW | fixed enqueueing the overwritten object for gc (rhbz#2389593) - NFS CONF: Disable dentry caching in Ganesha (rhbz#2389738) * Wed Aug 27 2025 Ceph Jenkins 2:19.2.1-257 - nvmeofgw: cleanup pending map upon monitor restart fixes https://tracker.ceph.com/issues/72434 Resolves: rhbz#2387801 Signed-off-by: Leonid Chernin (rhbz#2387801) - fix: blocklist all nonces of the failing GW Resolves: rhbz#2387800 Signed-off-by: Leonid Chernin (rhbz#2387800) * Tue Aug 26 2025 Ceph Jenkins 2:19.2.1-256 - Handle failures in metric parsing (rhbz#2376028) * Mon Aug 25 2025 Ceph Jenkins 2:19.2.1-255 - mgr/dashboard: fix nvmeof mtls (rhbz#2367924) * Fri Aug 22 2025 Ceph Jenkins 2:19.2.1-254 - test/store_test: add tests for deferred ops replay in mount/mount_readonly. (rhbz#2291317) - tools/ceph-bluestore-tool: aliases for --path and --command options. (rhbz#2291317) - tools/ceph-kvstore-tool: open DB in read-only whenever sufficient (rhbz#2291317) - tools/ceph-objectstore-tool: open object store's DB in read-only mode for operations which permit that. This provides additional chances to access corrupted object store. (rhbz#2291317) - tool/ceph_objectstore_tool: ignore read errors during pg export (rhbz#2291317) - tools/ceph-objectstore-tool: permit --no-superblock switch for pg export (rhbz#2291317) - PGMap: remove pool max_avail scale factor (rhbz#2275995) * Thu Aug 21 2025 Ceph Jenkins 2:19.2.1-253 - mgr/dashboard: accept dot(.) in user_id & (alphanumeric chars, _) in tenant in user form (rhbz#2360780) * Thu Aug 21 2025 Ceph Jenkins 2:19.2.1-252 - Reapply "RGW | fix conditional Delete and MultiDelete" (rhbz#2375001 rhbz#2375001 rhbz#2389593) * Thu Aug 21 2025 Ceph Jenkins 2:19.2.1-251 - mgr/dashboard: Allow host with labels in listener form (rhbz#2374745) - mgr/dashboard: Add --force flag for listeners (rhbz#2374743) * Thu Aug 21 2025 Ceph Jenkins 2:19.2.1-250 - mgr/dashboard: fix bucket replication disable (rhbz#2387596) * Thu Aug 21 2025 Ceph Jenkins 2:19.2.1-249 - mgr/dashboard: QoS values configured in gigabytes are displayed in bytes (rhbz#2359188) - mgr/dashboard: add "secondary_zone_period_retry_limit" param in import_realm_token method (rhbz#2387554) * Wed Aug 20 2025 Ceph Jenkins 2:19.2.1-248 - src/pybind/mgr/pg_autoscaler/module.py: fix 'pg_autoscale_mode' output (rhbz#2361441) - mon: Track and process pending pings after election (rhbz#2357894) * Tue Aug 19 2025 Ceph Jenkins 2:19.2.1-247 - rgw: make sure max_objs_per_shard is appropriate in debugging scenarios (rhbz#2373254) - rgw/rados: calculate_preferred_shards takes bool is_versioned (rhbz#2373254) - rgw: scale shards based on versioned() to cover suspended buckets (rhbz#2373254) - rgw: trigger resharding of versioned buckets sooner (rhbz#2373254) * Wed Aug 13 2025 Ceph Jenkins 2:19.2.1-246 - common/pick_address: Add IPv6 support to is_addr_in_subnet (rhbz#2362869) * Mon Aug 11 2025 Ceph Jenkins 2:19.2.1-245 - Revert "RGW | fix conditional Delete and MultiDelete" * Fri Aug 08 2025 Ceph Jenkins 2:19.2.1-244 - rgwlc: avoid indirect on obj_state if load_state(delete-marker) failed (rhbz#2387069) * Wed Aug 06 2025 Ceph Jenkins 2:19.2.1-243 - mds: skip charmap handler check for MDS requests (rhbz#2386474) - qa: test for charmap handling on reintegration (rhbz#2386474) * Wed Jul 30 2025 Ceph Jenkins 2:19.2.1-242 - rgw/multisite: url-encode query param 'key-marker' in the bucket listing request (rhbz#2374336) * Wed Jul 30 2025 Ceph Jenkins 2:19.2.1-241 - librbd/migration/QCOWFormat: don't complete read_clusters() inline (rhbz#2384429) - librbd/migration/QCOWFormat: rename handle_read_cluster() (rhbz#2384429) * Wed Jul 30 2025 Ceph Jenkins 2:19.2.1-240 - rbd-mirror: further adding some more helper routines (rhbz#2369721) - cleanup: rename remove_mirror_peer_uuid to mirror_group_snapshot_unlink_peer (rhbz#2369721) - rbd-mirror: fix group replayer deleting the previous mirror group snapshot (rhbz#2369721) - cleanup: adjust the layout of various routines (rhbz#2369721) - rbd-mirror: unifying lock access (rhbz#2369721) - rbd-mirror: align mirror_snapshot_complete and regular_snapshot_complete (rhbz#2369721) - rbd-mirror: avoid altering local group snap vector elements (rhbz#2368629) - rbd-mirror: allow removal of user group snapshot if id do not match (rhbz#2368629) - qa/workunits/rbd: fix test_group_with_clone_image and test_images_different_pools (rhbz#2356554) - librbd: unlink the individual image snapshots taken as part of group snapshot (rhbz#2356554) - librbd/api: fix mirror group demote (rhbz#2356554) - librbd/api: fix mirror group disable (rhbz#2356554) - librbd/api: fix group enable (rhbz#2356554) - rbd-mirror: filter group snapshots by mirror_peer_uuid in group_replayer (rhbz#2356554) - rbd-mirror: ensure safe access to m_prune_snap_ids_by_gr (rhbz#2356554) - rbd-mirror: prevent image deletion if remote image is not primary (rhbz#2356554) - librbd/mirror: cleanup EnableRequest::handle_get_mirror_image() (rhbz#2356554) - librbd: Clean up usage of IoCtx (rhbz#2356554) - librbd: images aren't closed in group_snap_*_by_record() on error (rhbz#2356554) - pybind/mgr/dashboard: fetch image's mirror mode (rhbz#2356554) - pybind/mgr/rbd_support: check whether mirroring is enabled (rhbz#2356554) - librbd/api/Mirror: return EINVAL from image_resync() (rhbz#2356554) - librbd/mirror/PromoteRequest: return EINVAL (rhbz#2356554) - librbd/api/Mirror: return EINVAL from image_get_mode() (rhbz#2356554) - tools/rbd/action/MirrorPool: remove dead branch (rhbz#2356554) - librbd: retry list_snap_orders() once instead of failing sort_snaps() (rhbz#2356554) * Tue Jul 29 2025 Ceph Jenkins 2:19.2.1-239 - RGW | fix conditional Delete and MultiDelete (rhbz#2375001) - rgwlc: fix removal of delete markers (SAL) (rhbz#2381933) - rgw:cksum: send the correct header name for ChecksumType (rhbz#2379369) * Tue Jul 29 2025 Ceph Jenkins 2:19.2.1-238 - cephadm: Bind mount /var/lib/samba with 0755 (rhbz#2381691) * Mon Jul 28 2025 Ceph Jenkins 2:19.2.1-237 - doc/cephfs: add mds_allow_batched_ops to conf ref (rhbz#2383118) - mds: nudge log for unstable locks after early_reply (rhbz#2383118) - mds: allow disabling batch ops (rhbz#2383118) - common/options: chomp whitespace (rhbz#2383118) * Wed Jul 23 2025 Ceph Jenkins 2:19.2.1-236 - client: skip fscrypt decrypt_bl if data bl is empty. (rhbz#2379330) - client: Match functionality of nonblocking_read_sync read_sync (rhbz#2379330) - client: During fscrypt rmw (write) use correct read type (rhbz#2379330) * Mon Jul 21 2025 Ceph Jenkins 2:19.2.1-235 - Client.cc: in fcopyfile(), update len to read only leftover fragment (rhbz#2379716) - mgr/cephadm: NFSSpec changes to apply cluster level QOS while nfs service creation (rhbz#2380040) * Wed Jul 09 2025 Ceph Jenkins 2:19.2.1-234 - libcephfs: ll_set_fscrypt_policy_v2 - use in->dirstat (rhbz#2376757) - client: ll_set_fscrypt_policy_v2 separate "directory empty" logic (rhbz#2376757) * Tue Jul 08 2025 Ceph Jenkins 2:19.2.1-233 - cephadm: deepcopy BaseConfig when creating a ctx object per daemon to deploy (rhbz#2378058) * Mon Jul 07 2025 Ceph Jenkins 2:19.2.1-232 - mgr/cephadm: pass --force to rm-daemons command (rhbz#2376021 rhbz#2376109) * Mon Jul 07 2025 Ceph Jenkins 2:19.2.1-231 - mgr/cephadm: Restart nfs daemon when same rank daemon is removed (rhbz#2375725) - mgr/cephadm: Update service name as userId for nfs cluster, to keep it same across nfs cluster (rhbz#2365590) * Thu Jul 03 2025 Ceph Jenkins 2:19.2.1-230 - client: During fscrypt set policy check null dentries - client: During fscrypt set policy bail if policy exists - libcephfs: revert changes to ll_set_fscrypt_policy_v2" * Thu Jul 03 2025 Ceph Jenkins 2:19.2.1-229 - qa/cephfs: add tests for "fs subvolume create" command when... (rhbz#2369848) - mgr/vol: print proper message when subvolume metadata filename is too... (rhbz#2369848) - mon: emit warning during fs rm (rhbz#2370370) - mgr/volumes: warn about active snap-schedules when volume is deleted (rhbz#2370370) - doc/cephfs: note about volume deletion affecting snap-schedule Manager module (rhbz#2370370) - mgr/snap_schedule: handle volume delete (rhbz#2370370) * Tue Jul 01 2025 Ceph Jenkins 2:19.2.1-228 - nvmeofgw: 1.fixing the issue when gw is deleted based on invalid subsystem info 2. in function track_deleting_gws: break from loop only if delete was really done 3. fix published rebalance index - publish ana-group instead of index 4. do not dump gwid string after gw was removed (rhbz#2374721) * Sun Jun 29 2025 Ceph Jenkins 2:19.2.1-227 - libcephfs: ll_set_fscrypt_policy_v2 - libcephfs: ll_set_fscrypt_policy_v2 * Thu Jun 26 2025 Ceph Jenkins 2:19.2.1-226 - mgr/cephadm: don't redeploy off of ip/port changes if no ports/ip specified (rhbz#2374983) * Wed Jun 25 2025 Ceph Jenkins 2:19.2.1-225 - client, libcephfs: Expose fscrypt apis as low level - client: Breakout fscrypt get policy into method - client: Rework fscrypt set policy to match fscrypt specification - mgr/cephadm: initialize results list in deploy_and_remove_all (rhbz#2374651) * Fri Jun 20 2025 Ceph Jenkins 2:19.2.1-224 - mgr/cephadm: Fixed KMIP HOST block (rhbz#2373703) - mgr/cephadm: add plugin before KMIP block in ganesha.conf (rhbz#2373703) * Wed Jun 18 2025 Ceph Jenkins 2:19.2.1-223 - cephadm: make container id lookup compatible with 8.1z1 codebase (rhbz#2373703) - mgr/cephadm: conflict resolution for cephadm NFS BYOK support 8.1z1 (rhbz#2373703) - mgr/cephadm: updated nfs cluster create command and addressed review comments (rhbz#2373703) - cephadm: add command to send signals to daemons (rhbz#2373703) - mgr/cephadm: while updating nfs kmip certs do not restart service instead send SIGHUP to ganesha service (rhbz#2373703) - mgr/nfs: Update cluster create command to accept kmip relates params and update export command (rhbz#2373703) - mgr/cephadm: add kmip fields to nfs daemon config (rhbz#2373703) - mgr/cephadm: optionally add kmip block to ganesha conf (rhbz#2373703) - python-common/service_spec: add kmip fields to NFS spec (rhbz#2373703) - rgw/logging: make unique part of log file both random and incremental (rhbz#2373177) - mgr/cephadm: swap _rm_daemon to use `cephadm _orch rm-daemons` (rhbz#2364414) - mgr/cephadm: update get_container_image function (rhbz#2364414) - mgr/cephadm: add ordering function for SMB (rhbz#2372821) - mgr/cephadm: implement get_daemon_deployment_ordering for ingress (rhbz#2372821) - mgr/cephadm: clean up deploy/removal queue if apply throws Exception (rhbz#2372821) - mgr/cephadm: introduce deployment ordering for services (rhbz#2372821) - mgr/cephadm: skip keepalive deployment until haproxy has been deployed (rhbz#2372821) - mgr/cephadm: clear CEPHADM_DAEMON_PREPARE_CREATE_FAIL warnings (rhbz#2372821) - cephadm: remove useless printout during ingress deployment (rhbz#2372821) - mgr/cephadm: do removal of daemons needing fencing with other daemons (rhbz#2372349) - mgr/cephadm: fix error handling in deploy_given_daemons (rhbz#2371418) - mgr/cephadm: move service wide config handling out of host parallelized section (rhbz#2370541) - mgr/cephadm: make .nfs pool before trying to deploy nfs daemons (rhbz#2370541) - cephadm: change base units lock to lock around all systemd file updates (rhbz#2370450) - mgr/cephadm: see image in exchange.Deploy generated for each daemon (rhbz#2370450) - mgr/cephadm: pass rank_map created by scheduler to rank map handling (rhbz#2370257) - mgr/cephadm: remove orphan daemons in parallel as part of _apply_spec (rhbz#2364414) - mgr/cephadm: separate orphan cleanup code into its own functions (rhbz#2364414) - mgr/cephadm: acually remove daemons in parallel in remove_given_daemons (rhbz#2364414) - cephadm: add new `cephadm _orch rm-daemons` that takes json blob (rhbz#2364414) - mgr/cephadm: parallelize deployment by host (rhbz#2364414) - mgr/cephadm: convert deploy_given_daemons to an async function (rhbz#2364414) - cephadm: move most of rm daemon code to separate function (rhbz#2364414) - cephadm: deploy daemons in parallel when multiple daemons are passed to _orch deploy (rhbz#2364414) - cephadm: add lock around installing base units (rhbz#2364414) - cephadm: acquire cephadm lock outside of _common_deploy (rhbz#2364414) - mgr/cephadm: make _create_daemon able to pass multiple daemon spec at once (rhbz#2364414) - mgr/cephadm: fully separate prep and deployment/removal of daemons (rhbz#2364414) - mgr/cephadm: split finding conflicting daemons and actually removing them (rhbz#2364414) - mgr/cephadm: split generating final daemon specs and deploying daemons into own functions (rhbz#2364414) - mgr/cephadm: move actually removing daemons to its own function (rhbz#2364414) - mgr/cephadm: move building ok-to-stop list for daemon removal into its own function (rhbz#2364414) - mgr/cephadm: split handling of unique names and ranks into its own function (rhbz#2364414) - mgr/cephadm: split removing conflicting daemons into its own function (rhbz#2364414) - mgr/cephadm: drop per service progress events during deployment (rhbz#2364414) - mgr/cephadm: introduce deploy and removal queue into apply spec workflow (rhbz#2364414) - mgr/cephadm: add DaemonRemovalQueue (rhbz#2364414) - mgr/cephadm: add DaemonDeployQueue class (rhbz#2364414) - mgr/cephadm: split scheduling and deploying function in _apply_spec (rhbz#2364414) - mgr/cephadm: pass daemon's current image when reconfiguring (rhbz#2364414) - mgr/cephadm: pass daemon's current image when reconfiguring (rhbz#2364414) - monitoring: Fix NVMeoF subsys/namespace limit alerts (rhbz#2362951 rhbz#2362937) - monitoring: Update nvmeof alert limits in config (rhbz#2371464) - librbd: allow group remove when group mirroring isn't supported (rhbz#2372434) - rbd: don't fail "rbd group info" if group mirroring isn't supported (rhbz#2372434) - rbd: don't fail "rbd mirror pool status" if group mirroring isn't supported (rhbz#2372434) - client: Fix logic in fscrypt hole optimization - rgw/logging: fix compilation error when calling rgw_rados_operate - mgr/nfs: Add Spec parameter for ganesha.conf Bind_addr Fixes: https://tracker.ceph.com/issues/71031 (rhbz#2372966) - mgr/nfs: Add Monitoring_Addr parameter to ganesha.conf (rhbz#2372966) - client: Skip fscrypt_last_block if in non-fscrypt mode - client: Implement cloning fscrypt subvolume snaps - client, libcephfs: Add fcopyfile bindings - pybind/mgr/volumes/fs: Prepare mgr to clone fscrypt snaps - qa: Add tests for fscrypt subvolume - client: Rework vxattr_cb_fscrypt_file_set to assign properly - client: Allow for reading raw written data. - rgw/logging: return the last object name that was actually comitted - rgw/logging: send flushed object name in API reply - rgw/logging: log only object ACls in journal mode (rhbz#2365658) - rgw/logging: fix partitioned key format (rhbz#2370241) - rgw/logging: add size in MPU complete in standard mode (rhbz#2365697) - rgw/logginag: make unique portion of log object name orderd (rhbz#2370245) - rgw/logging: part upload operation name should be REST.PUT.PART (rhbz#2365931) - rgw/logging: support object metadata changes in journal mode (rhbz#2365658) - rgw/logging: add mtime to get-bucket-logging response (rhbz#2370243) - doc/rgw/logging: update field description (rhbz#2341711) - rgw/notification/logging: add bucket as context param (rhbz#2341711) * Mon Jun 09 2025 Ceph Jenkins 2:19.2.1-222 - nvmeofgw: fix sending acks during upgrade Resolves rhbz#2366836 Signed-off-by: Leonid Chernin (rhbz#2366836) * Fri Jun 06 2025 Ceph Jenkins 2:19.2.1-221 - src/ceph.in: work around issues with default CEPH_ARGS value (rhbz#2369405) * Thu Jun 05 2025 Ceph Jenkins 2:19.2.1-220 - nvmeofgw: fix beacon-index persistency, fix gw-epoch set usecase Resolves rhbz#2366836 (rhbz#2366836) * Thu Jun 05 2025 Ceph Jenkins 2:19.2.1-219 - mgr/dashboard: fix KeyError exception in HardwareService.get_summary() (rhbz#2351028) * Tue Jun 03 2025 Ceph Jenkins 2:19.2.1-218 - missed internal, apparently invalid no-length exception case (rhbz#2370002) * Mon Jun 02 2025 Ceph Jenkins 2:19.2.1-217 - client: asynchronous fsync can decrement request ref twice * Mon Jun 02 2025 Ceph Jenkins 2:19.2.1-216 - mgr/cephadm: During upgrade if NFS service is using old nodeids (service_name.rank), keep using those node ids after upgrade (rhbz#2369129) * Mon Jun 02 2025 Ceph Jenkins 2:19.2.1-215 - mgr/cephadm: fixing generate_cert to pick the right root subject (rhbz#2351536) * Fri May 30 2025 Ceph Jenkins 2:19.2.1-214 - mgr/nfs: update QOS minimum BandWidth value and IOPS max value (rhbz#2367444) - mgr/dashboard: fix call home banner's visibility (rhbz#2369133) * Thu May 29 2025 Ceph Jenkins 2:19.2.1-213 - mgr/cephadm: don't remove and deploy new daemon if ports change during upgrade (rhbz#2369134) - node-proxy: address `ceph orch hardware status` cmd (rhbz#2351028) * Wed May 28 2025 Ceph Jenkins 2:19.2.1-212 - mds: fix test that directory has no snaps (rhbz#2368769) - qa: test for child dir with first beyond parent snaps (rhbz#2368769) - qa: remove extraneous directory from test (rhbz#2368769) - qa: correct test description (rhbz#2368769) * Wed May 28 2025 Ceph Jenkins 2:19.2.1-211 - mgr/cephadm: Add daemon_id and hostname to get_dependencies() signature (rhbz#2368715) * Mon May 26 2025 Ceph Jenkins 2:19.2.1-210 - Revert "mgr/cephadm: During upgrade remove nfs old node id from rados grace table" (rhbz#2368271) * Thu May 22 2025 Ceph Jenkins 2:19.2.1-209 - librbd/api: fix the way we get the promotion state of the group today (rhbz#2366823) - rbd-mirror: avoid erasing local snap vector elements (rhbz#2366823) - rbd-mirror: group replayer defend for orphan snapshot (rhbz#2366823) - librbd: group get info skip incomplete snapshot (rhbz#2366823) - librbd: group promote create orphan snapshot (rhbz#2366823) - librbd/api: fix mirror group promote (rhbz#2366823) - cls/rbd: add a field complete to GroupSnapshotNamespaceMirror (rhbz#2366823) * Thu May 22 2025 Ceph Jenkins 2:19.2.1-208 - Revert "mon: show count of active/total nvmeof gws in "ceph -s"" (rhbz#2367425) * Wed May 21 2025 Ceph Jenkins 2:19.2.1-207 - cephadm/images: update samba tags for 8.1 (rhbz#2367681) * Tue May 20 2025 Ceph Jenkins 2:19.2.1-206 - rgw/restore: Use strtoull to read size till 2^64 (rhbz#2367433) * Mon May 19 2025 Ceph Jenkins 2:19.2.1-205 - rgw/multisite: change HTTP error handling from EIO to ERR_INTERNAL_ERROR (rhbz#2275856) - rgw: aws-chunked need not supply any content-length (rhbz#2367319) - rgw_cksum: select checksum algo from only a checksum trailer header (rhbz#2367319) - rgw: recognize checksum from x-amz-checksum-{type} alone (rhbz#2367319) * Mon May 19 2025 Ceph Jenkins 2:19.2.1-204 - mgr/cephadm: During upgrade remove nfs old node id from rados grace table (rhbz#2362300) - libcephfs: introduce v2 API for preadv/pwritev (rhbz#2353897 rhbz#2358628) * Fri May 16 2025 Ceph Jenkins 2:19.2.1-203 - mgr/call_home: change ECuRep endpoint (rhbz#2366947) * Fri May 16 2025 Ceph Jenkins 2:19.2.1-202 - rgw: defensive fix for crash attemping part-copy of '%' versioned obj (rhbz#2356922) * Thu May 15 2025 Ceph Jenkins 2:19.2.1-201 - mds: dump next_snap when checking dentry corruption (rhbz#2328648) * Thu May 15 2025 Ceph Jenkins 2:19.2.1-200 - mgr/dashboard: updating urls for 8.1 (rhbz#2366187) * Wed May 14 2025 Ceph Jenkins 2:19.2.1-199 - rgw/cloud-restore: Fixing issues with initializing and resetting FIFO (rhbz#2364290) * Wed May 14 2025 Ceph Jenkins 2:19.2.1-198 - fuse client: map ENOKEY return value to itself (rhbz#2359598) * Wed May 14 2025 Ceph Jenkins 2:19.2.1-197 - mgr/cephadm/nvmeof: Allow setting NVMEoF gateway huge pages count in the spec file Resolves: rhbz#2366236 (rhbz#2366236) - mgr/dashboard: adapt call-home module enable code (rhbz#2365915) * Wed May 14 2025 Ceph Jenkins 2:19.2.1-196 - os/bluestore: Add ability to ignore BlueFS zombie files (rhbz#2354192) * Wed May 14 2025 Ceph Jenkins 2:19.2.1-195 - mgr/dashboard: Fix delete listener (rhbz#2364033) * Tue May 13 2025 Ceph Jenkins 2:19.2.1-194 - rbd-mirror: ignore EOPNOTSUPP for group listing (rhbz#2365098) - rbd-mirror: fix missing mirror group status (rhbz#2365098) - rbd-mirror: return EREMCHG from bootstrap in case of rename (rhbz#2365098) - rbd: write image mirror status if state is CREATING (rhbz#2365098) * Tue May 13 2025 Ceph Jenkins 2:19.2.1-193 - mgr/cephadm: use get_dependencies to calculate daemon deps (rhbz#2365926) * Tue May 13 2025 Ceph Jenkins 2:19.2.1-192 - mgr/dashboard: Add default state when gateway groups are empty (rhbz#2364021) * Mon May 12 2025 Ceph Jenkins 2:19.2.1-191 - mgr/cephadm: set ssl fields in haproxy frontend when using generate_cert (rhbz#2345489) * Mon May 12 2025 Ceph Jenkins 2:19.2.1-190 - NvmeofServiceSpec: ceph connection allocation strategies (rhbz#2365656) * Mon May 12 2025 Ceph Jenkins 2:19.2.1-189 - libcephfs: increment library minor version (rhbz#2356923) - test: add test to fetch perf counters via libcephfs API (rhbz#2356923) - libcephfs: add API to get client perf counters (rhbz#2356923) - client: fix total write operations perf counter name (rhbz#2356923) * Fri May 09 2025 Ceph Jenkins 2:19.2.1-188 - mgr/vol: backport open_subvol_in_vol() (rhbz#2363635) * Thu May 08 2025 Ceph Jenkins 2:19.2.1-187 - client: do not fscrypt encrypt snapshot names (rhbz#2362859) - client: Simplify getting decrypted fname (rhbz#2362278) - Add 'virtual_ip' to _apply_mgmt_gateway() * Thu May 08 2025 Ceph Jenkins 2:19.2.1-186 - pybind/mgr/volumes: fix syntax errors (rhbz#2363635) * Thu May 08 2025 Ceph Jenkins 2:19.2.1-185 - release note: add a note for "snapshot getpath" command (rhbz#2354017) - doc/cephfs: add doc for "snapshot getpath" cmd (rhbz#2354017) - qa/cephfs: add tests for "subvolume snapshot getpath" cmd (rhbz#2354017) - mgr/vol: add command to get snapshot path (rhbz#2354017) * Thu May 08 2025 Ceph Jenkins 2:19.2.1-184 - Merge pull request #59465 from galsalomon66/limit_mem_usage_on_parquet_flow (rhbz#2252403) * Wed May 07 2025 Ceph Jenkins 2:19.2.1-183 - mgr/cephadm: don't mark nvmeof daemons without pool and group in name as stray (rhbz#2358815) - rgw/cloud-restore: allow copy of temporary object * Wed May 07 2025 Ceph Jenkins 2:19.2.1-182 - rgw: call read_op::prepare() in get_obj_policy_from_attr. (rhbz#2358455) - RGW - Set the mtime on ReadOp in RadosStore (rhbz#2358455) * Wed May 07 2025 Ceph Jenkins 2:19.2.1-181 - mgr/cephadm: include cluster FSID in root CA Common Name (CN) (rhbz#2323601) - cephfs-mirror: delete `syncm` during error handling and completion of sync (rhbz#2364715) * Wed May 07 2025 Ceph Jenkins 2:19.2.1-180 - pybind/mgr/volumes: fix syntax error (rhbz#2363635) * Wed May 07 2025 Ceph Jenkins 2:19.2.1-179 - mgr/nfs: Add VIP to HAProxy_Hosts list for ingress type haproxy-protocol (rhbz#2338406) * Tue May 06 2025 Ceph Jenkins 2:19.2.1-178 - mds: fix broken define by backport (rhbz#2343968) - mds: fix broken define by backport (rhbz#2343968) - qa: add test for `mgr status` command - mgr: add status command * Mon May 05 2025 Ceph Jenkins 2:19.2.1-177 - pybind/mgr: fix syntax error from backport (rhbz#2357449) * Mon May 05 2025 Ceph Jenkins 2:19.2.1-176 - qa: test charmap changes with dir and snaps (rhbz#2355271) - mds: check for snapshots on parent snaprealms (rhbz#2355271) - mds: use strict_strtobool for parsing bools (rhbz#2355271) - common: take string_view for strict_tobool (rhbz#2355271) * Mon May 05 2025 Ceph Jenkins 2:19.2.1-175 - client: process path without inode anchor (rhbz#2354885) - test/client: add ll_walk test with cwd and root path (rhbz#2354885) * Mon May 05 2025 Ceph Jenkins 2:19.2.1-174 - mds: do not schedule quiesce for non-head imported inodes (rhbz#2346615) * Mon May 05 2025 Ceph Jenkins 2:19.2.1-173 - qa: remove redundant and broken test (rhbz#2343968) - mds: skip scrubbing damaged dirfrag (rhbz#2343968) - tools/cephfs/DataScan: test equality of link including frag (rhbz#2343968) - tools/cephfs/DataScan: skip linkages that have been removed (rhbz#2343968) - tools/cephfs/DataScan: do not error out when failing to read a dentry (rhbz#2343968) - tools/cephfs/DataScan: create all ancestors during scan_inodes (rhbz#2343968) - tools/cephfs/DataScan: cleanup debug prints (rhbz#2343968) - qa: remove old MovedDir test (rhbz#2343968) - qa: add data scan tests for ancestry rebuild (rhbz#2343968) - qa: make the directory non-empty to force migration (rhbz#2343968) - qa: avoid unnecessary mds restart (rhbz#2343968) - mds: do not path traverse a damaged dirfrag (rhbz#2343968) - qa: test file create on damaged directory (rhbz#2343968) * Fri May 02 2025 Ceph Jenkins 2:19.2.1-172 - rgw/cloud-restore: Handle failure with adding restore entry (rhbz#2363085) * Thu May 01 2025 Ceph Jenkins 2:19.2.1-171 - pybind/mgr/volumes: make casesensitive attr uniform in interface (rhbz#2357449) * Wed Apr 30 2025 Ceph Jenkins 2:19.2.1-170 - qa: add test for cloning with charmap (rhbz#2358631) - pybind/mgr/volumes: fix typo in casesensitive vxattr (rhbz#2358631) * Wed Apr 30 2025 Ceph Jenkins 2:19.2.1-169 - librbd: let Mirror::group_get_info() return ENOENT only if group DNE (rhbz#2362899) - qa/workunits/rbd: update to mirror group snapshot tests (rhbz#2362899) - qa/cephfs: test that user created pool is not deleted by... (rhbz#2359798) - mgr/vol: don't delete user-created pool in "volume create" command (rhbz#2359798) * Wed Apr 30 2025 Ceph Jenkins 2:19.2.1-168 - squid: os/bluestore: Fix race in BlueFS truncate / remove (rhbz#2354192) * Mon Apr 28 2025 Ceph Jenkins 2:19.2.1-167 - mgr/cephadm: Improving error handling and logging for mgmt-gw test (rhbz#2356850) - mgr/cephadm: updating mgmt-gateway teuthology (rhbz#2356850) - mgr/dashboard: harmonize mgmt-gateway and oauth2-proxy spec fields (rhbz#2356850) - mgr/cephadm: harmonize mgmt-gateway and oauth2-proxy spec fields (rhbz#2356850) * Fri Apr 25 2025 Ceph Jenkins 2:19.2.1-166 - rbd-mirror: increase load_local_group_snapshots() task interval (rhbz#2359056) - librbd/api: fix group promote completely (rhbz#2357450) - rbd-mirror: avoid undo on force group promote failure (rhbz#2358010) - pybind/rbd: add new mirror group state (rhbz#2359056) - pybind/rbd/mock_rbd.pxi: add missing group related structs and APIs (rhbz#2359056) - rbd-mirror: fix remove_mirror_peer_uuid (rhbz#2361747) - qa/workunits/rbd: update to mirror group snapshot tests (rhbz#2359056) - rbd-mirror: group replayer bootstrap changes (rhbz#2359056) - rbd-mirror: fix GroupReplayer status updates (rhbz#2359056) - rbd-mirror: release lock before calling m_async_op_tracker.finish_op() (rhbz#2359056) - rbd-mirror: prevent a non-primary group from being removed (rhbz#2359056) - librbd: disallow "rbd trash mv" if image is in a group (rhbz#2361737) - pybind/rbd: add ImageMemberOfGroup exception (rhbz#2361737) - rbd: don't print "image will expire at" message when trash_move() fails (rhbz#2361737) - rbd: display correct mirror state when creating (rhbz#2359056) - rbd-mirror: release lock before calling m_async_op_tracker.finish_op() (rhbz#2359056) * Fri Apr 25 2025 Ceph Jenkins 2:19.2.1-165 - mgr/dashboard: fix smb edit resources (rhbz#2359683) * Thu Apr 24 2025 Ceph Jenkins 2:19.2.1-164 - rgw/cloud-restore: Support restoration of objects transitioned to Glacier/Tape endpoint (rhbz#2358617) * Thu Apr 24 2025 Ceph Jenkins 2:19.2.1-163 - rgw/logging: extract tenant from bucket name on admin flush (rhbz#2360666) * Thu Apr 24 2025 Ceph Jenkins 2:19.2.1-162 - nvmeofgw: fix host issue during redeploy, improves previous redeploy fix (rhbz#2362009) * Thu Apr 24 2025 Ceph Jenkins 2:19.2.1-161 - Update NVME gateway version to 1.4. Resolves: rhbz#2361998 (rhbz#2361998) - mgr/cephadm/nvmeof: Add OMAP read lock parameters to NVMEoF configuration Resolves: rhbz#2362005 (rhbz#2362005) - Add key encryption support Resolves: rhbz#2361580 (rhbz#2361580) * Thu Apr 24 2025 Ceph Jenkins 2:19.2.1-160 - src/nvmeof/NVMeofGwMonitorClient.cc: ms_dispatch2 clean up (rhbz#2362008) * Wed Apr 23 2025 Ceph Jenkins 2:19.2.1-159 - Update patches * Wed Apr 23 2025 Ceph Jenkins 2:19.2.1-158 - rgw/rados: create_bucket() passes non-null dpp to get_bucket_info() (rhbz#2350607) - rgw: frontend reads/writes respect rgw_beast_enable_async (rhbz#2350607) * Wed Apr 23 2025 Ceph Jenkins 2:19.2.1-157 - rgw/cloud-restore: Support restoration of objects transitioned to Glacier/Tape endpoint (rhbz#2358617) * Wed Apr 23 2025 Ceph Jenkins 2:19.2.1-156 - libcephfs_proxy: avoid libc buffering for logging (rhbz#2357488) * Wed Apr 23 2025 Ceph Jenkins 2:19.2.1-155 - cephadm: Add pre_remove logic to clean up configs for grafana (rhbz#2313279) * Tue Apr 22 2025 Ceph Jenkins 2:19.2.1-154 - mgr/dashboard: Fix pool update on edit (rhbz#2359556) * Tue Apr 22 2025 Ceph Jenkins 2:19.2.1-153 - rgw: qat: improve QAT logs when HW is miss-configured for QAT encryption (rhbz#2338720) * Tue Apr 22 2025 Ceph Jenkins 2:19.2.1-152 - Add multiple labels in single command to host (rhbz#2317528) * Mon Apr 21 2025 Ceph Jenkins 2:19.2.1-151 - mgr/call_home: add country code to the inventory report (rhbz#2361502) * Mon Apr 21 2025 Ceph Jenkins 2:19.2.1-150 - mgr/cephadm: add placeholder for "qat_support" field for haproxy rgw concentrator (rhbz#2351161) * Mon Apr 21 2025 Ceph Jenkins 2:19.2.1-149 - cephadm: Updated log message for enabling logrotate.timer service while bootstrap (rhbz#2279578) * Sun Apr 20 2025 Ceph Jenkins 2:19.2.1-148 - cephadm: remove print statement about using vendored dataclasses (rhbz#2351292) - mgr/cephadm: do not delete smb fs cephx keys (rhbz#2353137) * Thu Apr 17 2025 Ceph Jenkins 2:19.2.1-147 - rgw: prevent crash in `radosgw-admin bucket object shard ...` (rhbz#2312578) * Thu Apr 17 2025 Ceph Jenkins 2:19.2.1-146 - pybind/mgr/rbd_support: check group enabled for snap mirroring (rhbz#2357422) - librbd/api: propagate ENOENT error in Mirror::group_get_info() API (rhbz#2357422) - qa/workunits/rbd: update to rbd_mirror_group_simple (rhbz#2358769) - rbd-mirror: fix crash in group Replayer (rhbz#2358769) - qa/workunits/rbd: update to mirror group snapshot tests (rhbz#2358769) * Thu Apr 17 2025 Ceph Jenkins 2:19.2.1-145 - cephfs_mirror: Fixes the build error in PeerReplayer (rhbz#2360439) * Thu Apr 17 2025 Ceph Jenkins 2:19.2.1-144 - squid: os/bluestore: fix bdev expansion and more (rhbz#2309610) * Thu Apr 17 2025 Ceph Jenkins 2:19.2.1-143 - os/bluestore: Fix BlueFS::truncate() (rhbz#2338097) - os/bluestore: Make truncate() drop unused allocations (rhbz#2338097) * Thu Apr 17 2025 Ceph Jenkins 2:19.2.1-142 - osd/scrub: discard repair_oinfo_oid() (rhbz#2356515) * Wed Apr 16 2025 Ceph Jenkins 2:19.2.1-141 - mon/LogMonitor: Use generic cluster log level config (rhbz#2320860) * Wed Apr 16 2025 Ceph Jenkins 2:19.2.1-140 - rgw: metadata and data sync fairness notifications to retry upon any error case (rhbz#2360152) - rgw: sync fairness watcher reconnects on any error (rhbz#2360152) * Wed Apr 16 2025 Ceph Jenkins 2:19.2.1-139 - rgw: DeleteParams constructor fails to initialize pointer (rhbz#2354043) * Wed Apr 16 2025 Ceph Jenkins 2:19.2.1-138 - mgr/dashboard: Modify Bandwidth and IOPS limits for QoS (rhbz#2359678) * Wed Apr 16 2025 Ceph Jenkins 2:19.2.1-137 - qa: add test checking 'journal import' from empty dump file (rhbz#2303640) - cephfs-journal-tool: fix segfault during 'journal import' from invalid dump file (rhbz#2303640) * Tue Apr 15 2025 Ceph Jenkins 2:19.2.1-136 - * also send an error message to avoid confusing awscli (rhbz#2358143) * Tue Apr 15 2025 Ceph Jenkins 2:19.2.1-135 - mgr/dashboard: remove api changes for /api/summary (rhbz#2293659) * Tue Apr 15 2025 Ceph Jenkins 2:19.2.1-134 - python-common/rgw: fix return in create_system_user (rhbz#2359716) * Tue Apr 15 2025 Ceph Jenkins 2:19.2.1-133 - mgr/nfs: Changed IOPS max limit to 409600 and Bandwidth max limit to 100GB (rhbz#2358825) * Tue Apr 15 2025 Ceph Jenkins 2:19.2.1-132 - mgr/nfs: Changes for get QoS command to return bandwidth in GiB instead of GB (rhbz#2359194) - mgr/dashboard: fix bucket rate limit API on owner change (rhbz#2358641) * Mon Apr 14 2025 Ceph Jenkins 2:19.2.1-131 - mgr/rgw: don't fail realm bootstrap if system user exists already (rhbz#2241321) - mgr/rgw: include message field in reported errors (rhbz#2241321) - rgw: remove keep_tail from RGWObjState (rhbz#2356678) - rgw: keep the tails when copying object to itself * Mon Apr 14 2025 Ceph Jenkins 2:19.2.1-130 - libcephfs_proxy: fully initialize async I/O structure (rhbz#2358835) * Mon Apr 14 2025 Ceph Jenkins 2:19.2.1-129 - mgr/dashboard: RGW - Reatin Head Object Fix (rhbz#2358806) - mgr/dashboard: RGW - Tiering form - secret key fix (rhbz#2359017) * Fri Apr 11 2025 Ceph Jenkins 2:19.2.1-128 - client: disallow unprivileged users to escalate root privileges (rhbz#2317616) * Fri Apr 11 2025 Ceph Jenkins 2:19.2.1-127 - librbd: don't list snapshots in Group::snap_get_mirror_namespace() (rhbz#2359062) - rbd: don't fail "rbd group snap ls" if namespace details aren't available (rhbz#2359062) - rbd-mirror: don't reset m_on_start_finish in GroupReplayer::restart() (rhbz#2359062) - rbd-mirror: fix in shutdown sequence in InstanceReplayer (rhbz#2359062) - cls/rbd: drop overzealous CLS_ERR message in mirror_remote_namespace_get() (rhbz#2359062) * Fri Apr 11 2025 Ceph Jenkins 2:19.2.1-126 - rgw/iam: add RemoveClientIDFromOpenIDConnectProvider (rhbz#2322664) * Thu Apr 10 2025 Ceph Jenkins 2:19.2.1-125 - src/rgw: Adding "sync error trim" option (rhbz#2282369) * Thu Apr 10 2025 Ceph Jenkins 2:19.2.1-124 - Revert "client: disallow unprivileged users to escalate root privileges" (rhbz#2317616) * Thu Apr 10 2025 Ceph Jenkins 2:19.2.1-123 - Revert "rgw/auth: Fix the return code returned by AuthStrategy," (rhbz#2316975) - mgr/dashboard: Fix styling about page (redhat) (rhbz#2358816) - mgr/dashboard: Update version from about page (rhbz#2293659) - mgr/dashboard: Fixes for showing version (rhbz#2293659) - client: Only run complete in read_modify_write if finish provided (rhbz#2358435) - client: correctly account for Client::WriteEncMgr() ref counts (rhbz#2358435) - client: remove unneeded goto jump (rhbz#2358435) - test: clean up some warnings (rhbz#2358435) - qa: Add fscrypt unit tests to workunits (rhbz#2358435) - client: Add additional case for fscrypt enabled setattr (rhbz#2358435) - client: Check for dname max len before wrapping name (rhbz#2358435) - client: Add fscrypt enc support to C_Read_Sync_NonBlocking (rhbz#2358435) - client: Address misc comments Mar 24 (rhbz#2358435) - Fix Testclient bug (rhbz#2358435) - client: Add shared_mutex (rhbz#2358435) - client: When creating WriteEncMgr take into account client_oc (rhbz#2358435) - client: Add client_fscrypt_as option (rhbz#2358435) - client: simplify some filepath constructions (rhbz#2358435) - client: print readable encrypted names (rhbz#2358435) - client: catch error opening snapdir inside snap (rhbz#2358435) - client: do not wrap ceph special names (rhbz#2358435) - client: remove remaining fscrypt conflicts (rhbz#2358435) - client: use path walk and on-the-fly enc/dec for fscrypt (rhbz#2358435) - client: Use correct sizes in write_success (rhbz#2358435) - client: Use PATH_MAX for max size of fscrypt enabled symlinks (rhbz#2358435) - cephfs/test_volumes: Create tests for enctag (rhbz#2358435) - doc: Add documentation for enctag in subvolume (rhbz#2358435) - client: Add is_encrypted libcephfs api (rhbz#2358435) - mgr/volumes: Add enctag to subvol (rhbz#2358435) - client: Use new errno identifiers (rhbz#2358435) - client: use fscrypt headers provided by linux (rhbz#2358435) - client: Fix up a few things in read_sync path (rhbz#2358435) - client: Calculate len before prepare_data_read (rhbz#2358435) - client: During fscrypt write, ensure we get Fr cap (rhbz#2358435) - test/libcephfs: Add skips to tests where mount root is a subdir (rhbz#2358435) - client: Use enc_name when linking a fscrypt enabled inode (rhbz#2358435) - client: Do not encrypt '.' or '..' (rhbz#2358435) - client: Use symlink_plain for decrypted fscrypt name (rhbz#2358435) - client: fscrypt last block (rhbz#2358435) - client: Do not decrypt bl on trim read (rhbz#2358435) - client: set symlink dest to proper value (rhbz#2358435) - test: Add function policy populator for reuse in fscrypt tests. (rhbz#2358435) - client: change conditional to check for is locked. (rhbz#2358435) - fuse client, fscrypt, test: Implement and create tests for S_ENCRYPTED in inode i_flags (rhbz#2358435) - client: Use correct sizes on write_success (rhbz#2358435) - client: clear logical size on open(O_TRUNC) (rhbz#2358435) - test, client: implement tests for not supported FALLOC ops, use policy to determine the padding size for encrypted filename (rhbz#2358435) - client: Add fscrypt last block (rhbz#2358435) - client: Ensure file_cache cap is released. (rhbz#2358435) - client: Various fixes to fix multi-fuse client (rhbz#2358435) - qa: Convert and create tests for libcephfs fscrypt (rhbz#2358435) - client: Update fscrypt_file when mds info is newer (rhbz#2358435) - qa: Add tests of interopability of fscrypt between fuse/kernel (rhbz#2358435) - ObjectCacher: handle nullptr hole case (rhbz#2358435) - ObjectCacher: On RetryRead, ensure "hole" value is used (rhbz#2358435) - client: When calling update_inode_file_size, provide correct size (rhbz#2358435) - client: Use effective_size in eof read (rhbz#2358435) - client/FSCrypt: securely erase crypto key (rhbz#2358435) - client: Implement status for fscrypt key status (rhbz#2358435) - client: Add busy case on key removal (rhbz#2358435) - fuse: enable ioctl on dir for fscrypt (rhbz#2358435) - src/test/libcephfs: add test cases for fscrypt key removal busy case (rhbz#2358435) - qa: Added workunits for testing problem snippets on rmw workloads (rhbz#2358435) - qa: Allow fscrypt testing on fuse (rhbz#2358435) - client: fix non-encrypted case in read_sync (rhbz#2358435) - client: fscrypt rmw fails when endoff end of block or file Fscrypt rmw fails when end of a write lines up with end of a block or end of the file. (rhbz#2358435) - client: During lookup of fscrypt symlink, use target fscrypt info. (rhbz#2358435) - client: Fix logic in need read start/end to account for fscrypt. (rhbz#2358435) - client: After a rebase, no lock is necessary. (rhbz#2358435) - Client: fix O_TRUNC issue (rhbz#2358435) - client: Ensure symlink plaintext is set (rhbz#2358435) - client: rmw doesn't get_cap_ref like it should. After rmw, it put_cap_ref and it didn't happen. Issue with bool need_read. (rhbz#2358435) - Populate add key return (rhbz#2358435) - test: Add test for semantics (rhbz#2358435) - client: On fscrypt enabled directories, only allow read/write to files in dir when unlocked. Client should not be able to read/write the encrypted payload. (rhbz#2358435) - fscrypt: Add tests for add key, remove key, set policy. (rhbz#2358435) - client: Allow setpolicy only on dir and when it is empty. (rhbz#2358435) - Add multi user support on a unlock claim. (rhbz#2358435) - client,test,osdc: add beginnings of fscrypt support (rhbz#2358435) - client: disallow unprivileged users to escalate root privileges * Thu Apr 10 2025 Ceph Jenkins 2:19.2.1-122 - exporter: SIGTERM/SIGINT/SIGHUP management (rhbz#2321765) - exporter: New metric for report ceph daemons health (rhbz#2146728) * Wed Apr 09 2025 Ceph Jenkins 2:19.2.1-121 - mgr/cephadm: add smb to gateway types so it is upgraded (rhbz#2353137) - mgr/cephadm: block deploying nvmeof daemons on the same host (rhbz#2283976) - cephadm: check "ceph_device_lvm" field instead of "ceph_device" during zap (rhbz#2354475) * Wed Apr 09 2025 Ceph Jenkins 2:19.2.1-120 - mgr/cephadm: add support for turning on ganesha virtual server feature (rhbz#2358254) * Wed Apr 09 2025 Ceph Jenkins 2:19.2.1-119 - cephadm: Use vendored dataclesses if needed in smb.py (rhbz#2351292) - cephadm: add _vendor with dataclases (rhbz#2351292) * Wed Apr 09 2025 Ceph Jenkins 2:19.2.1-118 - rgw: fix the version in DECODE_START() of RGWZoneGroupPlacementTier (rhbz#2345486) - rgw/cloudrestore: Add Restore support from Glacier/Tape cloud endpoints (rhbz#2345486) - rgw/cloud-tier: Redefining cloud tier types (rhbz#2345486) - rgw/cloud-restore: Add new tier-type & options related to S3 Glacier (rhbz#2345486 rhbz#2345488) * Wed Apr 09 2025 Ceph Jenkins 2:19.2.1-117 - cls/rgw: non-versioned listings skip past version suffix (rhbz#2329523) - cls/rgw: log input arguments to rgw_bucket_list() (rhbz#2329523) - rgw/rados: fix list_objects_ordered() detection of "forward progress" (rhbz#2329523) * Wed Apr 09 2025 Ceph Jenkins 2:19.2.1-116 - qa/.../test_rgw_rados_pool_quota: ignore cluster warnings (rhbz#2345560 rhbz#2342928) - qa/.../test_rgw_rados_pool_quota: add test for deleting objects with pool at quota (rhbz#2345560 rhbz#2342928) - rgw/rados: use set_pool_full_try() when deleting tail objects (rhbz#2345560 rhbz#2342928) - rgw/rados: use set_pool_full_try() when deleting head objects (rhbz#2345560 rhbz#2342928) * Wed Apr 09 2025 Ceph Jenkins 2:19.2.1-115 - RGW:fix obj by multipart upload cant get tag Fixes: https://tracker.ceph.com/issues/53016 (rhbz#2336076 rhbz#2323604) * Wed Apr 09 2025 Ceph Jenkins 2:19.2.1-114 - mgr/dashboard: Add downstream ceph version (rhbz#2293659) * Tue Apr 08 2025 Ceph Jenkins 2:19.2.1-113 - rgw: clean-up of some code (rhbz#2341761) - rgw: add doc & doc testing for force option on `radosgw-admin object rm ...` (rhbz#2341761) - rgw: add force option to `radosgw-admin object rm ...` (rhbz#2341761) - rgw: fix bug with rgw-gap-list (rhbz#2341761) - rgw: radolist clean up, calculate obj info slightly earlier (rhbz#2341761) - rgw: modify radoslist to better support the rgw-gap-list tool (rhbz#2341761) - rgw: fix regression in radoslist with SLO manifests (rhbz#2341761) - mgr/nfs: make sure sectype is a list when parsed (rhbz#2356967) - rgw: allow disabling bucket stats on head bucket (rhbz#2325408) - mgr/dashboard: Fix empty ceph version in GET api/hosts (rhbz#2345267) - mgr/dashboard: NFS Rate Limit for enabling disabling Ops Control for Export and Cluster (rhbz#2353171) - mgr/dashboard: add nvmeof performance and overview grafana dashboards to Block -> Nvme/TCP tab in dashboard (rhbz#2358122) - rgw/multisite: account for zones opted out of sync and object filters during bucket deletion (rhbz#1696875) - rgw: remove unused objv tracker (rhbz#1696875) - rgw/multisite: check for both zonegroup and bucket level sync policies when returning enotempty during bucket deletion (rhbz#1696875) - qa/tests: test for bucket enotempty check during delete (rhbz#1696875) - rgw/trim: restore update_mapping_update in RGWBucketInstanceMetadataHandler::remove - fix testcase (rhbz#1696875) - rgw/trim: fix ENOENT return response from bucket sync status query. only handle them when the bucket metadata is deleted. there is a case when we get enoent when status objects have not been created yet, for example when bucket metadata is created and synced but no data exists yet and bucket sync status won't be initialized. these don't need special handling. (rhbz#1696875) - qa/multisite: test trimming bilog on all zonegroups (rhbz#1696875) - qa/multisite: test with checkpoint delays (rhbz#1696875) - rgw/multisite: don't sync metadata entry for bucket instance removal. removal should happen locally (rhbz#1696875) - rgw/multisite: thread svc_datalog through RGWBucketCtl and BucketInstanceMetadataHandler (rhbz#1696875) - rgw/multiiste: fix bucket enotempty check (rhbz#1696875) - rgw/multisite: move the remote bucket listing logic into a separate function. (rhbz#1696875) - rgw/multisite: in a multisite env with bucket sync policies configured, we may end up orphaning objects on remote zones when a delete bucket is issued on metadata master. to avoid this, list the buckets on remote zones and delete bucket only when empty. if a zone is unreachable we drop that zone and continue with bucket deletion. such zones might have orphaned objects that will have to be cleaned up using radosgw-admin tool (rhbz#1696875) - qa/multisite: update test for bucket instance deletion (rhbz#1696875) - rgw/multisite: - add deleted layout on master zone - handle the case when StatusShards returns -ENOENT (rhbz#1696875) - qa/multisite: add a bilog trim testcase with bucket deletion (rhbz#1696875) - rgw/multisite: add datalog entry when transitioning to 'DELETED' log layout (rhbz#1696875) - rgw/multisite: helper function to store bucket info flag (rhbz#1696875) - rgw/multisite: retry on detecting bucket instance metadata racing writes (rhbz#1696875) - rgw/multisite: - don't overwrite bucket attrs while storing bucket instance info. - get rid of the helper function that adds the 'deleted' log layout. (rhbz#1696875) - rgw/multisite: add 'deleted' as a RGWBucketInfo flag (rhbz#1696875) - rgw/multisite: handle the 'deleted' index log addition in RGWBucketInstanceMetadataHandler. create an async cr for removing bucket instance info in bilog trimming logic (rhbz#1696875) - rgw/multisite: draft of bucket index cleanup after deletion (rhbz#1696875) - rgw/service: remove unused metadata and metadata backend services - rgw/services: remove unused RGWSI_Role_RADOS - rgw/role: add rgwrados::role interface for role metadata - rgw/metadata: use raw RGWMetadataHandler for role metadata - rgw/metadata: encapsulate role metadata handler in rgw_role.cc - rgw/metadata: use raw RGWMetadataHandler for user metadata - rgw/user: remove unused 'meta backend ctx' arguments - rgw/user: call sysobj directly instead of 'sysobj meta backend' - rgw/metadata: use raw RGWMetadataHandler for bucket instances - rgw/metadata: use raw RGWMetadataHandler for bucket entrypoints - rgw/bucket: remove unused 'meta backend ctx' arguments - rgw/bucket: call sysobj directly instead of 'sysobj meta backend' - rgw/bucket: free functions for bucket instance metadata keys - rgw/services: remove otp service and metadata backend - rgw/metadata: remove backend stuff from otp metadata handler - rgw/services: remove unused RGWOTPCtl - rgw: clear output keys in RGWMetadataLister::get_next() * Mon Apr 07 2025 Ceph Jenkins 2:19.2.1-112 - test: do not install unit test binary (rhbz#2353897) - test: remove syncio.cc from test build (rhbz#2353897) - libcephfs,client: fix parameters validation for ZC (rhbz#2353897) - test: add sanity and integration test for zerocopy (rhbz#2353897) - cephfs client: add RW copy metrics (rhbz#2353897) - libcephfs: expose zerocopy in libcephfs (rhbz#2353897) - cephfs client: add zero-copy capabilit (rhbz#2353897) * Mon Apr 07 2025 Ceph Jenkins 2:19.2.1-111 - mgr/dashboard: introduce dashboard setting to resolve rgw hostname (rhbz#2282092) * Mon Apr 07 2025 Ceph Jenkins 2:19.2.1-110 - Add nvmeof grafana dashboard (rhbz#2357804) * Fri Apr 04 2025 Ceph Jenkins 2:19.2.1-109 - rbd_mirror: add fields to mirror group status's description str (rhbz#2357464) - qa/workunits/rbd: update to mirror group snapshot tests (rhbz#2357464) - librbd/api: cleanup prepare_group_images to dup group_ioctx (rhbz#2357464) - rbd_mirror: fix cross namespace group snapshot mirroring (rhbz#2357464) - qa/workunits/rbd: stick to RBD_MIRROR_MODE for mirror image mode (rhbz#2357464) - qa/workunits/rbd: use xmlstarlet directly in rbd_mirror_helpers.sh (rhbz#2357464) - qa/workunits/rbd: stop_mirror() should send a given signal just once (rhbz#2357464) - rbd-mirror: fix issues around health state (rhbz#2357464) - rbd-mirror: implement group replayer Health State (rhbz#2357464) - rbd-mirror: catch and bubble-up all the image level errors to group status (rhbz#2357464) * Fri Apr 04 2025 Ceph Jenkins 2:19.2.1-108 - mgr/cephadm: making mgmt-gateway an oauth2-proxy dependency (rhbz#2356850) * Thu Apr 03 2025 Ceph Jenkins 2:19.2.1-107 - mgr/dashboard: e2e for cephfs creation with existing pools (rhbz#2251887) - mgr/dashboard: use existing pools for cephfs vol creation (rhbz#2251887) - mgr/dashboard: add prometheus read permission to cluster_mgr role (rhbz#2352499) - doc/rgw/logging: add documentation for bucket logging policy (rhbz#2345305) - rgw/logging: add quota enforcement to bucket logging (rhbz#2345305) - rgw/logging: use bucket policy for logging (rhbz#2345305) - rgw/iam: add policy evaluation for Arn-based Conditions (rhbz#2345305) - rgw/iam: match_policy() treats MATCH_POLICY_ARN as case-sensitive (rhbz#2345305) - rgw/iam: simplify match_policy() for colon-delimited use only (rhbz#2345305) - rgw/iam: add support to service principals in bucket policy (rhbz#2345305) * Thu Apr 03 2025 Ceph Jenkins 2:19.2.1-106 - mon,cephfs: small improvement for health warning methods (rhbz#2328008) - qa/cephfs: test that failing a FS is possible when other MDS/FS has... (rhbz#2328008) - qa/cephfs: allow detecting MDS ID from FS object for method the.. (rhbz#2328008) - mon,cephfs: don't disallow "fs fail" when other FS/MDS has health... (rhbz#2328008) - cephfs,mon: rename variable to a better name (rhbz#2328008) - mon,cephfs: fix indentation level for a code block (rhbz#2328008) - qa/cephfs: test that a MDS can be failed when other FS/MDS has a... (rhbz#2328008) - qa/cephfs: allow passing MDS ID to method that generate... (rhbz#2328008) - mon,cephfs: check MDS ID before aborting "mds fail" command (rhbz#2328008) * Thu Apr 03 2025 Ceph Jenkins 2:19.2.1-105 - PendingReleaseNote: add note that "volume create" accepts pool names... (rhbz#2355686) - doc/cephfs: mention new options for "fs volume create" cmd (rhbz#2355686) - qa/cephfs: test passing pool names to "fs volume create" cmd (rhbz#2355686) - qa/cephfs: separate the tests for "ceph fs volume create" cmd (rhbz#2355686) - mgr/vol: allow passing pool names to "fs volume create" cmd (rhbz#2355686) * Thu Apr 03 2025 Ceph Jenkins 2:19.2.1-104 - PendingReleaseNote: add release note that mgr/volumes plugin can be... (rhbz#2280032) - qa/cephfs: test enable/disable of volumes plugin (rhbz#2280032) - mon/MgrMonitor: allow disabling always-on MGR modules (rhbz#2280032) - mon/MgrMontitor: add log entry to support debugging (rhbz#2280032) - mon/MgrMonitor: improve a log message (rhbz#2280032) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-103 - mgr/cephadm: add only_bind_port_on_networks support for rgw (rhbz#2356355) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-102 - mgr/dashboard: make smb tabs routable (rhbz#2356961) - mgr/dashboard: add helper texts for smb workflows (rhbz#2356961) - mgr/dashboard: add handling of delete errors for smb resource deletion (rhbz#2356961) - mgr/dashboard: add validators for smb forms (rhbz#2356961) - mgr/dashboard: add file uploader for smb usersandgroups (rhbz#2356961) - mgr/dashboard: carbonize smb tabs (rhbz#2356961) - mgr/dashboard: fix smb cluster placement (rhbz#2356961) - mgr/dashboard: add separation for service section in smb cluster form (rhbz#2356961) - mgr/dashboard: fix domain settings modal scrollable (rhbz#2356961) * Wed Apr 02 2025 Justin Caratzas - 2:19.2.1-101 - Add python-jmespath and python-xmltodict to mgr-dashboard Requires (rhbz#2355694) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-100 - mgr/cephadm: add command to write custom logrotate file to all hosts (rhbz#2105926 rhbz#2090881 rhbz#2148251) - cephadm: add command to write out custom logrotate file (rhbz#2105926 rhbz#2090881 rhbz#2148251) - mgr/cephadm: allow setting up RGW delaying shutdown to complete client connections (rhbz#2081339) - mgr/rgw: add ability for rgw realm bootstrap to create pools (rhbz#2006083) - Revert "mgr/rgw: add ability for rgw realm bootstrap to create pools" (rhbz#2006083) - mgr/cephadm: trigger host metadata refrsh when taking host out of maintenance (rhbz#2309253) - mgr/cephadm: add func to invalidate all host metadata and kick serve loop (rhbz#2309253) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-99 - mgr/dashboard: add enhancements for pool rulest (rhbz#2277697 rhbz#2282276 rhbz#2315401) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-98 - cephadm: orch upgrade status to return output according to the format specified (rhbz#2047153) - Update src/pybind/mgr/orchestrator/module.py (rhbz#2097853) - cephadm: ceph orch upgrade status - Display easily understandable message (rhbz#2097853) - Abort nvme deployment with pool that doesn't exists (rhbz#2304802) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-97 - rgw: svc_bucket_sobj.cc build fix (REBASEME) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-96 - doc: update documentation for normalization and case sensitivity (rhbz#2355303) - qa: add tests for case sensitivity configuration on subvolume creation (rhbz#2355303) - pybind/mgr: add option to set case sensitivity to a subvolume (rhbz#2355303) - qa: add tests for normalization configuration on subvolume creation (rhbz#2355303) - pybind/mgr: add option to set unicode normalization to a subvolume (rhbz#2355303) - pybind/mgr: create normalization xattr in subvolumes (rhbz#2355303) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-95 - rgw: RGWRados::get_olh() needs to use the correct attr (rhbz#2338402) - rgw/s3: remove local variable 'uri' that shadows member variable (rhbz#2338149) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-94 - mgr/dashboard: upgrading nvmeof doesn't update configuration (rhbz#2332065 rhbz#2322677) - mgr/dashboard: enable ha by default on subsystem POST API (rhbz#2280839) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-93 - libcephfs_proxy: workaround for delays and hangs in the proxy (rhbz#2355691) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-92 - OSDMonitor: exclude destroyed OSDs from "ceph node ls" output (rhbz#2269003) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-91 - mgr/dashboard: fix image filter's query on rbd-details grafana panel (rhbz#2349010) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-90 - mgr/cephadm: 'ceph orch ls' to display all the ports used by RGW service. (rhbz#2331411) * Wed Apr 02 2025 Ceph Jenkins 2:19.2.1-89 - rgw_cksum: aieee, don't leak Combiners (rhbz#2355790) - rgw_cksum: fix checksum type return from complete-multipart (rhbz#2355038) - rgw_cksum: fix comparison and display of composite checksums (rhbz#2355038) - rgw_cksum: fail checksum mismatch with BadDigest (rhbz#2355038) - rgw_cksum: don't add ChksumType to output in GET (rhbz#2353296) - rgw_cksum: avoid fmt of char* null when no checksum header supplied (rhbz#2349928) - rgw_cksum: return ChecksumType as both header and XML in GetObjectAttributes (rhbz#2349928) - rgw_cksum: add crcany license to COPYING (rhbz#2349928) - backport fixes (rhbz#2349928) - rgw/cksum: GetObject omits checksum headers for Range requests (rhbz#2349928) - rgw:cksum: implement crc64nvme and combined 32- and 64-bit CRCs (rhbz#2349928) - rgw_cksum: add 64bit and 32bit crc constructions from crcany (rhbz#2349928) - rgw_cksum: prototype support for CRC64NVME (rhbz#2349928) - rgw: borrow crc64_nvme code from spdk 24.9.0 (rhbz#2349928) - rgw: handle bad/unknown checksum case in cksum::Factory (rhbz#2345505 rhbz#2352427) - rgw: add missing last_modified field to swift api * Tue Apr 01 2025 Ceph Jenkins 2:19.2.1-88 - rgw/lc: make lc worker thread name shorter (rhbz#2338119) * Tue Apr 01 2025 Ceph Jenkins 2:19.2.1-87 - os/bluestore/ceph-bluestore-tool: Modify show-label for many devs (rhbz#2356526) * Tue Apr 01 2025 Ceph Jenkins 2:19.2.1-86 - nfs/mgr: Updated logs and exception messages (rhbz#2355344) - mgr/nfs: Added skip_notify_nfs_server parameter to update export commands (rhbz#2354788) - mgr/nfs: When cluster level qos is disabled and export still has qos parameters, then allow nfs export apply command if file has same qos block which is already set (rhbz#2353172) - mgr/nfs: Add cluster level qos status to export get qos command (rhbz#2350069) - mgr/cephadm: Deploying prometheus service for the first time, does not update PROMETHEUS_API_HOST url under mgr module (rhbz#2315072) - cephadm: Enable logroate.timer service in bootstrap process - mgr/cephadm: Open port 4721 while deploying cephadm agent (rhbz#2336863) - mgr/cephadm: use ip_hash to enforce the same prometheues upstream (rhbz#2319330) - mgr/cephadm: set the default loglevel for mgmt-gateway to warn (rhbz#2319330) - mgr/cephadm: fixing mgmt-gateway cert generation for HA scenarios (rhbz#2319330) - mgr/cephadm: refactor oauth2-proxy certs and cookie-secret handling (rhbz#2319330) - cephadm: link new OSDs to existing managed services (rhbz#2253832) - cephadm: Ensure wildcard SAN is included in RGW self-signed certs (rhbz#2330954) * Tue Apr 01 2025 Ceph Jenkins 2:19.2.1-85 - mgr/dashboard:fixed issue with notification icon (rhbz#2313513) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-84 - osd/OSDCap: fix misleading grammar comments (rhbz#2342244) - mon/OSDMonitor: relax cap enforcement for unmanaged snapshots (rhbz#2342244) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-83 - mgr/dashboard: NFS Rate Limit for enabling disabling QOS for Cluster and Export (rhbz#2355703) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-82 - mgr/dashboard: Remove statement about multi-cluster setup from helper text under Set up Multi-site Replication section in RH dashboard (rhbz#2322398) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-81 - RGW|Bucket Notification: fix for v2 topics rgw-admin list operation (rhbz#2355272) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-80 - rgw/logging: flush command should print flushed log object name (rhbz#2344993) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-79 - mgr/dashboard: added ports in administration table (rhbz#2314422) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-78 - mgr/dashboard:Roles section is not aligned with column name (rhbz#2315603) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-77 - mgr/dashboard: fix bucket form encryption checkbox (rhbz#2355683) * Fri Mar 28 2025 Ceph Jenkins 2:19.2.1-76 - mgr/nfs: NFS Cluster and Export Listing (rhbz#2353171) * Thu Mar 27 2025 Ceph Jenkins 2:19.2.1-75 - mgr/dashboard: KiB not supported size for namespace creation (rhbz#2325397) - mgr/dashboard: fix blockUI implementation (rhbz#2351553) * Thu Mar 27 2025 Ceph Jenkins 2:19.2.1-74 - librbd: get_group_snap_get_mirror_namespace() API + groups in "rbd mirror pool status" (rhbz#2354498) - rbd_mirror: avoid passing empty remote_mirror_uuid to group_replayer (rhbz#2354498) - librbd/api: don't mask images in group with read-only as part of image_demote() (rhbz#2354498) - cleanup: uncommented assert m_state_builder (rhbz#2354498) - librbd/api: add defence in group enable to bail about different pool images (rhbz#2354499) - rbd: fix text in mirror group help messages (rhbz#2354498) - librbd/api: finalize the API's about skip-quiesce and ignore-quiesce-error flags (rhbz#2354498) - cleanup: bootstrap no more need prepare_non_primary_mirror_snap_name (rhbz#2354498) - rbd-mirror: don't call group_snap_set for every image snap for regular group snap (rhbz#2354498) - rbd-mirror: call set_image_replayer_limits() only if group_snap_set() successful (rhbz#2354498) - rbd-mirror: address group_snap_set() failures (rhbz#2354498) - rbd-mirror: fix m_stop_requested leading to a race (rhbz#2354498) - cleanup: avoid passing last_local_snap_id to unlink_group_snapshots (rhbz#2354498) - cleanup: avoid use of remote_group_snap id and name variable names for readability (rhbz#2354498) - qa/workunits/rbd: fix and enable test_force_promote_before_initial_sync (rhbz#2354498) - librbd/api: fail group promote when there is no previous snapshot (rhbz#2354498) - qa/workunits/rbd: update to mirror group snapshot tests (rhbz#2354498) - rbd-mirror: avoid bootstrap creating a local non_primary group snapshot (rhbz#2354498) - rbd-mirror: look for mismatch in name only on secondary cluster (rhbz#2354498) - qa/workunits/rbd: enable and fix test_resync_marker test (rhbz#2354498) - rbd-mirror: group-replayer check for remote demote state (rhbz#2354498) - librbd/api: fix rollback failures to mirror group snapshots (rhbz#2354498) - rbd: mirror_uuids -> mirror_uuid in remote mirror peer listing (rhbz#2354498) - rbd: extend use of "none" placeholder to IMAGES section (rhbz#2354498) - rbd: drop redundant separator between DAEMONS and IMAGES sections (rhbz#2354498) - librbd: don't use public API flags in Group::snap_create() (rhbz#2354498) - librbd: respect rbd_default_snapshot_quiesce_mode in group_snap_create() (rhbz#2354498) - mgr/rbd_support: always parse interval and start_time in Schedules::remove() (rhbz#2354501) * Thu Mar 27 2025 Ceph Jenkins 2:19.2.1-73 - qa/cephfs: increase data to be delay data sync by mirror daemon (rhbz#2317735) - cephfs-mirror: integrate blockdiff API for regular file transfers (rhbz#2317735) - mds: dout snapdiff snapid's before validation check (rhbz#2317735) - cephfs-mirror: current sync mschanism uses sync mechanism subclass'ing (rhbz#2317735) - cephfs-mirror: remove redundant ceph_close() calls. (rhbz#2317735) - cephfs/client: dir_reset_t::reset() - add missing fd reset. (rhbz#2317735) - qa: add test for syncing already existing snapshots (rhbz#2317735) - cephfs_mirror: avoid latest changes on the source fs to enable mirroring (rhbz#2317735) - mds: introduce BLOCKDIFF feature bit (rhbz#2317735) - test: add file blockdiff tests (rhbz#2317735) - libcephfs / client: wire up file blockdiff (rhbz#2317735) - mds: add blockdiff operation support (rhbz#2317735) - tools/rados: include latest snapshot sequence in listsnaps (rhbz#2317735) - test/libcephfs: include inode type change test for snapdiff (rhbz#2317735) - mds: include deleted file dentry in snapdiff readdir result (rhbz#2317735) * Thu Mar 27 2025 Ceph Jenkins 2:19.2.1-72 - dmclock/.../dmclock_server: do not clean clients with requests (rhbz#2265371) - test/osd/TestMClockScheduler: TestMultiClientOrderedEnqueueDequeue use client class (rhbz#2265371) - test/osd/TestMClockScheduler: create_item should pass prio < cutoff (rhbz#2265371) - test/osd/TestMClockScheduler: add test for very slow dequeue (rhbz#2265371) - osd/scheduler/mClockScheduler: add constructor to specify idle/erase/check times (rhbz#2265371) - osd/scheduler/mClockScheduler: move constructor to header (rhbz#2265371) - src/dmclock: remove superfluous license files (rhbz#2265371) - src/dmclock: copy dmclock submodule into ceph.git (rhbz#2265371) * Wed Mar 26 2025 Ceph Jenkins 2:19.2.1-71 - mgr/dashboard: fix rgw and osd regression in e2e (rhbz#2353305) * Tue Mar 25 2025 Ceph Jenkins 2:19.2.1-70 - mon, osd: add command to remove invalid pg-upmap-primary entries (rhbz#2349077) * Tue Mar 25 2025 Ceph Jenkins 2:19.2.1-69 - mgr/dashboard: tenanted bucket lifecycle management fix (rhbz#2354858) * Tue Mar 25 2025 Ceph Jenkins 2:19.2.1-68 - mgr/dashboard: poll call home services only for admin (rhbz#2352499) - mgr/dashboard: fix readonly landingpage (rhbz#2352499) - mgr/dashboard: add types for mgr-module list (rhbz#2352499) - mgr/dashboard: fix access control permissions for roles (rhbz#2352499) * Tue Mar 25 2025 Ceph Jenkins 2:19.2.1-67 - mgr/dashboard: NFS - Fix Edit NFS export request (rhbz#2352497) * Mon Mar 24 2025 Ceph Jenkins 2:19.2.1-66 - mgr/dashboard: bucket lifecycle fixes after using xmltodict package (rhbz#2354529) - mgr/dashboard: add xlmtodict import and fix lifecycle get request (rhbz#2354529) * Mon Mar 24 2025 Ceph Jenkins 2:19.2.1-65 - mgr/dashboard: fix ibm only smb route (rhbz#2354473) * Mon Mar 24 2025 Ceph Jenkins 2:19.2.1-64 - nvmeofgw: fix host issue during redeploy (rhbz#2354476) * Mon Mar 24 2025 Ceph Jenkins 2:19.2.1-63 - monitoring: rename NVMeoFSingleGatewayGroup alert (rhbz#2353117) * Sun Mar 23 2025 Ceph Jenkins 2:19.2.1-62 - rgw: introduce rgw_bucket_eexist_override (rhbz#2336983) * Fri Mar 21 2025 Ceph Jenkins 2:19.2.1-61 - mgr/dashboard: fix call home agreement checkbox (rhbz#2353481) - mgr/dashboard: show the call home connection status (rhbz#2353483) * Fri Mar 21 2025 Ceph Jenkins 2:19.2.1-60 - rgw/cloud-restore: Handle "null" instance non-current objects (rhbz#2312931) - rgw/cloud-restore: Handle versioned objects (rhbz#2312931) - rgw/cloudtier : disable sync for cloud tier objects (rhbz#2309701) - rgw/cloudtier : handle multisite sync for cloud objects (rhbz#2309701) - rgw/rgw_admin.cc : Make restore attrs readable in admin cli (rhbz#2309701) - rgw/cloud-restore: Do not send internal headers to cloud-endpoint (rhbz#2344731) * Fri Mar 21 2025 Ceph Jenkins 2:19.2.1-59 - mgr/dashboard: Not able to edit user display/full name in user form (rhbz#2351868) * Fri Mar 21 2025 Ceph Jenkins 2:19.2.1-58 - mgr/dashboard: add basic e2e to verify wizard (rhbz#2354000) - mgr/dashboard: fix multisite wizard form not showing (rhbz#2354000) * Thu Mar 20 2025 Ceph Jenkins 2:19.2.1-57 - mgr/smb: Add ceph_snapshots vfs module to share definition (rhbz#2353510) * Thu Mar 20 2025 Ceph Jenkins 2:19.2.1-56 - monitoring: add SMB overview grafana dashboard (rhbz#2353506) * Wed Mar 19 2025 Ceph Jenkins 2:19.2.1-55 - cephadm: add placeholder for removed cephadm jaeger-tracing files (rhbz#2352525) * Wed Mar 19 2025 Ceph Jenkins 2:19.2.1-54 - mgr/nfs: Updated get qos to return bandwidth in bytes as dashboard needs bw in bytes (rhbz#2351461) * Wed Mar 19 2025 Ceph Jenkins 2:19.2.1-53 - rgw/reshard: fix source shard count in log message (rhbz#2352534) - mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in pool.libsonnet (rhbz#2250826) - mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in osd.libsonnet (rhbz#2250826) - mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in host.libsonnet (rhbz#2250826) - mgr/dashboard: Changing SimpleGraphPanel to TimeSeries Panel in cephfs.libsonnet (rhbz#2250826) - mgr/dashboard: Fix rgw user key modal not shown (rhbz#2351846) - mgr/dashboard: When configuring the RGW Multisite endpoints from the UI allow FQDN(Not only IP) (rhbz#2282997) - mgr/call_home: refactor agent * Tue Mar 18 2025 Ceph Jenkins 2:19.2.1-52 - mgr/dashboard: RGW - NFS Form missing fsal user_id control (rhbz#2352898) * Tue Mar 18 2025 Ceph Jenkins 2:19.2.1-51 - mgr/dashboard: Add ceph_daemon filter to rgw overview grafana panel queries (rhbz#2319125) * Tue Mar 18 2025 Ceph Jenkins 2:19.2.1-50 - mgr/dashboard: fix OAuth2 SSO when roles_path is empty (rhbz#2351536) * Tue Mar 18 2025 Ceph Jenkins 2:19.2.1-49 - mgr/dashboard: undefined while creating rbd image (rhbz#2352840) - mgr/dashboard: cypress failure after angular upgrade (rhbz#2352840) - mgr/dashboard: fixing cephadm dashboard e2e failures (rhbz#2352840) - mgr/dashboard: fix osd list search with id (rhbz#2352840) - mgr/dashboard: add custom items to combo box (rhbz#2352840) - mgr/dashboard: fix host form issues (rhbz#2352840) - mgr/dashboard: carbonize Cluster > Hosts form (rhbz#2352840) * Mon Mar 17 2025 Ceph Jenkins 2:19.2.1-48 - mgr/cephadm: Allow upgrades by toplogical labels (rhbz#2353013) - mgr/cephadm: add options for haproxy to verify backend ssl cert (rhbz#2345489) - mgr/cephadm: add ability for cephadm to generate ssl cert for ingress (rhbz#2345489) * Mon Mar 17 2025 Ceph Jenkins 2:19.2.1-47 - qa/workunits/rbd: adjust grep invocation in is_leader() (rhbz#2089305) - qa/workunits/rbd: fix looping in remove_image_retry() (rhbz#2089305) - qa/workunits/rbd: fix positional argument expansion in create_image() (rhbz#2089305) - qa/workunits/rbd: fix looping in wait_for_snapshot_sync_complete() (rhbz#2089305) - qa/workunits/rbd: make wait_for_omap_keys() work on a non-existent object (rhbz#2089305) - librbd: tolerate image not existing in ImageRemoveRequest (rhbz#2089305) - librbd/api: address C_SaferCond object leak (rhbz#2089305) - librbd: fix issues in create and unlink group snapshots (rhbz#2089305) - pybind/mgr: fix flake8 errors in rbd_support module (rhbz#2089305) - test/cli-integration/rbd: include `mirror group scheduler` (rhbz#2089305) - qa/workunits/rbd: update to mirror group snapshot tests (rhbz#2089305) - rbd-mirror: fix issues with rebase (rhbz#2089305) - rbd-mirror: address compiler warnings (rhbz#2089305) - rbd-mirror: improvements to group replayer (rhbz#2089305) - qa/workunits/rbd: update to mirror group snapshot tests (rhbz#2089305) - rbd-mirror: fix MirrorStatusWatcher (rhbz#2089305) - rbd-mirror: reuse the ImageReplayers in the GroupReplayer (rhbz#2089305) - qa/workunits/rbd: required changes to expect state to up+unknown (rhbz#2089305) - rbd-mirror: mark group state as up+unknown when group is demoted (rhbz#2089305) - librbd/io/AioCompletion: allow operations on group (rhbz#2089305) - qa/workunits/rbd: fix test_force_promote_delete_group (rhbz#2089305) - rbd-mirror: The primary GR does not need to wait for the remote to be ready (rhbz#2089305) - rbd-mirror: group remove status as part of Group Replayer (rhbz#2089305) - rbd-mirror: fix image map notifications for groups (rhbz#2089305) - librbd/mirror: cleanup redundant parameters in CreatePrimaryRequest and (rhbz#2089305) - librbd/mirror: set valid group_spec in MirrorSnapshotNamespace (rhbz#2089305) - librbd/mirror: change naming format of member image snap (rhbz#2089305) - librbd/api: set `image_snap_name` as empty string for mirror gp snap (rhbz#2089305) - librbd/api: set group snap's namespace type to mirror (rhbz#2089305) - rbd-mirror: reverting changes to ImageSync (rhbz#2089305) - rbd-mirror: avoid stuck group on secondary (rhbz#2089305) - rbd-mirror: fix issues around resync (rhbz#2089305) - rbd_mirror: avoid rescans in busy loop to detect new snapshots (rhbz#2089305) - qa/workunits/rbd: further improve smoke and enable more tests (rhbz#2089305) - rbd-mirror: early detect if the mirroring instance match global group id (rhbz#2089305) - qa/workunits/rbd: improve smoke and enable more tests (rhbz#2089305) - librbd: defend for primary as part of disable request (rhbz#2089305) - rbd-mirror: fix bootstrapping (rhbz#2089305) - librbd/api: disallow adding mirror enabled image to group (rhbz#2089305) - librbd/api: disallow mirror image operations on a group's member image (rhbz#2089305) - qa/workunits/rbd: add new tests and improve existing (rhbz#2089305) - rbd-mirror: align GroupReplayer register admin_socket_hook with ImageReplayer (rhbz#2089305) - rbd-mirror: fixes multiple issues in the group replayer (rhbz#2089305) - librbd: remove mirror APIs that change mirror group membership (rhbz#2089305) - librbd: disallow add/remove image to/from mirror enabled group (rhbz#2089305) - rbd-mirror: fix crashes in unittest_rbd_mirror (rhbz#2089305) - rbd-mirror: do not move the images to trash while the disabling is in progress (rhbz#2089305) - rbd-mirror: bootstrap wait for previous disabling group to cleanup (rhbz#2089305) - rbd_mirror: cleanup group status keys in the rbd_mirroring object (rhbz#2089305) - qa/workunits/rbd: enable more tests that pass with latest changes (rhbz#2089305) - librbd: fixed a crash in GroupUnlinkPeerRequest (rhbz#2089305) - rbd_mirror: fix resync failure (rhbz#2089305) - librbd/deep_copy: rename .group snapshot according with local information (rhbz#2089305) - rbd_mirror: update local {group_pool, group_pool} in ImageSnapshotNamespaceGroup (rhbz#2089305) - librbd: fix group snapshot unlink (rhbz#2089305) - qa/workunits/rbd: improvements to smoke tests (rhbz#2089305) - rbd-mirror: add peer_uuids for non-primary demoted group snapshot (rhbz#2089305) - librbd: fix remove_interim_snapshots() (rhbz#2089305) - rbd: rbd group info now displays mirroring info (rhbz#2089305) - qa/workunits/rbd: updates to mirror group bash scripts (rhbz#2089305) - rbd-mirror: improvements to unlink group snapshot (rhbz#2089305) - rbd-mirror: synchronize image replayer and group replayer (rhbz#2089305) - mgr/rbd_support: create mirror gp snap asynchronously (rhbz#2089305) - librbd: add C and Python bindings for async mirror group snapshot create (rhbz#2089305) - librbd/group/UnlinkPeerGroupRequest: convert sync to async calls (rhbz#2089305) - librbd/mirror/snapshot: add async create mirror group snapshot (rhbz#2089305) - librbd/mirror/snapshot: add async group prepare images (rhbz#2089305) - librbd: add C and python bindings for async mirror gp snap info (rhbz#2089305) - librbd: add async state machine for "mirror_group_get_info" (rhbz#2089305) - mgr/rbd_support: disallow scheduling mirror snapshots (rhbz#2089305) - qa/workunits/rbd: add basic tests for mirror group snapshot scheduler (rhbz#2089305) - tools/rbd: add CLI to call into mirror group snapshot scheduler (rhbz#2089305) - pybind/mgr/rbd_support: add scheduler for mirror group snapshots (rhbz#2089305) - librbd: add API to fetch group name using group ID (rhbz#2089305) - librbd: add python and C bindings for group_list2 (rhbz#2089305) - pybind/rbd: add interface to create mirror group snapshot (rhbz#2089305) - pybind/rbd: add interfaces to fetch and list mirror group info (rhbz#2089305) - librbd/api/Mirror: set the boolean field 'primary' in group_info and group_list (rhbz#2089305) - cleanup: revert some of the unrequired changes (rhbz#2089305) - rbd-mirror: more improvements in the group replayer (rhbz#2089305) - rbd-mirror: create group snapshots only if remote group snapshot is complete (rhbz#2089305) - cls/rbd: changes needed to align rest with the proposed ones (rhbz#2089305) - cls/rbd: proposed changes (rhbz#2089305) - rbd-mirror: group replayer work in-progress changes (rhbz#2089305) - qa/workunits/rbd: mirror group tests improvements (rhbz#2089305) - rbd-mirror: move the rename detection logic to snapshot GroupReplayer (rhbz#2089305) - rbd-mirror: use group_header object for resync flagging (rhbz#2089305) - rbd-mirror: rollback to last good snapshot just while force promote (rhbz#2089305) - rbd-mirror: fix the below bugs (rhbz#2089305) - rbd-mirror: prune snapshots added to the list on image_replayer shutdown (rhbz#2089305) - rbd-mirror: discover primary demote snapshot in group_replayer (rhbz#2089305) - rbd-mirror: remove group snaps on primary at snapshot creation (rhbz#2089305) - rbd-mirror: Independent GroupReplayer (rhbz#2089305) - qa/workunits/rbd: mirror group functional tests (rhbz#2089305) - rbd-mirror: implement group resync functionality (rhbz#2089305) - rbd-mirror: support mirroring regular non-mirror group snapshots (rhbz#2089305) - rbd-mirror: support rename with group mirroring (rhbz#2089305) - rbd-mirror: add undo code, exclusive locking and quiescing (rhbz#2089305) - rbd-mirror: address partial group snapshots case (rhbz#2089305) - rbd-mirror: request group snapshot creation when creating group image snapshot (rhbz#2089305) - rbd-mirror: unlink group snapshot when pruning non-primary snapshot (rhbz#2089305) - rbd-mirror: initial group replayer implementation (rhbz#2089305) - rbd-mirror: hook GroupReplayer (rhbz#2089305) - rbd-mirror: make pool watcher also refresh groups (rhbz#2089305) - rbd-mirror: introduce generalized mirror entity (type, global_id, size) (rhbz#2089305) - rbd-mirror: remove dead code (rhbz#2089305) - rbd: add 'mirror group' commands (rhbz#2089305) - librbd: link group snapshot when creating non-primary snapshot (rhbz#2089305) - librbd: unlink group snapshot when removing mirror snapshot (rhbz#2089305) - librbd: allow to add image to group on creation (rhbz#2089305) - librbd: add mirror group API (rhbz#2089305) - librbd: don't send 'image updated' notifications (rhbz#2089305) - librbd: introduce 'group updated' mirroring watcher notification (rhbz#2089305) - librbd: introduce 'group add/remove image' async requests (rhbz#2089305) - librbd/api: assume user namespace for group snapshot (rhbz#2089305) - cls/rbd: add method to unlink image snapshot from group snapshot (rhbz#2089305) - cls/rbd: make possible mirror_image_list filter out group images (rhbz#2089305) - cls/rbd: add async versions of some group functions (rhbz#2089305) - cls/rbd: add group_spec and group_snap_id to mirror snapshot (rhbz#2089305) - cls/rbd: add mirror group types and methods (rhbz#2089305) - cls/rbd: add group snapshot namespace (rhbz#2089305) - cls/rbd: rename GroupSnapshotNamespace to GroupImageSnapshotNamespace (rhbz#2089305) - qa: drop XMLSTARLET variable, use xmlstarlet directly (rhbz#2089305) - cls/rbd: async methods for group snap list (rhbz#2089305) - cls/rbd: add functions to get group snap orders (rhbz#2089305) - cls/rbd: save max group snap order (rhbz#2089305) - cls/rbd: save group snapshot creation order in a new key (rhbz#2089305) - cls/rbd: make group_snap_list return error if it failed (rhbz#2089305) - rbd_mirror: rename method (rhbz#2089305) - rbd-mirror: code cleanup (rhbz#2089305) * Fri Mar 14 2025 Ceph Jenkins 2:19.2.1-46 - libcephfs_proxy: implement client side async rw operation (rhbz#2350284) - libcephfs_proxy: implement server side async rw operation (rhbz#2350284) - libcephfs_proxy: implement the async rw callback (rhbz#2350284) - libcephfs_proxy: define async rw opcode and structures (rhbz#2350284) - libcephfs_proxy: define some helper macros for callbacks (rhbz#2350284) - libcephfs_proxy: move pointer obfuscation functions to proxy_helpers.h (rhbz#2350284) - libcephfs_proxy: negotiate and use the async cbk feature (rhbz#2350284) - libcephfs_proxy: implement asynchronous callbacks (rhbz#2350284) - libcephfs_proxy: gracefully handle connection close (rhbz#2350284) - libcephfs_proxy: add negotiation documentation (rhbz#2350284) - libcephfs_proxy: replace legacy handshake by negotation in server side (rhbz#2350284) - libcephfs_proxy: replace legacy handshake by negotation in client side (rhbz#2350284) - libcephfs_proxy: implement server side negotiation (rhbz#2350284) - libcephfs_proxy: implement client side negotiation (rhbz#2350284) - libcephfs_proxy: implement receiving of negotiate structure (rhbz#2350284) - libcephfs_proxy: add negotiation structures (rhbz#2350284) - libcephfs_proxy: add support for control messages (rhbz#2350284) - libcephfs_proxy: reuse proxy_link_{read|write} (rhbz#2350284) * Fri Mar 14 2025 Ceph Jenkins 2:19.2.1-45 - mgr/cephadm: fix Server_Scope in ganesha.conf (rhbz#2352585) * Thu Mar 13 2025 Ceph Jenkins 2:19.2.1-44 - rgw: fix bucket sync thread waiting inordinate amount of time (rhbz#2135354) * Thu Mar 13 2025 Ceph Jenkins 2:19.2.1-43 - Backport to squid 8.1 of ceph-nvmeof-mon ======================================== (rhbz#2350962) * Thu Mar 13 2025 Ceph Jenkins 2:19.2.1-42 - mgr/cephadm: remove option level for certificate_check_debug_mode (rhbz#2351287) - mgr/cepahdm: adding a message when certificates check is OK (rhbz#2351287) - mgr/cephadm: addressing reviewer comments (rhbz#2351287) - mgr/cepahadm: fixing certificate get_status_description output (rhbz#2351287) - mgr/cephadm: adding new debug flag for testing purposes only (rhbz#2351287) - mgr/cephadm: fixing docs and defaults for some options (rhbz#2351287) - mgr/cephadm: improving individual certificates checks (rhbz#2351287) - mgr/cepahadm: added some logic to avoid loading unknown certs/keys (rhbz#2351287) - mgr/cephadm: reverting usage of Org Name 'Ceph' in self-signed certs (rhbz#2351287) - mgr/cephadm: adding new comands to remvoe keys/certificates (rhbz#2351287) - mgr/cepahadm: adding code to store self-signed rgw certificate (rhbz#2351287) - doc/cepahadm: adding new file for certmgr documentation (rhbz#2351287) - mgr/cephadm: adding cephadm mgr-module to the gitleaks file (rhbz#2351287) - mgr/cepahdm: adjusting grafana custom code to handle certificates (rhbz#2351287) - mgr/cepahdm: fixing cert user_made and pre_remove actions of mgmt-gw (rhbz#2351287) - mgr/cephadm: fixing oauth_proxy pre_remove action (rhbz#2351287) - mgr/cephadm: adding UT and adjusting existing unit-tests (rhbz#2351287) - mgr/cephadm: renaming cert-store cmds to certmgr, adding new cmds (rhbz#2351287) - mgr/cepahdm: adding certificates validationg and management logic (rhbz#2351287) - mgr/cephadm: refactor cert_store to use the same code for cert/key (rhbz#2351287) * Thu Mar 13 2025 Ceph Jenkins 2:19.2.1-41 - mgr: fix subuser creation via dashboard (rhbz#2325221) * Thu Mar 13 2025 Ceph Jenkins 2:19.2.1-40 - mgr/dashboard: Administration > Configuration > Some of the config options are not updatable at runtime (rhbz#2314716) * Thu Mar 13 2025 Ceph Jenkins 2:19.2.1-39 - mgr/dashboard: Automate system user creation and restart of rgw daemons on Migrate to Multisite (rhbz#2314855 rhbz#2314858) * Thu Mar 13 2025 Ceph Jenkins 2:19.2.1-38 - mgr/dashboard: Display bucket's number of shards on the ceph dashboard (rhbz#2129325) * Wed Mar 12 2025 Ceph Jenkins 2:19.2.1-37 - include/cephfs: dump optmetadata (rhbz#2350186) - mds: set alternate_name for new fullbit dentries (rhbz#2350186) - qa: test alternate_name recovery during mds failover (rhbz#2350186) - client: avoid multiple calls to path_walk (rhbz#2350186) - libcephfs: getcwd after chdir for API constraint (rhbz#2350186) - client: unwrap dentries for getcwd (rhbz#2350186) - client: refactor / optimize chdir (rhbz#2350186) - test/libcephfs: test getcwd with case insensitive dir (rhbz#2350186) - test/libcephfs: refactor ManyNestedDirs (rhbz#2350186) - include/filepath: add iterators for components (rhbz#2350186) - nvmeof: update ms_dispatch2 signature (rhbz#2350186) - cmake/cephfs: fix options to enable client and dependencies (rhbz#2350186) - pybind/cephfs: use legacy noexcept for cdefs for cython 3.Y.Z (rhbz#2350186) - pybind/cephfs: increment ref before calling out to c++ (rhbz#2350186) - client: skip unexpected command replies (rhbz#2350186) - mgr: indicate map message is acked instead of unhandled (rhbz#2350186) - osdc/Objecter: convert to ms_dispatch2 for ack (rhbz#2350186) - client: indicate maps are acked not processed (rhbz#2350186) - msg: add alternate statuses for ms_dispatch2 handling (rhbz#2350186) - tools/cephfs_mirror: do not process maps with fast dispatch (rhbz#2350186) - doc: add docs for volumes interface for charmap (rhbz#2350186) - qa: add tests for subvolume charmap settings (rhbz#2350186) - pybind/mgr/volumes: wire up charmap for subvol/subvolgroup (rhbz#2350186) - pybind/mgr: send MDS commands through cephfs client (rhbz#2350186) - pybind/cephfs: wire up mds_command2 (rhbz#2350186) - mgr: add module method to send notifications (rhbz#2350186) - libcephfs: add mds_command2 for asynchronous commands (rhbz#2350186) - mgr: excise CephFS client from mgr C++ base (rhbz#2350186) - mgr: use std namespace (rhbz#2350186) - doc: add docs for CephFS charmap config (rhbz#2350186) - qa: add charmap tests (rhbz#2350186) - qa: add helpful exceptions for attr changes (rhbz#2350186) - qa: ignore libicu leaks (rhbz#2350186) - client: add wrappings for charmap manipuluation of dentry names (rhbz#2350186) - client: add dir_result_t::dentry::print (rhbz#2350186) - win32: add libicu Windows build (rhbz#2350186) - CMakeLists: add boost::locale dependency for client (rhbz#2350186) - install-deps: unconditionally install boost libraries (rhbz#2350186) - test/libcephfs: update root operation return values (rhbz#2350186) - client: refactor all path traversals through path_walk (rhbz#2350186) - test/libcephfs: test parallel creates (rhbz#2350186) - test/libcephfs: add test for lookup failure after readdir (rhbz#2350186) - client: init dentry shared_gen with invalid value (rhbz#2350186) - client: add _lookup debugging (rhbz#2350186) - client: remove redundant check (rhbz#2350186) - client: dump InodeStat from mds (rhbz#2350186) - mds: encode optmetadata in InodeStat sent to clients (rhbz#2350186) - mds: check client features for charmap (rhbz#2350186) - mds: add client feature bit for charmap (rhbz#2350186) - mds: wire up vxattr for changing charmap (rhbz#2350186) - mds: inherit charmap on mkdir (rhbz#2350186) - mds,include: add charmap optmetadata (rhbz#2350186) - mds,include: add inode_t optional metadata (rhbz#2350186) - client: hide alternate_name from API (rhbz#2350186) - client: move alternate_name once (rhbz#2350186) - client: optimize alternate_name passing to helper (rhbz#2350186) - client: relocate definition (rhbz#2350186) - client: print dentry with alternate_name on dump (rhbz#2350186) - client: move inode dump to print method (rhbz#2350186) - mds: add debugging for encoding lease stat (rhbz#2350186) - mds: make encode_lease a proper method (rhbz#2350186) - mds: add fscrypt metadata for inode stat size (rhbz#2350186) - client: use DentryRef for ref counting in MetaRequest (rhbz#2350186) - client: add DentryRef (rhbz#2350186) - client: add helper for determining if a perm check is necessary (rhbz#2350186) - client: cache client_permissions config (rhbz#2350186) - client: add debugging for conf changes (rhbz#2350186) - client: sort configs (rhbz#2350186) - client/UserPerm: add print method (rhbz#2350186) - client: note mount parameters in debug log (rhbz#2350186) - client: print stat mode in octal (rhbz#2350186) - common: add missing op string (rhbz#2350186) - include/filepath: add empty path check (rhbz#2350186) - mds: do not process client metrics message with fast dispatch (rhbz#2350186) - libcephfs: fix backport conflict (rhbz#2350186) - mds: use system error codes instead of CEPHFS_EXX codes (rhbz#2350186) - mds,client: change result field handling in the MClientReply message (rhbz#2350186) - mds: prepare infra to replace CEPHFS_EXXX codes to system codes (rhbz#2350186) - pybind/cephfs: switch CEPHFS_E error codes to system error codes (rhbz#2350186) - PendingReleaseNotes: add note on client/mds error codes (rhbz#2350186) - mds: move fscrypt_last_block to vector in mds_co mempool (rhbz#2350186) - mds: move fscrypt_file inode_t metadata to mds_co mempool (rhbz#2350186) - mds: move fscrypt_auth inode_t metadata to mds_co mempool (rhbz#2350186) - include/buffer: add helpers for uint8_t vectors (rhbz#2350186) - python-common: add a utils function to replace distutils.util.strtobool (rhbz#2350186) - mgr: process map before notifying clients (rhbz#2350186) - PendingReleaseNotes: add note about CephFS set_vxattrs (rhbz#2350186) - doc/cephfs: Update docs to match remove functionality and respective vxattrs (rhbz#2350186) - qa: Add test coverage for vxattr behavior (rhbz#2350186) - qa: Add removexattr to support setfattr removal. (rhbz#2350186) - mds: Implement remove for ceph vxattrs (rhbz#2350186) - test/pybind: update to test_fallocate for mode 0 (rhbz#2350186) - qa: test fallocate fails in mode 0 (rhbz#2350186) - PendingReleaseNotes: add note about fallocate mode 0 (rhbz#2350186) - client: return EOPNOTSUPP for fallocate with mode 0 (rhbz#2350186) - client: Resolve symlink from dirfd for empty pathname (rhbz#2350186) - client: Fix symlink open with O_PATH and O_NOFOLLOW (rhbz#2350186) * Wed Mar 12 2025 Ceph Jenkins 2:19.2.1-36 - mgr/smb: add threading lock for SqliteStore (rhbz#2350270) - mgr/dashboard: remove smb route from non ibm builds (rhbz#2350270) - mgr/dashboard: SMB - Edit Cluster (rhbz#2350270) - mgr/dashboard: SMB - Edit Share. (rhbz#2350270) - mgr/dashboard: add actions to create, edit and delete smb join-auth and usersgroups resources (rhbz#2350270) - mgr/dashboard: add smb share delete action (rhbz#2350270) * Wed Mar 12 2025 Ceph Jenkins 2:19.2.1-35 - ceph-volume: allow zapping partitions on multipath devices (rhbz#2325383) * Wed Mar 12 2025 Ceph Jenkins 2:19.2.1-34 - mgr/dashboard: Fix variable capitalization in embedded rbd-details panel (rhbz#2349010) * Wed Mar 12 2025 Ceph Jenkins 2:19.2.1-33 - mgr/cephadm: add support for multi label placements (rhbz#2351180) - mgr/nfs: Updating QoS min and max limit of bandwidth and iops values (rhbz#2351180) - mgr/nfs: NFS cluster and export commands to enable and disable ops/s control (rhbz#2351180) - mgr/nfs: NFS commands to enable, disable and get QOS config for cluster and export (rhbz#2351180) - pybind/mgr/cephadm: fix issue with multiple nfs clusters on the same port (rhbz#2351180) - pybind/mgr/cephadm: allow setting custom monitoring_port for nfs (rhbz#2351180) - mgr/cephadm: Command to upgrade non-ceph image services (rhbz#2134003) - mgr/cephadm: add support for haproxy "concentrator" for rgw (rhbz#2351161) - mgr/cephadm: use double quotes for NFSv4 RecoveryBackend in ganesha conf (rhbz#2338126) - mgr/cephadm: unit test for nvmeof get_blocking_daemon_hosts function (rhbz#2283976) - mgr/cephadm: block deploying nvmeof daemons of different groups on same host (rhbz#2283976) - mgr/cephadm: unit test for blocking_daemon_hosts in scheduler (rhbz#2283976) - mgr/cephadm: add "blocking_daemon_hosts" mechanism to scheduler (rhbz#2283976) - mgr/cephadm: adding the SSL cert as a dependency for ingress service (rhbz#2344352) - mgr/cephadm: adding the SSL cert as a dependency for rgw service (rhbz#2344352) - mgr/cephadm: reconfig rgw daemon when certificate changes (rhbz#2344352) - mgr/nfs: nodeid should be numeric for RADOS_KV block in ganesha.conf file (rhbz#2343149) - Display comma separated ports for RGW services (rhbz#2331411) - cephadm: ingress- Add v4v6 flag to HAProxy bind directive (rhbz#2330898) - mgr/cephadm: using service registry pattern for cephadm services (rhbz#2330898) - mgr/cephadm: re-factoring the dependencies calculation code (rhbz#2330898) - doc/cephadm: adding documentation for mgmt-gateway HA setup (rhbz#2330898) - mgr/cephadm: adding UT for new mgmt-gateway functionality (rhbz#2330898) - mgr/cephadm: fixing deps handling for mgmt-gateway Fixes: https://tracker.ceph.com/issues/68377 (rhbz#2330898) - mgr/cephadm: adding HA support for mgmt-gateway and ouath2-proxy (rhbz#2330898) - mgr/cephadm: adding health check endpoint for mgmt-gateway (rhbz#2330898) - mgr/cephadm: adding md5_hash stable hash to the utils collection (rhbz#2330898) - mgr/cephadm: create OSD daemon deploy specs through make_daemon_spec (rhbz#2342909) - mgr/cephadm: add Server_Scope = to NFSv4 section of ganesha conf (rhbz#2331781) - mgr/cephadm: continue in nfs service purge if grace file is already deleted (rhbz#2331703) - mgr/nfs: Show ingress mode in output of 'ceph nfs cluster info' (rhbz#2330146) - cephadm: Add pre_remove and ensure deployment values are reset and API settings are updated when removing Prometheus or Alertmanager daemons (rhbz#2313279) - mgr/cephadm: After deploying nvmeof gateway group, the prometheus port 10008/tcp is not opened (rhbz#2337563) - cephadm/nvmeof: fix ports when default values are overridden (rhbz#2337563) - service_spec: force ceph-exporter sock_dir to be unest or "/var/run/ceph/" (rhbz#2336503) - cephadm: fix handling of ceph-exporter sock-dir (rhbz#2336503) - Documentation changes for updating non-ceph image service (rhbz#2134003) - cephadm: Modify the structure of the default container images (rhbz#2134003) - cephadm: update default image imports to point to common location (rhbz#2134003) - cephadm: add python-common/ceph to MYPYPATH and pytest PYTHONPATH (rhbz#2134003) - cephadm: remove vestigial basepython directives (rhbz#2134003) - cephadm: add python-common/ceph to cephadm zipapp (rhbz#2134003) - python-common: add spot in python-common for cephadm default images (rhbz#2134003) - mgr/cephadm: fixing logic in cert-store save_cert method (rhbz#2332990) - mgr/cephadm: Changes for creating root cert with manager cluster fsid (rhbz#23232601) - ceph orch commands should work for service name osd and added a new command to updated service name for osd (rhbz#2304314) - Documentation changes for 'ceph orch osd set-spec-affinity' command (rhbz#2304314) - mgr/cephadm: Add only_bind_ports_on_network spec parameter for Alertmanager (rhbz#2274719) - mgr/cephadm: Fix tuned profile to allow multiple settings (rhbz#2124175) - mgr/cephadm: orch host drain command does not return error for invalid hostname (rhbz#2110983) - doc/cephadm: document new flags on maintenance exit command (rhbz#2314880 rhbz#2326425) - mgr/cephadm: add offline host handling to maintenance exit (rhbz#2314880 rhbz#2326425) - mgr/cephadm: set maintenance mode healthcheck when removing hosts (rhbz#2314880 rhbz#2326425) - cephadm: Added new cephadm command to list all the default images (rhbz#2319356) - mgr/rgw: add support to modify zonegroup parameters (rhbz#2241321) * Wed Mar 12 2025 Ceph Jenkins 2:19.2.1-32 - mgr/dashboard: Improve sso role mapping (rhbz#2351536) * Tue Mar 11 2025 Ceph Jenkins 2:19.2.1-31 - mgr/dashboard: update dashboard nvmeof proto files (rhbz#2327311) - mgr/dashboard: nvmeof trash rbd image on namespace rm (rhbz#2327311) - mgr/dashboard: Make API backward compatible with size param change (rhbz#2351064) - mgr/dashboard: Add namespace counter in nvmeof namepsaces (rhbz#2351064) - mgr/dashboard: fix image size in nvmeof namespace create/update api (rhbz#2351064) - mgr/dashboard: fix image size in nvmeof namespace create/update api (rhbz#2351064) - Add API tests for nvmeof service.ts file (rhbz#2351064) - mgr/dashboard: ns update route robustness (rhbz#2351064) - mgr/dashboard: Add additional cli endpoints to align with existing nvmeof cli (rhbz#2351064) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-30 - rgw: initialize objv params in RADOS call path (rhbz#2350607) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-29 - qa/suites/orch: add a test to verify ctdb_status doesn't include GONE node (rhbz#2346094) - cephadm: fence old ranks for SMB service (rhbz#2346094) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-28 - mgr/dashboard: carbonize rgw user and bucket form (rhbz#2351099) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-27 - mg/dashboard: Edit Storage Class (rhbz#2350291) - ceph-volume: migrate unit tests from 'mock' to 'unittest.mock' (rhbz#2319755) - ceph-volume: refactor get_physical_osds() (rhbz#2319755) - ceph-volume: support splitting db even on collocated scenario (rhbz#2319755) - ceph-volume: enhance BlockSysFs (rhbz#2319755) - ceph-volume: update unit tests (rhbz#2319755) - ceph-volume: remove duplicate code (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.batch (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.listing (rhbz#2319755) - ceph-volume: improve clarity and consistency in List.single_report (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.common (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.prepare (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.trigger (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.main (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.deactivate (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.create (rhbz#2319755) - ceph-volume: add type annotations to devices.lvm.activate (rhbz#2319755) - ceph-volume: fix type annotation in `objectore` (rhbz#2319755) - ceph-volume: add type annotation to api.lvm (rhbz#2319755) - ceph-volume: add type annotations to util.device (rhbz#2319755) - ceph-volume: add typing hints to lvm.zap (rhbz#2319755) - ceph-volume: fix Zap.ensure_associated_raw() (rhbz#2319755) - ceph-volume: support zapping by osd-id for RAW OSDs (rhbz#2319755) - ceph-volume: set default value for BlueStore.block_lv to None (rhbz#2319755) - ceph-volume: improve wipefs retry logic in lvm.zap (rhbz#2319755) - mgr/dashboard: fix missing service invocation (rhbz#2351028) - mgr/dashboard: add hardware status summary (rhbz#2351028) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-26 - mgr/dashboard: Add GKLM(KMIP) option to SSE-KMS dropdown Menu in the Dashboard UI (rhbz#2351048) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-25 - mgr/dashboard: Update bucket details section after making bucket lifecycle changes (rhbz#2350291) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-24 - mgr/dashboard: disable deleting bucket with objects (rhbz#2350295) - Revert "mgr/dashboard: disable deleting bucket with objects" (rhbz#2350295) - mgr/dashboard: disable deleting bucket with objects (rhbz#2350295) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-23 - mgr/dashboard: Rgw ratelimit feature for user and bucket (rhbz#2350551) * Mon Mar 10 2025 Ceph Jenkins 2:19.2.1-22 - mgr/dashboard: add bucket tiering option to create lifecycle policy (rhbz#2350291) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-21 - client: Fix a deadlock when osd is full (rhbz#2291163) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-20 - python-common: add ctdb port to smb service spec (rhbz#2346093) - cephadm/smb: add ctdb ports to smb daemon endpoint (rhbz#2346093) - Fix 'orch ls' to display SMB ports (rhbz#2346093) - cephadm/smb: convert config object to use a dataclass (rhbz#2346093) - cephadm/smb: Add a provision to specify ctdb log level (rhbz#2346093) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-19 - mgr/dashboard: renaming critical-confirmation-modal to delete-confirmation-modal and keeping default deletion impact as medium (rhbz#2350295) - mgr/dashboard: Add confirmation textbox for resource name on delete action (rhbz#2350295) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-18 - mgr/smb: Add profiling configuration to global definition (rhbz#2350310) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-17 - libcephfs_proxy: implement ceph_readdir_r() (rhbz#2350283) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-16 - librbd: fix a deadlock on image_lock caused by Mirror::image_disable() (rhbz#2350592) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-15 - qa/workunits/rbd: add a test for force promote with a user snapshot (rhbz#2350580) - librbd: fix a crash in get_rollback_snap_id (rhbz#2350580) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-14 - rbd-mirror: fix possible recursive lock of ImageReplayer::m_lock (rhbz#2350578) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-13 - mgr/dashboard: RGW - Storage Class Management (rhbz#2350291) - mgr/dashboard: RGW - Delete Storage Class (rhbz#2350291) - mgr/dashboard: RGW -Create Storage Class (rhbz#2350291) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-12 - mgr/dashboard: SMB Create Share (rhbz#2350270) - mgr/dashboard: smb join-auth and usersgroups resources listing (rhbz#2350270) - mgr/dashboard: add smb share listing in UI (rhbz#2350270) - mgr/dashboard: fixed unit tests (rhbz#2350270) - mgr/dashboard: add warning message on smb service management (rhbz#2350270) - mgr/dashboard: smb raise exception for unsucessful resource update (rhbz#2350270) - mgr/dashboard: create smb cluster (rhbz#2350270) - mgr/dashboard: delete smb cluster (rhbz#2350270) - mgr/dashboard: smb error page to enable/disable module This commit introduces a redirect to an error page when the smb module is not enabled and adds a new button to directly enable the module. To do this some logic was moved from the mgr-module-list.component.ts to the mgr-module.service.ts (rhbz#2350270) - mgr/dashboard: list smb (rhbz#2350270) - mgr/dashboard: add smb endpoints (rhbz#2350270) * Fri Mar 07 2025 Ceph Jenkins 2:19.2.1-11 - mgr/dashboard: update node js version (rhbz#2350260) * Thu Mar 06 2025 Ceph Jenkins 2:19.2.1-10 - librbd: clear ctx before initiating close in Image::{aio_,}close() (rhbz#2350472) - rbd: open images in read-only mode for "rbd mirror pool status --verbose" (rhbz#2350472) * Thu Mar 06 2025 Ceph Jenkins 2:19.2.1-9 - crush: use std::vector instead of variable length arrays (rhbz#2346896) * Thu Mar 06 2025 Ceph Jenkins 2:19.2.1-8 - qa/workunits/rbd: use create_image_and_enable_mirror() in bootstrap tests (rhbz#2345721) - rbd: don't clone ioctx before calling get_mirror_peer_sites() (rhbz#2345721) - librbd: fix mirror image status summary in a namespace (rhbz#2345721) * Thu Mar 06 2025 Ceph Jenkins 2:19.2.1-7 - test/pybind/rbd: fix read offset in write zeroes tests (rhbz#2350416) - librbd: add rbd_diff_iterate3() API to take source snapshot by ID (rhbz#2350416) * Thu Mar 06 2025 Ceph Jenkins 2:19.2.1-6 - Bump Node.js version in make-dist to v18.19.1 (rhbz#2350260) - rbd-mirror: default <-> non-default namespace remapping (rhbz#2327267) - doc/rbd : add namespace mirroring updates (rhbz#2327267) - mgr/dashboard: upgrade angular to v18 (rhbz#2350260) - mgr/dashboard: upgrade angular to v17 (rhbz#2350260) - mgr/dashboard: upgrade angular to v16 (rhbz#2350260) - mgr/dashboard: carbonize user management form (rhbz#2350260) - mgr/dashboard: update carbon-components-angular package (rhbz#2350260) - mgr/dashboard: carbon tree component (rhbz#2350260) - mgr/dashboard: Carbon Design - Create realm popup (rhbz#2350260) - mgr/dashboard: update carbon-components-angular (rhbz#2350260) * Wed Mar 05 2025 Ceph Jenkins 2:19.2.1-5 - os/bluestore: Add libfmt to "os" (rhbz#2350214) - os/bluestore: Add health warning for bluestore fragmentation (rhbz#2350214) - os, test: make omap_iterate obligatory for ObjectStores (rhbz#2307146) - os/kstore: bring support for omap_iterate (rhbz#2307146) - os/memstore: bring support for omap_iterate (rhbz#2307146) - crimson, os: put AlienStore::omap_get_values() on top of OS::omap_iterate() (rhbz#2307146) - os/bluestore: reduce dependencies of omap_iterate()'s loop on Onode (rhbz#2307146) - kv: avoid memcpy around key() in OMAP iterator of KeyValueDB (rhbz#2307146) - os/bluestore: bring latency logging to omap_iterate() (rhbz#2307146) - common/ceph_time: introduce time_guard for RAII-styled timediff calculation (rhbz#2307146) - os/bluestore: implement the lightweight OMAP iteration (rhbz#2307146) - kv: avoid memcpy in OMAP iterator of KeyValueDB (rhbz#2307146) - os, osd: introduce a lightweight OMAP iteration (rhbz#2307146) * Tue Mar 04 2025 Ceph Jenkins 2:19.2.1-4 - doc/rgw: update dynamic resharding docs to reflect recent changes (rhbz#2135354) - rgw: add radosgw-admin sub-command to set-min-shards for a bucket (rhbz#2135354) - rgw: allow per-bucket minimum number of shards (rhbz#2135354) - rgw: reject PutBucketLifecycleConfiguration on indexless buckets (rhbz#2135354) - rgw: improved error when listing indexless bucket (rhbz#2135354) - examples/rgw: register boto extension for BucketIndex on CreateBucket (rhbz#2135354) - rgw/s3: CreateBucket extension for layout type and shard count (rhbz#2135354) - rgw/rados: create_bucket() can override index type and shards (rhbz#2135354) - rgw/rados: indexless buckets skip init_index/clean_index (rhbz#2135354) - rgw/s3: CreateBucket's LocationConstraint is optional (rhbz#2135354) - rgw: make sure min objs per shard is appropriate (rhbz#2135354) * Tue Mar 04 2025 Ceph Jenkins 2:19.2.1-3 - rgw: track initiator of reshard queue entries (rhbz#2135354) - rgw: provide testing support to dynamic resharding with reduction (rhbz#2135354) - rgw: add shard reduction ability to dynamic resharding (rhbz#2135354) - cls/rgw: adding an entry to reshard queue has O_CREAT option (rhbz#2135354) - rgw: allow bucket notification send message to kafka with multiple brokers (rhbz#2348395) - rgw/sts: replacing load_stats with list_buckets to correctly create a federated user in oidc namespace. (rhbz#2346829) - rgw/sts: Use client_id for assumerolewithwebidentityresponse if aud is not present in JWT. (rhbz#2346769) - rgw/sts: adding validation of jwks_uri cert according to https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html for n&e which can be later used for all key types (x5c, n&e). (rhbz#2346769) - rgw/sts: fix to pick jwk which is of type 'sig' for signature validation of the token. (rhbz#2346769) - rgw/sts: adding code for JWT signature validation using modulus and exponent for RSA group of algorithms. (rhbz#2346769) - RGW | bucket notifications: support cross tenant operations (rhbz#2238814) - RGW\logging: adding transport layer fields (rhbz#2341711) - RGW\log: adding some missing members (rhbz#2341711) - rgw/logging: clean pending objects (rhbz#2341711) - rgw/logging: retry attribuite set in case of race (rhbz#2341711) - rgw/logging: log bucket must not have encryption (rhbz#2341711) - rgw/logging: source and log bucket must be different (rhbz#2321568) - rgw/logging: support source and destination buckets on different tenants (rhbz#2341711) - RGW\logging: convert s3_filter to key_filter (rhbz#2341711) - RGW/logging: add filtering for bucket logging (rhbz#2341711) - RGW/logging: add rest API to flush logging bucket (rhbz#2341711) - rgw/logging: add support for GetBucketLogging and PutBucketLogging (rhbz#2341711) * Mon Mar 03 2025 Ceph Jenkins 2:19.2.1-2 - Update patches * Wed Feb 12 2025 Andrew Schoen - upload 19.2.1 tar.gz and update Version and Release * Wed Feb 12 2025 Ceph Jenkins 2:19.2.0-86 - cancel Blocklist_cmpl timer when expired Resolves: rhbz#2345170 (rhbz#2345170) * Wed Feb 12 2025 Ceph Jenkins 2:19.2.0-85 - os/bluestore: Fix default base size for histogram (rhbz#2344245) * Tue Feb 11 2025 Ceph Jenkins 2:19.2.0-84 - rgw/lc: Fix lifecycle not working while bucket versioning is suspended (rhbz#2336609) * Tue Feb 11 2025 Ceph Jenkins 2:19.2.0-83 - qa: test 'ceph fs snapshot mirror ls' command (rhbz#2272718) - doc: update docs for 'fs snapshot mirror ls' command (rhbz#2272718) - cephfs_mirror: ceph fs snapshot mirror ls command (rhbz#2272718) * Mon Feb 10 2025 Ceph Jenkins 2:19.2.0-82 - cephadm: also stop tcmu-runner container in post-stop (rhbz#2338125) * Fri Feb 07 2025 Ceph Jenkins 2:19.2.0-81 - cephadm: cleanup coredumpctl systemd drop-in during rm-cluster (rhbz#2338598) - cephadm: add LimitCORE=infinity to ceph unit file template (rhbz#2338598) - mgr/cephadm: allow users to set custom max coredump size for cluster hosts (rhbz#2338598) - cephadm: add _orch set-coredump-overrides command (rhbz#2338598) * Thu Feb 06 2025 Ceph Jenkins 2:19.2.0-80 - os/bluestore: Fix CBT bluefs-bdev-expand (rhbz#2316351) * Wed Feb 05 2025 Ceph Jenkins 2:19.2.0-79 - cephadm: have tcmu-runner sidecar unit run file setup configfs (rhbz#2338125) * Wed Feb 05 2025 Ceph Jenkins 2:19.2.0-78 - COPYING,common/*s390x*: distribute under Apache 2 license for s390x (rhbz#2328629) - arch/s390x: add license notices, use LGPL (rhbz#2328629) - crc32c optimized for s390x arch (rhbz#2328629) * Tue Feb 04 2025 Ceph Jenkins 2:19.2.0-77 - ceph_nvmeof_monitor_client.cc: fix build issue (rhbz#2314597) * Tue Feb 04 2025 Ceph Jenkins 2:19.2.0-76 - qa/workunits/rbd: add test_import_nbd_stream_disconnected() (rhbz#2342822) - librbd: stop filtering async request error codes (rhbz#2342822) * Tue Feb 04 2025 Ceph Jenkins 2:19.2.0-75 - Isolate the absl flags to ceph-mon & ceph-nvmeof-monitor-client targets only (rhbz#2339411) * Tue Feb 04 2025 Ceph Jenkins 2:19.2.0-74 - mds: add or update MDS thread names (rhbz#2314597) - log: cache recent threads up to a day (rhbz#2314597) - common: cache pthread names (rhbz#2314597) - log: concatenate thread names and print once per thread (rhbz#2314597) - Reapply "log: thread name save/fetch infra" (rhbz#2314597) * Sat Feb 01 2025 Ceph Jenkins 2:19.2.0-73 - rgw/cloudtier: Correct option ordering in RGWZoneGroupPlacementTier (rhbz#2342847) * Wed Jan 29 2025 Ceph Jenkins 2:19.2.0-72 - mgr/cephadm: add "allow_set_io_flusher_fail = true;" to ganesha conf (rhbz#2342750) * Tue Jan 28 2025 Ceph Jenkins 2:19.2.0-71 - nvmeofgw*: change log level of critical nvmeof monitor events to 1 Resolves: rhbz#2342508 (rhbz#2342508) * Mon Jan 27 2025 Ceph Jenkins 2:19.2.0-70 - rgw/dbstore: Update bucket attrs as part of put_info() (rhbz#2325438) - mgr/dashboard: sync policy's in Object >> Multi-site >> Sync-policy, does not show the zonegroup to which policy belongs to (rhbz#2315653) - mgr/dashboard: Administration > Configuration > Some of the config options are not updatable at runtime (rhbz#2314820 rhbz#2308662) - rgw/dbstore: correcting merge_and_store_attrs to store attrs in place of new_attrs. (rhbz#2325438) - rgw: fix rados bucket merge and store attrs (rhbz#2325438) * Mon Jan 27 2025 Ceph Jenkins 2:19.2.0-69 - mgr/dashboard: fix total objects/Avg object size in RGW Overview Page (rhbz#2308656) * Mon Jan 27 2025 Ceph Jenkins 2:19.2.0-68 - mgr/dashboard: Update and correct zonegroup delete notification (rhbz#2315081) * Mon Jan 27 2025 Ceph Jenkins 2:19.2.0-67 - mgr/dashboard: Fix Latency chart data units in rgw overview page (rhbz#2314854) - mgr/dashboard: Show correct token expiration date in Manage Clusters page (rhbz#2314643) * Fri Jan 24 2025 Ceph Jenkins 2:19.2.0-66 - rgw: RGWAbortMultipart maps NoSuchKey to NoSuchUpload (rhbz#2332789) - rgw/abortmp: Added lock for AbortMultipartUpload (rhbz#2332789) * Fri Jan 24 2025 Ceph Jenkins 2:19.2.0-65 - os/bluestore: Fix BlueFS::truncate() (rhbz#2338096) - os/bluestore: bluefs unittest for truncate bug (rhbz#2338096) - os/bluestore: Add unittest for BlueFS::truncate() (rhbz#2338096) - os/bluestore: Make truncate() drop unused allocations (rhbz#2338096) * Thu Jan 23 2025 Ceph Jenkins 2:19.2.0-64 - test/librados/testcase_cxx: set_allow_ec_overwrites wait for overwrite to work (rhbz#2336886) - test/librados/io_cxx: append buf to bl in CrcZeroWrite (rhbz#2336886) - test/librados/io_cxx: fix ec overwrites cleanup in CrcZeroWrite (rhbz#2336886) - ceph_test_rados_io_pp: Add cxx test for append zero test (rhbz#2336886) - test/pybind: check crc fail after append zero (rhbz#2336886) - osd: Adjust code style (rhbz#2336886) - osd: Remove the duplicate oi.clear_data_digest (rhbz#2336886) - osd: full-object read crc is mismatch, because truncate modify oi.size and forget to clear data_digest (rhbz#2336886) * Wed Jan 22 2025 Ceph Jenkins 2:19.2.0-63 - monitoring: Add alert NVMeoFTooManyNamespaces (rhbz#2324172) - monitoring: Update nvmeof alert limits in config (rhbz#2324172) * Tue Jan 21 2025 Ceph Jenkins 2:19.2.0-62 - doc/mgr/restful: update max_request config (rhbz#2336882) - PendingReleaseNotes: Adding note about rest module change and adding max_request option (rhbz#2336882) - mgr/rest: Trim request array and limit size (rhbz#2336882) * Mon Jan 20 2025 Ceph Jenkins 2:19.2.0-61 - mon: do not show nvmeof in 'ceph versions' output (rhbz#2323851) * Mon Jan 20 2025 Ceph Jenkins 2:19.2.0-60 - common,osd: Use last valid OSD IOPS value if measured IOPS is unrealistic (rhbz#2292517) - common/options: Change HDD OSD shard configuration defaults for mClock (rhbz#2294594) - osd/scheduler: fix unittest_mclock_scheduler failed (rhbz#2294594) - osd/scheduler: add mclock queue length perfcounter (rhbz#2294594) * Tue Jan 14 2025 Ceph Jenkins 2:19.2.0-59 - librbd/migration/HttpClient: socket isn't shut down on some state transitions (rhbz#2337307) - librbd/migration/HttpClient: avoid hitting an assert in advance_state() (rhbz#2337307) - librbd/migration/HttpClient: ignore stream_truncated when shutting down SSL (rhbz#2337307) - librbd/migration/HttpClient: propagate ec to handle_handshake() (rhbz#2337307) - librbd/migration/HttpClient: drop SslHttpSession::m_ssl_enabled (rhbz#2337307) - librbd/migration/HttpClient: don't call disconnect() in handle_handshake() (rhbz#2337307) - librbd/migration/HttpClient: avoid reusing ssl_stream after shut down (rhbz#2337307) - librbd/migration/HttpClient: don't shut down socket in resolve_host() (rhbz#2337307) - librbd/migration/HttpClient: fix some error messages in handle_receive() (rhbz#2337307) - librbd/migration/HttpClient: log ec details in handle_{issue,receive}() (rhbz#2337307) - test/librbd: add TestInternal.FlattenInconsistentObjectMap (rhbz#2337303) - librbd: avoid data corruption on flatten when object map is inconsistent (rhbz#2337303) * Thu Jan 09 2025 Ceph Jenkins 2:19.2.0-58 - mgr/dashboard: add a custom warning message when enabling feature (rhbz#2331648) - mgr/dashboard: disable iscsi (rhbz#2331648) * Tue Dec 17 2024 Ceph Jenkins 2:19.2.0-57 - warn when QAT switches to software [de]compression (rhbz#2267025) * Thu Dec 12 2024 Ceph Jenkins 2:19.2.0-56 - rgw: optimize bucket listing to skip past regions of namespaced entries (rhbz#2329089) * Tue Dec 03 2024 Ceph Jenkins 2:19.2.0-55 - cephadm: bootstap should not have "This is a development version of cephadm" message (rhbz#2327848) * Tue Nov 26 2024 Ceph Jenkins 2:19.2.0-54 - [CVE-2024-48916] rgw/sts: fix to disallow unsupported JWT algorithms while authenticating AssumeRoleWithWebIdentity using JWT obtained from an external IDP. (rhbz#2323274) * Thu Nov 14 2024 Ceph Jenkins 2:19.2.0-53 - ceph-volume: fix dmcrypt activation regression (rhbz#2325928) * Tue Oct 29 2024 Ceph Jenkins 2:19.2.0-52 - Revert "mgr/balancer: Improved 'ceph balancer status' output" (rhbz#2314146) - Revert "mgr/balancer: add pg_upmap_primaries to `balancer status detail`" (rhbz#2314146) * Tue Oct 29 2024 Ceph Jenkins 2:19.2.0-51 - mgr/cephadm: sign generated RGW certs (rhbz#2319118) * Tue Oct 29 2024 Ceph Jenkins 2:19.2.0-50 - rgw/copy-object: Fix overflow with bufferlist copy (rhbz#2321269) * Mon Oct 28 2024 Ceph Jenkins 2:19.2.0-49 - cephadm: fix sos report regex pattern (rhbz#2321211) * Mon Oct 28 2024 Ceph Jenkins 2:19.2.0-48 - cephadm: Change default NVME image version to 1.3. Resolves: rhbz#2322095 (rhbz#2322095) * Fri Oct 25 2024 Ceph Jenkins 2:19.2.0-47 - Revert "log: thread name save/fetch infra" (rhbz#2321694) * Fri Oct 25 2024 Ceph Jenkins 2:19.2.0-46 - mgr/dashboard: rm nvmeof conf based on its daemon name (rhbz#2321293) * Thu Oct 24 2024 Ceph Jenkins 2:19.2.0-45 - mgr/dashboard: fix bucket get for s3 account owned bucket (rhbz#2317770) * Tue Oct 22 2024 Ceph Jenkins 2:19.2.0-44 - rgw: fix attribute handling for swift bucket post and put (rhbz#2262919 rhbz#2262919 rhbz#2209078 rhbz#2284026) * Tue Oct 22 2024 Ceph Jenkins 2:19.2.0-43 - rgw: fix empty storage class on display of multipart uploads (rhbz#2268415) * Tue Oct 22 2024 Ceph Jenkins 2:19.2.0-42 - test/store_test: get rid off explicit offset specifications in shared blob repair test case. (rhbz#2317027) - os/bluestore: Make truncate() drop unused allocations (rhbz#2317027) * Tue Oct 22 2024 Ceph Jenkins 2:19.2.0-41 - rgw:attrs: dump marker and max_parts only if sent (rhbz#2310424) - rgw:attrs cap max_parts at 1000 (rhbz#2310424) - rgw: GetObjAttrs enforces MaxSize and returns correct IsTruncated (rhbz#2310424) - rgw/rados: Object::list_parts() starts after marker (rhbz#2310424) - rgw/rados: get_part_obj_state() fixes accounted_size when uncompressed (rhbz#2310424) - rgw: GetObjAttrs calls rgw_s3_prepare_decrypt() (rhbz#2310424) * Tue Oct 22 2024 Ceph Jenkins 2:19.2.0-40 - log: thread name save/fetch infra (rhbz#2314597) * Mon Oct 21 2024 Ceph Jenkins 2:19.2.0-39 - mgr/callhome: persist operations between mgr restarts (rhbz#2320831) * Mon Oct 21 2024 Ceph Jenkins 2:19.2.0-38 - radosgw-admin: allow 'sync group pipe modify' with existing user (rhbz#2318519) * Mon Oct 21 2024 Ceph Jenkins 2:19.2.0-37 - os/bluestore: Move reservation of bdev label to proper place. (rhbz#2314687) - os/bluestore: Fix ceph-bluestore-tool allocmap command (rhbz#2310344 rhbz#2314695) - cephadm: update default promtail version to v3.0.0 (rhbz#2264561) * Sun Oct 20 2024 Ceph Jenkins 2:19.2.0-36 - Revert "mon/nvmeofgw*: fix HA usecase when gateway has no listeners -" Temporary revert since it causes host issues This reverts commit 4e8c7cd7f441e7253e188f3479869afc146689cb. (rhbz#2319963) * Fri Oct 18 2024 Ceph Jenkins 2:19.2.0-35 - qa: Added mon connection score tests (rhbz#2315595) - src/mon/ConnectionTracker.cc: fix dump (rhbz#2315595) * Thu Oct 17 2024 Ceph Jenkins 2:19.2.0-34 - mgr/dashboard: fix lifecycle issues (rhbz#2315620) * Thu Oct 17 2024 Ceph Jenkins 2:19.2.0-33 - mgr/cephadm: add --no-exception-when-missing flag to cert-store cert/key get (rhbz#2319336) - mgr/dashboard: The subvolumes are missing from the dropdown menu on the "Create NFS export" page (rhbz#2303247) * Wed Oct 16 2024 Ceph Jenkins 2:19.2.0-32 - cephadm/smb: Add NET_RAW capability to deploy ctdbd (rhbz#2311739) * Wed Oct 16 2024 Ceph Jenkins 2:19.2.0-31 - mgr/dashboard: Adapt gateway group changes in nvmeof UI (rhbz#2315663) - mgr/dashboard: fix group name bugs in the nvmeof API (rhbz#2315568) * Wed Oct 16 2024 Ceph Jenkins 2:19.2.0-30 - mgr/status: Fix 'fs status' json output (rhbz#2307231) - qa: Add test for 'fs status' in standby-replay mds setup (rhbz#2307231) * Wed Oct 16 2024 Ceph Jenkins 2:19.2.0-29 - mgr/dasboard: fix rgw multisite doc link (rhbz#2315137) * Wed Oct 16 2024 Ceph Jenkins 2:19.2.0-28 - mgr/cephadm: RGW service deployment defaults to 'default' realm/zonegroup/zone despite non-default spec in service (rhbz#2317492) * Wed Oct 16 2024 Ceph Jenkins 2:19.2.0-27 - mgr/dashboard: rm unnecessary classmethods (rhbz#2317527) - mgr/dashboard: ignore exceptions raised when no cert/key found (rhbz#2317527) - mgr/dashboard: Fix listener deletion (rhbz#2317527) - mgr/dashboard: add gw_groups to all nvmeof endpoints (rhbz#2315663) * Tue Oct 15 2024 Ceph Jenkins 2:19.2.0-26 - cephadm: set downstream samba urls in module.py (rhbz#2305191) - cephadm: set downstream url for default smb images (rhbz#2305191) * Tue Oct 15 2024 Ceph Jenkins 2:19.2.0-25 - mgr/cephadm: disabling nginx buffering for grafana location * Tue Oct 15 2024 Ceph Jenkins 2:19.2.0-24 - mgr/dashboard: add rgw-multisite doc link (rhbz#2315137) * Tue Oct 15 2024 Ceph Jenkins 2:19.2.0-23 - mgr/dashboard: introduce server side pagination for osds (rhbz#2304690) * Mon Oct 14 2024 Ceph Jenkins 2:19.2.0-22 - rgw_cksum: treat mpu checksums w/o part count as valid in CompleteMultipart (rhbz#2310424) * Mon Oct 14 2024 Ceph Jenkins 2:19.2.0-21 - mgr/cephadm: adding more UT for mgmt-gateway service - mgr/cephadm: move Grafana's subpath handling logic to grafana config * Mon Oct 14 2024 Ceph Jenkins 2:19.2.0-20 - mgr/cephadm: adding config to check client cert for internal nginx Fixes: https://tracker.ceph.com/issues/68310 Resolves: rhbz#2317833 (rhbz#2317833) * Sat Oct 12 2024 Ceph Jenkins 2:19.2.0-19 - rgw_cksum: return version_id in all cases (rhbz#2313745) * Sat Oct 12 2024 Ceph Jenkins 2:19.2.0-18 - rgw_cksum: permit fallback to checksum-type from create-multipart, in upload-part (rhbz#2310424) * Fri Oct 11 2024 Ceph Jenkins 2:19.2.0-17 - Revert "rg/multisite: if the first shard fails to sync, we must drain and return error." (rhbz#2317153) - Revert "rgw/multisite: no need to capture error from callback. we are already doing that within" - Revert "rgw/multisite: avoid redundant error repo entry logging" - rgw_cksum: don't display nil checksums in get-object-attributes (parts) (rhbz#2311872) * Fri Oct 11 2024 Ceph Jenkins 2:19.2.0-16 - rgw/cloud-restore: Fixed status codes and response headers (rhbz#2310381) - rgw/lc: Fix issues with non-current objects with instance empty (rhbz#2317891) * Fri Oct 11 2024 Ceph Jenkins 2:19.2.0-15 - mon/nvmeofgw*: fix HA usecase when gateway has no listeners - monitor should behave like in scenario no-subsystems (rhbz#2317173) * Fri Oct 11 2024 Ceph Jenkins 2:19.2.0-14 - mgr/dashboard: show non default realm sync status in rgw overview page (rhbz#2317967) - mgr/dashboard: fix gateways section error:”404 - Not Found RGW Daemon not found: None” (rhbz#2315904) * Thu Oct 10 2024 Ceph Jenkins 2:19.2.0-13 - client: Fix aio zerobyte file read (rhbz#2313037) - client: Fix caps_ref[c]<0 assert (rhbz#2313037) - client: Fix libcephfs aio metadata corruption. (rhbz#2313037) - test/client: Fix aio nonblocking test (rhbz#2313037) - qa: Add libcephfs client test with objectcacher disabled (rhbz#2313037) - qa: Add data read/write test for nfs-ganesha (rhbz#2313037) * Wed Oct 09 2024 Ceph Jenkins 2:19.2.0-12 - mgr/dashboard: fix doc links in rgw-multisite (rhbz#2315137) - Merge pull request #59968 from guits/wip-68220-squid (rhbz#2311904) - Merge pull request #59967 from aclamk/wip-68217-squid (rhbz#2311904) * Wed Oct 09 2024 Ceph Jenkins 2:19.2.0-11 - monitoring/ceph-mixin: Add cluster variable to ceph-cluster.json (rhbz#2311466) * Mon Oct 07 2024 Ceph Jenkins 2:19.2.0-10 - librbd/crypto/LoadRequest: clone format for migration source image (rhbz#2308345) - librbd/crypto/LoadRequest: rename m_is_current_format_cloned (rhbz#2308345) * Mon Oct 07 2024 Ceph Jenkins 2:19.2.0-9 - mgr/dashboard: Enable refresh button on Manage Clusters - Clusters List table (rhbz#2314876) * Mon Oct 07 2024 Ceph Jenkins 2:19.2.0-8 - mgr/dashboard: increase timeout to detect replication user in the secondary cluster (rhbz#2314903) * Mon Oct 07 2024 Ceph Jenkins 2:19.2.0-7 - mgr/dashboard: Donot display restart gateway message on completion of Setup Multisite Replication wizard (rhbz#2313748) * Mon Oct 07 2024 Ceph Jenkins 2:19.2.0-6 - mgr/dashboard: Allow adding all listeners unders a subsystems (rhbz#2308664) - mgr/dashboard: Fix `null` gateway group (rhbz#2308664) * Mon Oct 07 2024 Ceph Jenkins 2:19.2.0-5 - mgr/dashboard: Forbid snapshot name "." and any containing "/". (rhbz#2306684 rhbz#2314223) * Mon Oct 07 2024 Ceph Jenkins 2:19.2.0-4 - mgr/dashboard: NFS Export form fixes Fixes: https://tracker.ceph.com/issues/67400 (rhbz#2302756 rhbz#2303196 rhbz#2303247 rhbz#2312627) * Mon Oct 07 2024 Ceph Jenkins 2:19.2.0-3 - cephfs-top: fix exception on small sized windows (rhbz#2272580) - cephfs-top: fix exception on large sized windows (rhbz#2272580) * Fri Oct 04 2024 Ceph Jenkins 2:19.2.0-2 - mgr/smb: fix condition for smb earmark when cluster_id doesn't match (rhbz#2312548) - cephadm: use a shared smb.conf for clustered smb container sets (rhbz#2315693) * Thu Oct 03 2024 Ken Dreyer 2:19.2.0-1 - Rebase onto v19.2.0 * Thu Oct 03 2024 Ceph Jenkins 2:19.1.1-103 - doc: revert sync_duration to seconds (rhbz#2312633) - qa: update test for last_sync_duration (rhbz#2312633) - cephfs_mirror: revert sync_duration to seconds (rhbz#2312633) - mgr/dashboard: Unable to delete realm via dashboard (rhbz#2314892) - Merge pull request #60069 from leonidc/fix-corruption-upon-add-gw * Wed Oct 02 2024 Ceph Jenkins 2:19.1.1-102 - rgw/multisite: avoid redundant error repo entry logging (rhbz#2315844) * Tue Oct 01 2024 Ceph Jenkins 2:19.1.1-101 - mgr/callhome: change last_contact frequency to 30 minutes (rhbz#2315797) * Tue Oct 01 2024 Ceph Jenkins 2:19.1.1-100 - Update patches * Mon Sep 30 2024 Ceph Jenkins 2:19.1.1-99 - rgw/kafka: refactor topic creation to avoid rd_kafka_topic_name() (rhbz#2311039) * Mon Sep 30 2024 Ceph Jenkins 2:19.1.1-98 - rgw/lc: Fix a bug in LCOpAction_Transition::check() (rhbz#2269490) * Sun Sep 29 2024 Ceph Jenkins 2:19.1.1-97 - Merge pull request #59999 from leonidc/tracking-gw-deleting (rhbz#2314625) * Fri Sep 27 2024 Ceph Jenkins 2:19.1.1-96 - rgw/multisite: the create_bucket forward request omits the the request body, thus missing some data if specified inside CreateBucketConfiguration xml on the non-master zone. also, now that we perform cksum validation against empty payloads, such a request would fail with -ERR_AMZ_CONTENT_SHA256_MISMATCH due to a zero content-length but a non-empty payload hash. this fix ensures that request body is forwarded during create_bucket (rhbz#2312161) * Fri Sep 27 2024 Ceph Jenkins 2:19.1.1-95 - rgw/rados: rgw_rados_operate() takes version_t* (rhbz#2314995) - librados/asio: add version_t to completion signatures (rhbz#2314995) - librados/asio: functions use async_initiate (rhbz#2314995) * Fri Sep 27 2024 Ceph Jenkins 2:19.1.1-94 - mgr/dashboard: carbonize user management-role form (rhbz#2312767) * Fri Sep 27 2024 Ceph Jenkins 2:19.1.1-93 - mgr/dashboard: remove "secondary_zone_period_retry_limit" param from import_realm_token method (rhbz#2314903) * Fri Sep 27 2024 Ceph Jenkins 2:19.1.1-92 - mgr/dashboard: Missing connect and refresh button in Multi-Cluster >> Manage Clusters (rhbz#2314876) * Thu Sep 26 2024 Ceph Jenkins 2:19.1.1-91 - rgw: less noise on bucket key deletion (rhbz#2279912) - rgw: false assumption on vault bucket key deletion (rhbz#2279912) * Thu Sep 26 2024 Ceph Jenkins 2:19.1.1-90 - mgr/dashboard: adjust federate ssl code with mTLS (rhbz#2311466) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-89 - librbd: add LIBRBD_SUPPORTS_GROUP_SNAP_GET_INFO define (rhbz#2314667) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-88 - earmarking: improve error handling when getxattr fails (rhbz#2312550) - mgr/nfs: earmark resolver for subvolume (rhbz#2312550) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-87 - mgr/dashboard: fix setting compression type while editing rgw zone (rhbz#2314611) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-86 - mgr/dashboard: Add progress bar to rgw multisite automation wizard (rhbz#2314157 rhbz#2314160 rhbz#2313755 rhbz#2313748 rhbz#2308434) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-85 - mgr/dashboard: fix stretched rh logo in expand cluster (rhbz#2314622) - mgr/smb: accept public_addrs on cli when creating cluster (rhbz#2311116) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-84 - rgw: replace '-''s with '_''s in the sync delta counter labels (rhbz#2247183) - rgw: add labeled counters for sync deltas of shards (rhbz#2061627) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-83 - mgr/cephadm: add "Enable_UDP = false;" to ganesha conf (rhbz#2312501) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-82 - mgr/dashboard: multisite sync policy improvements (rhbz#2310784 rhbz#2311903 rhbz#2310783) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-81 - mgr/dashboard: update period after migrating to multisite (rhbz#2309409) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-80 - mgr/dashboard: Cloning subvolume not listing _nogroup subvolumegroup if there are no subvols in _nogroup Fixes: https://tracker.ceph.com/issues/67891 (rhbz#2269104) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-79 - mgr/dashboard: fix handling NaN values in dashboard charts (rhbz#2312818) * Wed Sep 25 2024 Ceph Jenkins 2:19.1.1-78 - mgr/dashboard: fix about modal styling and multi-site doc link (rhbz#2311868 rhbz#2311869) * Tue Sep 24 2024 Ceph Jenkins 2:19.1.1-77 - cephadm: make bootstrap default to "global" section for public_network setting (rhbz#2314438) * Tue Sep 24 2024 Ceph Jenkins 2:19.1.1-76 - doc: update doc for subvolumes earmarking mentioning valid formats (rhbz#2312548) - mgr/smb: earmark resolver for subvolume (rhbz#2312548) * Tue Sep 24 2024 Ceph Jenkins 2:19.1.1-75 - mgr/cephadm: fix custom alertmanager webhooks (rhbz#2313614) * Tue Sep 24 2024 Ceph Jenkins 2:19.1.1-74 - mgr/cephadm: use host address while updating rgw zone endpoints (rhbz#2242994) - mgr/rgwam: use realm/zonegroup/zone method arguments for period update (rhbz#2310444 rhbz#2311900) * Tue Sep 24 2024 Ceph Jenkins 2:19.1.1-73 - cephfs: disallow removing root_squash via "fs authorize" cmd (rhbz#2310846) - mds/MDSAuthCaps: allow updating root_squash in entity's MDS cap (rhbz#2310846) - mds/MDSAuthCaps: allow adding multiple caps via "fs auth" cmd (rhbz#2310846) - qa/cephfs: minor adjustment in test_admin.TestFsAuthorize (rhbz#2310846) - mon/AuthMonitor: update MDS caps even if other caps need no update (rhbz#2310846) - qa/cephfs: handle case where mntpt is '/' in caps_helper.py (rhbz#2310846) - mgr/dashboard: branding: login password form text align (rhbz#2312500) * Tue Sep 24 2024 Ceph Jenkins 2:19.1.1-72 - mgr/dashboard: zonegroup level policy created at master zone did not sync to non-master zone (rhbz#2309390) * Mon Sep 23 2024 Ceph Jenkins 2:19.1.1-71 - rgw/cloud-restore: Fixed storage class update while listing objects. (rhbz#2310183) - readthrough: send timeout errors for first readthrough request (rhbz#2312198) - doc/dev/rgw: design doc for Cloud Restore feature (rhbz#2312198) * Mon Sep 23 2024 Ceph Jenkins 2:19.1.1-70 - mgr/dashboard: show current tenant id in the si form (rhbz#2313807) * Mon Sep 23 2024 Ceph Jenkins 2:19.1.1-69 - librbd: introduce rbd_group_snap_namespace_type_t enum (rhbz#2313775) * Fri Sep 20 2024 Ceph Jenkins 2:19.1.1-68 - mgr/callhome: management of diagnostic upload reqs (rhbz#2313070) - mgr/dashboard: Fix space between the text in few sections (rhbz#2311899) - mgr/dashboard: Add mTLS support (rhbz#2308658) - mgr/dashboard: Adding group and pool name to service name (rhbz#2308658) * Fri Sep 20 2024 Ceph Jenkins 2:19.1.1-67 - mgr/dashboard: rm ceph logo from notification bar (rhbz#2311878 rhbz#2313214 rhbz#2313512 rhbz#2313516 rhbz#2313561 rhbz#2313562 rhbz#2311892) - mgr/dashboard: fix checkbox selection and role clone modal (rhbz#2311878 rhbz#2313214 rhbz#2313512 rhbz#2313516 rhbz#2313561 rhbz#2313562 rhbz#2311892) - mgr/dashboard: carbonize the wizard component (rhbz#2311878 rhbz#2313214 rhbz#2313512 rhbz#2313516 rhbz#2313561 rhbz#2313562 rhbz#2311892) * Fri Sep 20 2024 Ceph Jenkins 2:19.1.1-66 - mgr/dashboard: List gateways in a group (rhbz#2311747) * Thu Sep 19 2024 Ceph Jenkins 2:19.1.1-65 - mgr/dashboard: Add group selector in subsystems views (rhbz#2311747) - mgr/dashboard: remove orch required decorator from host UI router (list) (rhbz#2303655) - mgr/dashboard: service form hosts selection only show up to 10 entries (rhbz#2303655) - mgr/dashboard: expose gw_groups list api (rhbz#2311747) - mgr/dashboard: add gw_groups support to nvmeof api (rhbz#2311747) - cephadm: support --yes-i-know flag for bootstrap * Thu Sep 19 2024 Ceph Jenkins 2:19.1.1-64 - mgr/dashboard: branding: fix branding issues (rhbz#2313485 rhbz#2313479 rhbz#2313068 rhbz#2312500) * Thu Sep 19 2024 Ceph Jenkins 2:19.1.1-63 - mds: drop client metrics during recovery (rhbz#2311741) * Wed Sep 18 2024 Ceph Jenkins 2:19.1.1-62 - Revert "osd: introduce aliases around EC reads" - Revert "osd: EC Partial Stripe Reads (Retry of #23138 and #52746)" - Revert "osd: avoid visual confusion of var names in EC ReadPipeline" - Revert "osd: shuffle ECUtil::stripe_info_t::aligned_offset_len_to_chunk to .cc" - Revert "osd: introduce osd_ec_partial_reads configurable" - Revert "osd: switch ec_align_t from tuple to named struct" - Revert "osd: switch ec_extents_t from pair to named struct" - Revert "osd: refactor get_min_want_to_read_shards() of EC support" - Revert "osd: generalize the EC partial read optimization" - Revert "osd: EC's ReadCompleters align to chunk size" - Revert "osd: glue read scheduling with decoding in terms of want_to_read" - Revert "osd: drop the is_systematic from ErasureCodeInterface" - Revert "osd: minimize alignment requirements of ReadPipeline" - Revert "osd: don't realign EC reads to stripe in ReadPipeline::send_all_remaining_reads()" - Revert "osd, tests: add unittesting for ReadPipeline::get_min_want_to_read_shards()" - Revert "test/ceph_test_rados: bring non-0 offset reads support." - Revert "test/ceph_test_rados: fix seeking over virtual, in-memory objects" - Revert "osd: fix trimming of multistripe partial reads" - Revert "qa: test-erasure-eio.sh honors the EC partial read support" - Revert "osd: decode_concat() always honors want_to_read" - Revert "erasure-code: hack the subchunk handling to honor legacy" - Revert "osd: improve debugs on EC paths that turned problematic in testing" * Wed Sep 18 2024 Ceph Jenkins 2:19.1.1-61 - ceph.spec.in: Mention requirement for libcephfs-proxy2 with version (rhbz#2305797) - mon/NVMeofGw*: fix issue that GW was down when last subsystem was deleted (rhbz#2301460) * Wed Sep 18 2024 Ceph Jenkins 2:19.1.1-60 - mgr/dashboard: fix loki image version (rhbz#2312553) * Wed Sep 18 2024 Ceph Jenkins 2:19.1.1-59 - mgr/dashboard: upgrade loki image to v3.1.0-15 (rhbz#2312553) * Wed Sep 18 2024 Ceph Jenkins 2:19.1.1-58 - mgr/dashboard: improve prometheus service request handling (rhbz#2311466) - mgr/dashboard: fix multi-cluster usage bar error after carbon changes (rhbz#2311466) - mgr/dashboard: replace individual cluster's capacity info with Usage bar in Multi-Cluster (rhbz#2311466) - mgr/dashboard: Add Performance Details grafana charts for individual clusters in Manage-clusters page (rhbz#2311466) - mgr/dashboard: fix typo in Multi-Cluster > Manager Cluster to Manage Clusters (rhbz#2311466) - mgr/dashboard: make multi-cluster context switcher scrollable if we have many entries in it (rhbz#2311466) * Wed Sep 18 2024 Ceph Jenkins 2:19.1.1-57 - mgr/dashboard: fix minor issues in carbon tables (rhbz#2311877 rhbz#2311883 rhbz#2311899 rhbz#2311909 rhbz#2311910 rhbz#2312512) * Wed Sep 18 2024 Ceph Jenkins 2:19.1.1-56 - mgr/dashboard: RGW multisite sync remove zones fix (rhbz#2303394) * Tue Sep 17 2024 Ceph Jenkins 2:19.1.1-55 - mgr/dashboard: mgr/dashboard: Select no device by default in EC profile (rhbz#2305949) - mgr/dashboard: fix color when hovering over datatable (rhbz#2311887) - mgr/dashboard: fix table column pipe transform (rhbz#2311873) - mgr/dashboard: fix table filter (rhbz#2311894 rhbz#2311892) - mgr/dashboard: fix UI modal issues (rhbz#2312536 rhbz#2312539) * Tue Sep 17 2024 Ceph Jenkins 2:19.1.1-54 - librbd: disallow snapshot-based mirroring on cloned images (rhbz#2312925) * Tue Sep 17 2024 Ceph Jenkins 2:19.1.1-53 - rbd: display mirror uuid for mirror pool info output (rhbz#2307280) - rbd-mirror: allow mirroring to a different namespace (rhbz#2307280) - rbd-mirror: use correct ioctx for namespace (rhbz#2307280) - rbd: mention namespace in "rbd mirror pool" command descriptions (rhbz#2307280) - rbd: clarify "rbd {group,} rename" command description (rhbz#2307280) - doc/rbd: add namespace information for mirror commands (rhbz#2307280) - cephadm: downstream DEFAULT_OAUTH2_PROXY_IMAGE for Red Hat (rhbz#2305947) - rgw/logging: add support for GetBucketLogging and PutBucketLogging (rhbz#2308169) - Revert "rgw/logging: add support for GetBucketLogging and PutBucketLogging" * Tue Sep 17 2024 Justin Caratzas 2:19.1.1-52 - ceph.spec: re-enable ppc64le * Tue Sep 17 2024 Ceph Jenkins 2:19.1.1-51 - build: define __ASSEMBLY__ when building crc32c_ppc_asm.S Because according to src/common/crc32c_ppc_constants.h, the symbols like `MAX_SIZE` are included only if __ASSEMBLY__ is defined. Without these symbols, ceph-authtool fails to link on ppc64le: (rhbz#2308367) * Tue Sep 17 2024 Ceph Jenkins 2:19.1.1-50 - mgr/dashboard: services table fix issue on wrongly backported non carbonized template (rhbz#2312763 rhbz#2312774) * Tue Sep 17 2024 Ceph Jenkins 2:19.1.1-49 - doc: document earmark option for subvolume and new commands (rhbz#2312545) - qa/cephfs: update tests for test_volumes & unit-test for earmarking (rhbz#2312545) - mgr/volumes: add earmarking for subvol (rhbz#2312545) * Tue Sep 17 2024 Thomas Serlin - 2:19.1.1-48 - ceph.spec: Remove requires for libcephfs-daemon (rhbz#2305797) * Mon Sep 16 2024 Ceph Jenkins 2:19.1.1-47 - mgr/dashboard: Increase maximum namespace count to 1024 (rhbz#2304297) - mgr/dashboard: Update nvmeof microcopies (rhbz#2304297) * Mon Sep 16 2024 Ceph Jenkins 2:19.1.1-46 - mgr/dashboard: add SSO through oauth2 protocol (rhbz#2312560) - mgr/dashboard: add service management for mgmt-gateway (rhbz#2312560) - mgr/dashboard: add service management for oauth2-proxy (rhbz#2312560) - mgr/dashboard: enable editing of cluster api url on multi-cluster edit form and fix password field as required (rhbz#2312560) - mgr/dashboard: add url links to services (rhbz#2312560) * Mon Sep 16 2024 Ceph Jenkins 2:19.1.1-45 - cephadm: add retry for setting cephadm as orch backend (rhbz#2310340) * Mon Sep 16 2024 Ceph Jenkins 2:19.1.1-44 - mgr/cephadm: renaming whitelist_domains field to allowlist_domains (rhbz#2311935) - mgr/cephadm: adding spec fields for oauth2-proxy whitelist_domains (rhbz#2311935) * Mon Sep 16 2024 Ceph Jenkins 2:19.1.1-43 - ceph.spec.in: Remove requires for libcephfs-daemon (rhbz#2305797) * Sun Sep 15 2024 Ceph Jenkins 2:19.1.1-42 - pybind/mgr/cephadm/services/nvmeof.py: allow setting '0.0.0.0' as address in the spec file (rhbz#2311996) - Revert "mgr/cephadm: Default core mask for SPDK should be set in NVMEof spec file" * Fri Sep 13 2024 Ceph Jenkins 2:19.1.1-41 - mgr/smb: default to using the proxied vfs module (rhbz#2305797) - mgr/smb: automatically enable proxy for shares with proxied provider (rhbz#2305797) - mgr/smb: add value 'samba-vfs/proxied' for when module is to be proxied (rhbz#2305797) - mgr/smb: simplify share config generation function (rhbz#2305797) - cephadm: add a libcephfs proxy sidecar option to smb daemon (rhbz#2305797) - mgr/cephadm: add option to pass ceph image to smb for proxy sidecar (rhbz#2305797) - python-common/deployment: add cephfs-proxy feature flag (rhbz#2305797) - mgr/cephadm: update get_container_image function (rhbz#2305797) - cephadm: move envs_list logic back to base class (rhbz#2305797) - proxy: Add the design document (rhbz#2305797) - proxy: Add the proxy to the deb builds (rhbz#2305797) - proxy: Add the proxy to the rpm builds (rhbz#2305797) - Initial version of the libcephfs proxy (rhbz#2305797) * Fri Sep 13 2024 Ceph Jenkins 2:19.1.1-40 - cephadm: explicity wait for orchestrator module to be enabled during bootstrap (rhbz#2310340) * Fri Sep 13 2024 Ceph Jenkins 2:19.1.1-39 - mgr/dashboard: Wrong(half) uid is observed in dashboard (rhbz#2271812) * Thu Sep 12 2024 Ceph Jenkins 2:19.1.1-38 - cephadm: bootstrap: wait for mgr restart after enabling orch module (rhbz#2310340) * Thu Sep 12 2024 Ceph Jenkins 2:19.1.1-37 - mgr/cephadm: Default core mask for SPDK should be set in NVMEof spec file Resolves: rhbz#2311040 (rhbz#2311040) * Thu Sep 12 2024 Ceph Jenkins 2:19.1.1-36 - mgr/cephadm: Make the discovery and gateway IPs configurable in NVMEof configuration (rhbz#2311459) * Thu Sep 12 2024 Ceph Jenkins 2:19.1.1-35 - mgr/dashboard: Rephrase dedicated pool helper in rbd create form (rhbz#2298552) - mgr/dashboard: use grafana server instead of grafana-server in grafana 10.4.0 (rhbz#2305958) * Wed Sep 11 2024 Ceph Jenkins 2:19.1.1-34 - mgr/cephadm: fix syntax error in monitoring.py (rhbz#2311781) * Wed Sep 11 2024 Ceph Jenkins 2:19.1.1-33 - mgr/cephadm: changing the nginx upstream image used by mgmt-gateway (rhbz#2305947) * Wed Sep 11 2024 Ceph Jenkins 2:19.1.1-32 - cephadm: bootstrap: verify orch module is running before setting cephadm backend (rhbz#2310340) * Wed Sep 11 2024 Ceph Jenkins 2:19.1.1-31 - rgw/cloudrestore: retain variables order while decoding (rhbz#2311342) * Wed Sep 11 2024 Ceph Jenkins 2:19.1.1-30 - qa: test fetching foreign config item (rhbz#2311030) - mgr/snap_schedule: correctly fetch mds_max_snaps_per_dir from mds (rhbz#2311030) * Wed Sep 11 2024 Ceph Jenkins 2:19.1.1-29 - mgr/dashboard: datatable performance improvement (rhbz#2302778) - mgr/dashboard: branding: redhat and ibm complete branding (rhbz#2302778) - mgr/dashboard: carbon datatable minor bug fixes (rhbz#2302778) - mgr/dashboard: carbonize cephfs forms (rhbz#2302778) - mgr/dashboard: Fix banner and scroll issue (rhbz#2302778) - mgr/dashboard: can't scroll to the end of the page (rhbz#2302778) - mgr/dashboard: carbon datatables impr and cleanups (rhbz#2302778) - mgr/dashboard: replace ngx-datatable by carbon (rhbz#2302778) - mgr/dashboard: carbonize block forms (rhbz#2302778) - mgr/dashboard: multicluster management e2e tests (rhbz#2302778) - mgr/dashboard: carbonize breadcrums (rhbz#2302778) - mgr/dashboard: carbonize general components and styles (rhbz#2302778) * Tue Sep 10 2024 Ceph Jenkins 2:19.1.1-28 - rgw/multisite: no need to capture error from callback. we are already doing that within RGWDataFullSyncSingleEntryCR() (rhbz#2311290) - rgw/multisite: drain_all() after notify stack cancel - rg/multisite: if the first shard fails to sync, we must drain and return error. - mgr/smb: stop trying to clean external store during cluster sync (rhbz#2310351) - mgr/smb: add support for new ceph vfs module (rhbz#2311255) - cephadm: configuring prometheus endpoint for smb (rhbz#2311049) - cephadm: run smbmetrics as side-car container (rhbz#2311049) - cephadm: propagate smbmetrics image via config_blobs (rhbz#2311049) - cephadm: samba metrics-exporter image (rhbz#2311049) * Tue Sep 10 2024 Ceph Jenkins 2:19.1.1-27 - rgw: GetObjectAttributes iam policy policy hooks (rhbz#2310485) * Tue Sep 10 2024 Ceph Jenkins 2:19.1.1-26 - rgw/cloud-restore: Fixing new tier config options version (rhbz#2310487) * Mon Sep 09 2024 Ceph Jenkins 2:19.1.1-25 - rgw/multisite: use bilog_flags in cls_rgw_bucket_unlink_instance as well. (rhbz#1967576) - src/test/rgw: Adding a test for check (rhbz#1967576) - rgw/multisite: add a flag to bilog_flags and use it to set/unset null version (rhbz#1967576) * Mon Sep 09 2024 Ceph Jenkins 2:19.1.1-24 - mgr/callhome: Add the zstandard module to manager modules requeriments (rhbz#2306021) - mgr/ccha: Complete flag is set to false only when operation in progress (rhbz#2299176) - mgr/callhome: ISCE-740 - Call Home Performance report (rhbz#2303388) - mgr/callhome: ISCE-739 Support UI - Call Home info (rhbz#2303389) - cephadm: add Call Home and Storage Insights (rhbz#2242916 rhbz#2242918 rhbz#2243115 rhbz#2264462 rhbz#2267676) - mgr/call_home_agent: IBM Call Home Agent module (rhbz#2235256 rhbz#2235256 rhbz#2241825 rhbz#2248640 rhbz#2231489 rhbz#2243795 rhbz#2243796 rhbz#2264434 rhbz#2264432 rhbz#2264444 rhbz#2266236 rhbz#2264434 rhbz#2268399 rhbz#2231489 rhbz#2271537 rhbz#2273565 rhbz#2271537) * Mon Sep 09 2024 Ceph Jenkins 2:19.1.1-23 - mgr/dashboard: Show which daemons failed in CEPHADM_FAILED_DAEMON healthcheck (rhbz#2138386) - mgr/dashboard: Zone details showing incorrect data for data pool values and compression info for Storage Classes (rhbz#2252732 rhbz#2252712) * Mon Sep 09 2024 Ceph Jenkins 2:19.1.1-22 - mgr/dashboard: some changes got misplaced while cherry-picking, so putting them back! (rhbz#2307532) - mgr/dashboard: Object > nfs page routing fixes (rhbz#2306487) * Sun Sep 08 2024 Ceph Jenkins 2:19.1.1-21 - mon/NVMeofGw*: 1. fix blocklist bug - blockist was not called 2. originally monitor only bloklisted specific ana groups but since we allow the changing of ns ana grp on the fly for the sake of ns load balance, it is not good enough and we need to blocklist all the cluster contexts of the failing gateway Signed-off-by: Leonid Chernin * Sat Sep 07 2024 Ceph Jenkins 2:19.1.1-20 - rgw/s3select: fix a crash upon multiple calls to `parse-query` with a failure on AST creation. (rhbz#2290775 rhbz#2242089) - librbd/migration/NBDStream: abstract out libnbd and add unit tests (rhbz#2303651) - qa/suites/rbd: add snippets for migration import from NBD (rhbz#2303651) - librbd/migration/NBDStream: call nbd_shutdown() in close() (rhbz#2303651) - librbd/migration/NBDStream: switch to NBD URIs (rhbz#2303651) - librbd/migration/NBDStream: check for nbd_get_size() errors (rhbz#2303651) - librbd/migration/NBDStream: introduce from_nbd_errno() (rhbz#2303651) - librbd/migration/NBDStream: be more thorough around nbd_block_status() (rhbz#2303651) - librbd/migration: add nbd stream (rhbz#2303651) - librbd/migration: don't include ImageState.h in formats (rhbz#2303651) - librbd/migration: prune snapshot extents in RawFormat::list_snaps() (rhbz#2303651) - librbd: factor out prune_extents() from prune_parent_extents() (rhbz#2303651) - upon multiple calls to `parse-query` with a failure on AST creation, it causes a crash. align with s3select API adding the JSON output format, otherwise it cause some s3test to fail. remove obsolete initialization. the init is done by the constructor s3select submodule - rgw: set correct requestId and hostId on s3select error - rgw/s3select : fix for error flow. in some cases the error message does not return to client, connection got broken (invalid chunk length) fix another broken connection all data-source to use same API for sending error-response add the option rgw_s3select_disable(boolean). upon turning-on this option, it rejects s3select-requests with an error-message editorial. rollback to ceph-master. the ceph/s3-tests#561 must be merged with ceph-PR - rgw: add s3select usage to log usage * Fri Sep 06 2024 Ceph Jenkins 2:19.1.1-19 - mgr/cephadm: write out haproxy.key is ssl_key field provided in ingress spec (rhbz#2308344) - cephadm: haproxy QAT support (rhbz#2308344) * Fri Sep 06 2024 Ceph Jenkins 2:19.1.1-18 - mgr/cephadm: stop running "true" before every command (rhbz#2308688) - mgr/cephadm: make ssh keepalive settings configurable (rhbz#2308688) * Fri Sep 06 2024 Ceph Jenkins 2:19.1.1-17 - ceph-volume: pass self.osd_id to create_id() call (rhbz#2309719) - ceph-volume: fix generic activation with raw osds (rhbz#2309719) * Fri Sep 06 2024 Ceph Jenkins 2:19.1.1-16 - mon/NVMeofGw*: Fix issue when ana group of deleted GW was not serviced. Introduced GW Deleting state Signed-off-by: Leonid Chernin (rhbz#2310380) * Fri Sep 06 2024 Ceph Jenkins 2:19.1.1-15 - doc: mention the peer status failed when snapshot created on the remote filesystem. (rhbz#2271767) - qa: add test_cephfs_mirror_remote_snap_corrupt_fails_synced_snapshot (rhbz#2271767) - cephfs_mirror: update peer status for invalid metadata in remote snapshot (rhbz#2271767) * Fri Sep 06 2024 Ceph Jenkins 2:19.1.1-14 - mds: generate correct path for unlinked snapped files (rhbz#2293353) - qa: add test for cephx path check on unlinked snapped dir tree (rhbz#2293353) - mds: add debugging for stray_prior_path (rhbz#2293353) * Fri Sep 06 2024 Ceph Jenkins 2:19.1.1-13 - rgw/storage class. Don't inherit storage class for copy object. (rhbz#2300284) - rgw/etags: etags should be quoted in CompleteMultipartUploadResult xml. (rhbz#2300284) - rgw/storage class: don't store/report STANDARD storage class. (rhbz#2300284) - Fix lifecycle transition of encrypted multipart objects. (rhbz#2300284) - copy object encryption fixes (rhbz#2300284) - rgw/compression antibug check (rhbz#2300284) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-12 - rgw: PubObj uses RGWObjTags by value (rhbz#2212311) - rgw: Update obj_mtime only when replication log is added (rhbz#2212311) - rgw: implement x-amz-replication-status for PENDING & COMPLETED (rhbz#2212311) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-11 - qa/tasks/ceph_manager: set-require-min-compat-client to squid for msr profiles (rhbz#2305110) - mon/OSDMonitor: check crush features in crush_rule_create_erasure (rhbz#2305110) - osd: use CEPH_FEATUREMASK_CRUSH_MSR, not CEPH_FEATURE_CRUSH_MSR (rhbz#2305110) - osd/OSDMap: require CRUSH_MSR if any rule is msr, even if used by no pool (rhbz#2305110) - mon: validate everybody understands MSR on set-require-min-compat-client (rhbz#2298654) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-10 - rgw: work around RGWPeriod decode regression (rhbz#2304796) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-9 - test/rgw: include --rgw-realm/zonegroup/zone args for 'account create' (rhbz#2307916) - test/rgw: test_multi.py creates realm with --default (rhbz#2307916) - rgw: ignore zoneless default realm when not configured (rhbz#2307916) - radosgw-admin: add 'realm default rm' command (rhbz#2307916) - rgw: realm create only sets default realm on --default (rhbz#2307916) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-8 - rgwlc: avoid duplicate notifies during transitions (rhbz#2281421) - rgwlc: send pool transition notifications too (rhbz#2281421) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-7 - rgw/cloudrestore: read tier config options from zonegroup (rhbz#2309740) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-6 - client: calls to _ll_fh_exists() should hold client_lock (rhbz#2310155) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-5 - rgw/cloud-restore: Fixing a misplaced check causing restore to fail (rhbz#2309662) * Thu Sep 05 2024 Ceph Jenkins 2:19.1.1-4 - mgr/cephadm: add ability for cephadm to create self-signed cert for RGW (rhbz#2249984) - mgr/cephadm: adding oauth2-proxy cephadm service (rhbz#2309762) - mgr/cephadm: fixing Grafana domain handling (rhbz#2309762) - mgr/cephadm: add SSL support to ceph-exporter (rhbz#2309762) - mgr/cephadm: adding mTLS support (rhbz#2309762) - mgr/cephadm: introducing new cmd to generate self-signed certs (rhbz#2309762) - mgr/cephadm: introducing cert_mgr new class to centralize certs mgmt (rhbz#2309762) * Wed Sep 04 2024 Ceph Jenkins 2:19.1.1-3 - cephadm: downstream images for RHCS 8 (rhbz#2302836 rhbz#2305947) - mds: only authpin on wrlock when not a locallock (rhbz#2299658) - client: Fix leading / issue with mds_check_access (rhbz#2307931) * Wed Sep 04 2024 Thomas Serlin 2:19.1.1-2 - Update patches * Wed Sep 04 2024 Thomas Serlin - 2:19.1.1-1 - Rebase onto v19.1.1 * Wed Sep 04 2024 Ceph Jenkins 2:19.1.0-72 - mds: only authpin on wrlock when not a locallock (rhbz#2299658) - client: Fix leading / issue with mds_check_access (rhbz#2307931) - qa: Wait for mirror daemon restart before getting new rados_inst (rhbz#2303865) - cephfs_mirror: Fixed negative seconds (rhbz#2303865) - cephfs_mirror: Add ErrorListener to maintain blocklisted/failed timestamp in FSMirror (rhbz#2303865) - cephfs-mirror: use monotonic clock (rhbz#2303865) - cephadm: downstream images for RHCS 8 (rhbz#2302836 rhbz#2305947) * Wed Sep 04 2024 Ceph Jenkins 2:19.1.0-71 - mgr/cephadm: change ceph-nvmeof gw image version to 1.3 Resolves: rhbz#2309667 (rhbz#2309667) * Tue Sep 03 2024 Ceph Jenkins 2:19.1.0-70 - mgr/cephadm: remove jaeger-tracing (rhbz#2232655 rhbz#2309492) * Tue Sep 03 2024 Ceph Jenkins 2:19.1.0-69 - mgr/orchestrator: allow passing group to apply/add nvmeof commands (rhbz#2304295) - Revert "mgr/cephadm: migrate nvmeof specs without group field" (rhbz#2304295) - Revert "mgr/orchestrator: require "group" field for nvmeof specs" (rhbz#2304295) * Tue Sep 03 2024 Ceph Jenkins 2:19.1.0-68 - nvmeof/NVMeofGwMonitorClient: use a separate mutex for beacons (rhbz#2309123) * Mon Sep 02 2024 Ceph Jenkins 2:19.1.0-67 - rgw/restore: Fix a regression with setting ObjCategory during sync (rhbz#2308333) - rgw/restore: Fix bug with ObjectExpirer code (rhbz#2293539) * Sat Aug 31 2024 Ceph Jenkins 2:19.1.0-66 - os/bluestore: Fix unbalanced new[]/delete[] in read_bdev_label functions (rhbz#2308336) - os/bluestore: Modify read_meta() (rhbz#2308336) - os/bluestore: fix fsck fixing multiple bdev label (superblock) (rhbz#2308336) - os/bluestore: Review fixes (rhbz#2308336) - test/store_test: Add double check for repair (rhbz#2308336) - ceph-bluestore-tool: Fix set-label-key and rm-label-key (rhbz#2308336) - os/bluestore: multiple bdev label (superblock) fixes (rhbz#2308336) - os/bluestore: Adapt unittest for multi bdev label (rhbz#2308336) - os/bluestore: Small fix to mkfs (rhbz#2308336) - os/bluestore: Made read/write_meta bdev aware (rhbz#2308336) - os/bluestore: Add read/write_bdev_label functions (rhbz#2308336) - os/bluestore: Modify bdev-label functions operate on bdev (rhbz#2308336) - os/bluestore: Bluefs, expand api for getting BlockDevice on BD/WAL (rhbz#2308336) - os/bluestore: Minor fixes (rhbz#2308336) - os/bluestore: Update test for resilience of bdev label against bad UUID (rhbz#2308336) - os/bluestore: Only accept bdev labels with our UUID (rhbz#2308336) - os/bluestore: Split check* and set* _main_bdev_label (rhbz#2308336) - os/bluestore: Adapt multi bdev label tests for !bdev->supported_bdev_label() (rhbz#2308336) - os/bluestore: Make bdev multi label compatible with !bdev->supported_bdev_label() (rhbz#2308336) - os/bluestore: Fix of bdev label fsck (rhbz#2308336) - os/bluestore: Tests for multi bdev label feature (rhbz#2308336) - os/bluestore: Fix of funny constructor misuse (rhbz#2308336) - os/bluestore: Fix problem with marking unavailable bdev label positions (rhbz#2308336) - os/bluestore: Fix repair for multi label (rhbz#2308336) - os/bluestore: Add ability to upgrade into multi label (rhbz#2308336) - os/bluestore: Hack for fsck with multi label (rhbz#2308336) - os/bluestore: Fix bdev_label_main_try_reserve (rhbz#2308336) - os/bluestore: Fix write_bdev_label (rhbz#2308336) - os/bluestore: fix DB_SUPER_RESERVED->SUPER_RESERVED (rhbz#2308336) - os/bluestore: Small fix to check_or_set_bdev_label (rhbz#2308336) - os/bluestore: Fix write_meta; increase epoch with each write (rhbz#2308336) - os/bluestore: Fix fsck() for multi label (rhbz#2308336) - os/bluestore: Fix _check_or_set_main_bdev_label (rhbz#2308336) - os/bluestore: Fix _main_bdev_label_try_reserve (rhbz#2308336) - os/bluestore: minor fix in _check_or_set_main_bdev_label (rhbz#2308336) - os/bluestore: Fix read_main_bdev_label (rhbz#2308336) - os/bluestore: Fix write_bdev_label (rhbz#2308336) - os/bluestore: Fix read_meta and write_meta (rhbz#2308336) - os/bluestore: Add fsck procedure for bdev multi labels (rhbz#2308336) - os/bluestore: Adapt read_meta / write_meta (rhbz#2308336) - os/bluestore: Give label multiple positions to replicate to (rhbz#2308336) - os/bluestore: Create read_bdev_main_label function (rhbz#2308336) - os/bluestore: Modify read/write_bdev_label functions (rhbz#2308336) - os/bluestore: Remove bluestore_debug_prefill (rhbz#2308336) - os/bluestore: Make read_meta / write_meta cached (rhbz#2308336) * Fri Aug 30 2024 Ceph Jenkins 2:19.1.0-65 - qa/suites/orch: add test for smb with ctdb and cluster public ips (rhbz#2307978) - doc: add documentation for (cluster_)public_addrs options (rhbz#2307978) - mgr/smb: add cluster public ip information to service spec (rhbz#2307978) - mgr/smb: extend cluster resource type to define public ip addrs (rhbz#2307978) - mgr/cephadm: pass public addresses for a cluster to cephadm binary (rhbz#2307978) - python-common/deployment: add a cluster public ip spec for smb (rhbz#2307978) - cephadm: add support for cluster public ip addresses to smb daemon (rhbz#2307978) - mgr/smb: simplify orch backend enablement (rhbz#2307978) - doc: add clustering related items to smb docs (rhbz#2307978) - qa/suites/orch: add a pair of teuthology tests for ctdb smb clusters (rhbz#2307978) - qa/suites/orch: old smb tests need placement count 1 to avoid using clustering (rhbz#2307978) - mgr/cephadm: enable the smb service to prevent stray ctdb services (rhbz#2307978) - mgr/cephadm: extend stray service detection with a general ignore hook (rhbz#2307978) - mgr/cephadm: move logic determining name in stray func (rhbz#2307978) - mgr/smb: enable clustering when setting up a cluster (rhbz#2307978) - mgr/smb: add a cluster resource field to manage clustering (rhbz#2307978) - mgr/cephadm: configure ctdb cluster metadata from cephadm smb service (rhbz#2307978) - mgr/smb: add a python module to help manage the ctdb cluster (rhbz#2307978) - mgr/smb: add function to parse rados psuedo-uri values (rhbz#2307978) - mgr/smb: add support for rados locks to rados store (rhbz#2307978) - mgr/cephadm: improve key management of smb service (rhbz#2307978) - python-common: add clustering related params to SMBSpec (rhbz#2307978) - cephadm: add ctdb support to smb daemon type (rhbz#2307978) - cephadm: allow longer subcomponent names (rhbz#2307978) - cephadm: add a new context getter for rank (rhbz#2307978) - mgr/cephadm: allow services to be conditionally ranked (rhbz#2307978) * Fri Aug 30 2024 Ceph Jenkins 2:19.1.0-64 - rgw: defensive check for part cksum (rhbz#2307986) * Thu Aug 29 2024 Ceph Jenkins 2:19.1.0-63 - mgr/dashboard: disable telemetry notification in ibm (rhbz#2308084) * Thu Aug 29 2024 Ceph Jenkins 2:19.1.0-62 - mon: settle erasure-code-profile --yes-i-really-mean-it in asok's schema (rhbz#2305519) - qa: tests override ec profiles with --yes-i-really-mean-it (rhbz#2305519) - qa/suites/rados: 3-az-stretch-cluster-netsplit test (rhbz#2280258) - doc/rados/operations/pools.rst: Added docs for stretch pool set|unset|show (rhbz#2280258) - qa/suites/rados/singleton/all: init mon-stretch-pool.yaml (rhbz#2280258) - Allow setting peering_crush_bucket_{count|target|barrier} (rhbz#2280258) - PeeringState.cc: Only populate want_acting when num_osds < bucket_max (rhbz#2280258) - qa/suites/netsplit/tests/2-dc-1-arbiter-stretch-cluster-netsplit.yaml (rhbz#2249962) - mon/ElectionLogic: tie-breaker ignore proposal from marked down mon (rhbz#2249962) - mon/NVMeofGw*: fixing bugs - handle gw fast-reboot, proper handle of gw delete scenarios (rhbz#2295188) * Thu Aug 29 2024 Ceph Jenkins 2:19.1.0-61 - mgr/nfs: ensure user_id for create_export_from_dict (rhbz#2300273 rhbz#2302911) - doc: Update pendingreleasenotes for CephFS NFS exports (rhbz#2300273 rhbz#2302911) - doc: cmount_path documentation for CEPHFS nfs exports (rhbz#2300273 rhbz#2302911) - mgr/nfs: adopt API & unit tests for nfs exports (rhbz#2300273 rhbz#2302911) - mgr/nfs: add cmount_path (rhbz#2300273 rhbz#2302911) * Thu Aug 29 2024 Ceph Jenkins 2:19.1.0-60 - qa/s3tests: configure tenant name for 's3 tenant' section (rhbz#2302940) - rgw: revert account-related changes to get_iam_policy_from_attr() (rhbz#2302940) * Tue Aug 27 2024 Ceph Jenkins 2:19.1.0-58 - mgr/cephadm: only change rgw_run_sync_thread if spec setting is set (rhbz#2307854) * Tue Aug 27 2024 Ceph Jenkins 2:19.1.0-57 - rgw: fix multipart get part when count==1 (rhbz#2303759) * Tue Aug 27 2024 Ceph Jenkins 2:19.1.0-56 - mgr/cephadm: add "mount_path_pseudo = true;" to generated ganesha conf (rhbz#2300272) - mgr/cephadm: add NFSv3 protocol to cephadm generated ganesha conf (rhbz#2300272) - mgr/nfs: add NFSv3 protocol to exports (rhbz#2300272) * Tue Aug 27 2024 Ceph Jenkins 2:19.1.0-55 - mgr/dashboard: Add group field in nvmeof service form (rhbz#2308071) * Tue Aug 27 2024 Ceph Jenkins 2:19.1.0-54 - some changes got misplaced while cherry-picking, so putting them back! https://gitlab.cee.redhat.com/ceph/ceph/-/merge_requests/687/diffs?commit_id=32e02625c02e553084e4f80f0a6169d98aebb071#238c0f6ff540180f542f9e19dcf8e5672d6a9491 (rhbz#2307532) * Tue Aug 27 2024 Ceph Jenkins 2:19.1.0-53 - mgr/dashboard: Support nvmeof only for IBM builds (rhbz#2308073) * Mon Aug 26 2024 Ceph Jenkins 2:19.1.0-52 - rgw/logging: add support for GetBucketLogging and PutBucketLogging * Mon Aug 26 2024 Ceph Jenkins 2:19.1.0-51 - rgw/iam: adds implementation for iam UpdateOidcProviderThumbprint. (rhbz#2237887) - rgw/iam: adds implementation for iam AddClientIdToOIDCProvider. (rhbz#2237887) * Fri Aug 23 2024 Ceph Jenkins 2:19.1.0-50 - rbd: fix CLI output of `rbd group snap info` command (rhbz#2302137) - rbd: add group snap info command (rhbz#2302137) - src/tools/rbd: add group info command to output group id (rhbz#2302137) * Fri Aug 23 2024 Ceph Jenkins 2:19.1.0-49 - qa/workunits/rbd: exercise snap_{name,id} parsing in test_import_native_format() (rhbz#2219736) - doc/rbd: clarify when image_id is expected for import-only migration (rhbz#2219736) - librbd/migration: add external clusters support (rhbz#2219736) - librbd/migration: move away from util::create_ioctx() in NativeFormat (rhbz#2219736) - common/config: export CEPH_CONF_FILE_DEFAULT (rhbz#2219736) - librbd: RefreshParentRequest::m_parent_snap_id is unused (rhbz#2219736) - librbd: assert on parent in ImageCtx destructor (rhbz#2219736) - qa/tasks/qemu: remove hard-coding of cluster name (rhbz#2219736) - qa/tasks/rbd: support non-default ceph clusters (rhbz#2219736) - librbd/migration: don't clone when flattening (rhbz#2219736) * Fri Aug 23 2024 Ceph Jenkins 2:19.1.0-48 - rgw/sts: correcting the error message returned for an sts key to indicate that the key needs to be alphanumeric. (rhbz#2237847) * Fri Aug 23 2024 Justin Caratzas 2:19.1.0-47 - ceph.spec: add python-zstandard and python3-jwt to BuildRequires * Thu Aug 22 2024 Ceph Jenkins 2:19.1.0-46 - mon/NVMeofGw*: backporting of nvmeof upgrade support (rhbz#2304295) * Thu Aug 22 2024 Ceph Jenkins 2:19.1.0-45 - Object > nfs page routing fixes (rhbz#2306487) * Wed Aug 21 2024 Ceph Jenkins 2:19.1.0-44 - mgr/callhome: Add the zstandard module to manager modules requeriments (rhbz#2306021) * Wed Aug 21 2024 Ceph Jenkins 2:19.1.0-43 - mgr/cephadm: add ability for cephadm to create self-signed cert for RGW - python-common/service_spec: fix zonegroup_hostnames type * Tue Aug 20 2024 Ceph Jenkins 2:19.1.0-42 - cephadm: mount nvmeof certs into container (rhbz#2305952) * Mon Aug 19 2024 Ceph Jenkins 2:19.1.0-41 - cmake: work around xxhash 'inlining failed' errors in debug builds (rhbz#2305758) * Mon Aug 19 2024 Ceph Jenkins 2:19.1.0-40 - rgw/restore: Handle Restore op while fetching object (rhbz#2293539) - RGW: Cloud Restore cli and its corresponding response for user. (rhbz#2293539) - rgw/restore: Fixed issue with restoring large objects (rhbz#2293539) - cloud restore: completing read through (rhbz#2293539) - rgw/cloud-restore: Use ObjectExpirer/delete_at attr to delete temp objects (rhbz#2293539) - rgw/cloudtier: Restore object from cloud endpoint (rhbz#2293539) * Mon Aug 19 2024 Ceph Jenkins 2:19.1.0-39 - mgr/cephadm: add "original_weight" parameter to OSD class (rhbz#2305678) * Mon Aug 19 2024 Ceph Jenkins 2:19.1.0-38 - cmake: use BLAKE3's cmake (rhbz#2303759) * Mon Aug 19 2024 Ceph Jenkins 2:19.1.0-37 - rgwlc: non-current expiration sends LifecycleExpirationDelete (rhbz#2279607) - rgwlc: avoid duplicate notifies during transitions (rhbz#2279607) * Mon Aug 19 2024 Ceph Jenkins 2:19.1.0-36 - rgwlc: compile fix (rhbz#2279607) * Mon Aug 19 2024 Ceph Jenkins 2:19.1.0-35 - rgw_lc: stop using merge_and_store_attrs in remove_bucket_config (rhbz#2279607) - rgw/cloud-transition: fix the crash with accessing invalid attrs (rhbz#2279339) - rgw/cloud-transition: fix the crash with publish_commit (rhbz#2279339) * Thu Aug 15 2024 Ceph Jenkins 2:19.1.0-34 - cephadm/smb: Determine samba version within container (rhbz#2294880) * Thu Aug 15 2024 Ceph Jenkins 2:19.1.0-33 - rgw/beast: fix crash observed in SSL stream.async_shutdown() (rhbz#2236510) * Wed Aug 14 2024 Ceph Jenkins 2:19.1.0-32 - rgw: fixup compressor_message didn't store in some cases (rhbz#2284394) - compressor: Change data formt to QZ_DEFLATE_GZIP_EXT for QAT zlib (rhbz#2284394) - ceph-volume: refactor device path handling for LVM lookups (rhbz#2304317) - ceph-volume: add TPM2 token enrollment support for encrypted OSDs (rhbz#2304317) - ceph-volume: tests shouldn't require lvm2 to pass (rhbz#2304317) - ceph-volume: do not convert LVs's symlink to real path (rhbz#2304317) - ceph-volume: fix TestMigrate tests (rhbz#2304317) - ceph-volume: do source devices zapping if they're detached. (rhbz#2304317) - ceph-volume: create LVs when using partitions (rhbz#2304317) - ceph-volume: fix regex usage in `set_dmcrypt_no_workqueue` (rhbz#2304317) - ceph-volume: fix set_dmcrypt_no_workqueue() (rhbz#2304317) - ceph-volume: fix regression (rhbz#2304317) - ceph-volume: use importlib from stdlib on Python 3.8 and up (rhbz#2304317) - ceph-volume: drop pytest-xdist usage (rhbz#2304317) - ceph-volume: fix and clean up unit tests (rhbz#2304317) - ceph-volume: add objectstore unit tests (rhbz#2304317) - ceph-volume: fix raw activate by osd-id/osd-uuid (rhbz#2304317) - ceph-volume: introduce baseobjectstore class (rhbz#2304317) - ceph-volume: use os.makedirs for mkdir_p (rhbz#2304317) - rgw/notifications: fixing radosgw-admin notification json (rhbz#2303947) * Tue Aug 13 2024 Ceph Jenkins 2:19.1.0-31 - rgwlc: fix typo in getlc (ObjectSizeGreaterThan) (rhbz#2270738) * Tue Aug 13 2024 Ceph Jenkins 2:19.1.0-30 - rgw: code to display the complete user id that includes tenant, namespace, and id for a GET request to admin ops for user info. added code to display namespace also. (rhbz#2255255) - dashboard/rgw: changes to use 'full_user_id' from rgw user info as 'uid' in dashboard. 'full_user_id' includes tenant and user id, and also namespace wherever it is non empty. (rhbz#2255255) - rgw: for delete ops for a bucket, where an attr/attrs are erased from the existing attrs, call put_info() in place of merge_and_store(), to store them in the backend store. (rhbz#2262919) - rgw/sts: by-passing authentication using temp creds in case the request is forwarded from secondary in a multi-site setup. authenticating with the system user creds of which are used to sign the request. Permissions are still derived from the role. (rhbz#2271595) * Tue Aug 13 2024 Ceph Jenkins 2:19.1.0-29 - mgr/dashboard: nvmf apis broken for insecure channel (rhbz#2303116) * Mon Aug 12 2024 Ceph Jenkins 2:19.1.0-28 - rgw/adminops: add option to provide storageclass adminops user apis (rhbz#2293615) - rgw: implement GetObjectAttributes (rhbz#2266243) * Fri Aug 09 2024 Ceph Jenkins 2:19.1.0-27 - mgr/dashboard: renamed multisite-e2e file, skipped few tests (rhbz#2298101) - mgr/dashboard: rgw sync policy routing fixes (rhbz#2298101) - mgr/dashboard: RGW multisite sync pipe (rhbz#2298101) - mgr/dashboard: RGW multisite sync flow (rhbz#2298101) - mgr/dashboard: RGW sync policy crud operations (rhbz#2298101) - mgr/dashborad: RGW sync policy (rhbz#2298101) * Fri Aug 09 2024 Ceph Jenkins 2:19.1.0-26 - doc: update 'sync_bytes' in peer status (rhbz#2303452) - doc: update current_syncing_snap in peer status (rhbz#2303452) - cephfs_mirror: show 'sync_bytes' in peer status (rhbz#2303452) * Thu Aug 08 2024 Ceph Jenkins 2:19.1.0-25 - rgw_cksum: introduce attribute caching in RadosMultipartUpload (rhbz#2303759) - dout: add macros for libfmt-style logging (rhbz#2303759) - rgw_cksum: address review comments (rhbz#2303759) - rgw_cksum: implement POST upload checksums (rhbz#2303759) - rgw_cksum: fix ReadOp comment (rhbz#2303759) - return parts_count from read_op::prepare whenever applicable (rhbz#2303759) - rgw_cksum: upload->get_info() fails when !cksum (why?) (rhbz#2303759) - fix d4n test build for cksum (rhbz#2303759) - rgw_cksum: multipart upload checksums (rhbz#2303759) - rgw_cksum: test round-trip constructor (armored) (rhbz#2303759) - * forward pipe continuation in RGWPutObj_Cksum::process() (rhbz#2303759) - rgw: add checksum and digest machinery (rhbz#2303759) - common/rgw: add BLAKE3 submodule (rhbz#2303759) - common: update xxHash submodule to v082 (rhbz#2303759) - client: fix file cache cap leak which can stall async read call (rhbz#2232674) - test/client: test contiguous read for a non-contiguous write (rhbz#2232674) * Thu Aug 08 2024 Ceph Jenkins 2:19.1.0-24 - librbd/migration: make ImageDispatch handle encryption for non-native formats (rhbz#2303528) - librbd: don't make an extra copy of image_extents in C_ImageReadRequest ctor (rhbz#2303528) - qa/workunits/rbd: perform cleanup in test_clone_encryption() (rhbz#2303528) - qa/workunits/rbd: no need to chmod in luks-encryption.sh (rhbz#2303528) - librbd/migration: make FormatInterface::read() void again (rhbz#2303528) - librbd/migration: close source image in OpenSourceImageRequest (rhbz#2303528) - librbd/migration: don't instantiate NativeFormat, handle it via dispatch (rhbz#2303528) - librbd/migration/NativeFormat: refactor source spec parsing (rhbz#2303528) - librbd/migration/NativeFormat: do pool lookup instead of creating io_ctx (rhbz#2303528) - librbd/migration: make SourceSpecBuilder::parse_source_spec() static (rhbz#2303528) - librbd/migration/OpenSourceImageRequest: rename io_ctx -> dst_io_ctx (rhbz#2303528) - librbd/migration: massage some error messages (rhbz#2303528) - librbd/api: clean up leftovers in Migration::prepare_import() (rhbz#2303528) - qa/workunits/rbd: avoid caching effects in luks-encryption.sh (rhbz#2303528) * Thu Aug 08 2024 Ceph Jenkins 2:19.1.0-23 - doc: document labelled perf metrics for mds/cephfs-mirror (rhbz#2303452) - qa: check last successful snapshot sync metrics in perf counters (rhbz#2303452) - cephfs_mirror: provide metrics for last successful snapshot sync (rhbz#2303452) * Thu Aug 08 2024 Ceph Jenkins 2:19.1.0-22 - mgr/dashboard: provide option to enable pool based mirroring mode while creating a pool (rhbz#2298553) * Wed Aug 07 2024 Ceph Jenkins 2:19.1.0-21 - mgr/ccha: Complete flag is set to false only when operation in progress (rhbz#2299176) * Wed Aug 07 2024 Ceph Jenkins 2:19.1.0-20 - mgr/callhome: ISCE-740 - Call Home Performance report (rhbz#2303388) - mgr/callhome: ISCE-739 Support UI - Call Home info (rhbz#2303389) * Wed Aug 07 2024 Ceph Jenkins 2:19.1.0-19 - mgr/cephadm: make nvme-gw adds be able to handle multiple services/groups (rhbz#2302239) - mgr/cephadm: migrate nvmeof specs without group field (rhbz#2302239) - mgr/orchestrator: require "group" field for nvmeof specs (rhbz#2302239) * Wed Aug 07 2024 Ceph Jenkins 2:19.1.0-18 - mon: validate SERVER_REEF on set-require-min-compat-client (rhbz#2303039) - mon, osd, *: expose upmap-primary in OSDMap::get_features() (rhbz#2303039) * Mon Aug 05 2024 Ceph Jenkins 2:19.1.0-17 - mgr/smb: fix incorrect import for squid/rhcs-8 version of mgr_module.py (rhbz#2300005) * Mon Aug 05 2024 Ceph Jenkins 2:19.1.0-16 - mgr/dashboard: fix nav urls for cephfs and nfs (rhbz#2302222) - Revert "mgr/dashboard: fix nav urls for cephfs and nfs" (rhbz#2302222) * Sun Aug 04 2024 Ceph Jenkins 2:19.1.0-15 - cephadm: change mount point for ceph-nvmeof.conf (rhbz#2240588) * Sun Aug 04 2024 Ceph Jenkins 2:19.1.0-14 - Update patches * Sun Aug 04 2024 Ceph Jenkins 2:19.1.0-13 - Update patches * Fri Aug 02 2024 Ceph Jenkins 2:19.1.0-12 - cephfs_mirror: use snapdiff api for incremental syncing (rhbz#2301912) * Thu Aug 01 2024 Ceph Jenkins 2:19.1.0-11 - cephadm: do not hard code samba debuglevel 6 (rhbz#2300005) - doc/mgr/smb: Fix a typo in options for cluster resource (rhbz#2300005) - doc/mgr/smb: Add missing option for standalone mode (rhbz#2300005) - mgr/smb: Replace "clusters" with "shares" in error status (rhbz#2300005) - mgr/smb: fix ceph smb show when a cluster has not associated shares (rhbz#2300005) - mgr/smb: Use the default for minimum protocol version (rhbz#2300005) - mgr/smb: Add acl_xattr configuration to share definition (rhbz#2300005) - test/ smb: modify source_type to fix run-tox-mgr failed (rhbz#2300005) - mgr/smb: cache subvolume (& subvolume group) path lookups (rhbz#2300005) - qa/suites/orch: enable cephadm single_host_defaults for smb tests (rhbz#2300005) - mgr/smb: improve error handling for generic exceptions (rhbz#2300005) - pybind/mgr: add a specific exception for the mgr_pool disabled case (rhbz#2300005) - pybind/mgr: add a log line to hint why mgr sqlite3 db not ready (rhbz#2300005) - mgr/smb: use the sqlite mirroring store by default (rhbz#2300005) - mgr/smb: filter out password fields in sqlite store (rhbz#2300005) - mgr/smb: add function for setting up sqlite mirroring store (rhbz#2300005) - mgr/smb: add SqliteMirroringStore class (rhbz#2300005) - mgr/smb: add transactions to handler funcs underlying show command (rhbz#2300005) - mgr/smb: make the new sqlite store our default internal store (rhbz#2300005) - mgr/smb: add a new sqlite db backed store (rhbz#2300005) - mgr/smb: add store transactions to parts of the handler (rhbz#2300005) - mgr/smb: add TransactingConfigStore protocol (rhbz#2300005) - mgr/smb: add a unit test to verify the new name in use check (rhbz#2300005) - mgr/smb: validate that a share name is unique per-cluster (rhbz#2300005) - mgr/smb: add find_in_store function to config_store.py (rhbz#2300005) - mgr/smb: add ObjectCachingEntry class to config_store.py (rhbz#2300005) - mgr/smb: add a new protocol for a FindingConfigStore (rhbz#2300005) - pybind/mgr: add convenient context mgrs for accessing module db (rhbz#2300005) - mgr/smb: add test coverage for show command (rhbz#2300005) - mgr/smb: add test coverage for creating users with cluster (rhbz#2300005) - mgr/smb: add heavily mocked unit test for fs.py module (rhbz#2300005) - mgr/smb: improve error case test coverage for handler (rhbz#2300005) - mgr/smb: make InvalidResourceError based on ErrorResponseBase (rhbz#2300005) - mgr/smb: extra check that we don't iterate over non-lists (rhbz#2300005) - mgr/smb: fix an incorrect comment (rhbz#2300005) - mgr/smb: fix and test load_text function (rhbz#2300005) - mgr/smb: add more test cases for resource validation errors (rhbz#2300005) - mgr/smb: fix some incorrect f-strings when raising validation error (rhbz#2300005) - mgr/smb: add test coverage for expanding login access enum (rhbz#2300005) - mgr/smb: add test coverage for all utils.py functions (rhbz#2300005) - mgr/smb: move a handful of small functions to utils.py (rhbz#2300005) - doc: document smb share login_control and restrict_access options (rhbz#2300005) - mgr/smb: add handler unit tests for login_control in share generation (rhbz#2300005) - mgr/smb: add unit tests for share login_control attribute (rhbz#2300005) - mgr/smb: add validation unit tests for login names (rhbz#2300005) - mgr/smb: include login_control content when generating share config (rhbz#2300005) - mgr/smb: add login_control and restrict_access attributes to share (rhbz#2300005) - mgr/smb: add validation function for share login names (rhbz#2300005) - mgr/smb: add enums for managing share login access control (rhbz#2300005) - mgr/smb: add unit tests for custom_options funcs (rhbz#2300005) - doc: add subsections on custom share and custom global options (rhbz#2300005) - mgr/smb: pass custom options to samba(cc) configuration (rhbz#2300005) - mgr/smb: add custom config options to share and cluster resources (rhbz#2300005) - mgr/smb: add validation funcs for custom parameter dictionaries (rhbz#2300005) - mgr/smb: convert failures to create a valid resource into error results (rhbz#2300005) - mgr/smb: use correct module when referring to result classes (rhbz#2300005) - mgr/smb: allow ResultGroup to take an initial list of results (rhbz#2300005) - mgr/smb: add result type for reporting resource validation errors (rhbz#2300005) - mgr/smb: add resource construction error handling exception (rhbz#2300005) - mgr/smb: add error handling & conversion hook to resourcelib (rhbz#2300005) - mgr/smb: share and cluster create commands only create resources (rhbz#2300005) - mgr/smb: add a unit test to cover apply func create_only argument (rhbz#2300005) - mgr/smb: add create_only arg for handler apply function (rhbz#2300005) - mgr/smb: cache new and stored keys separately in the staging area (rhbz#2300005) - doc/mgr/smb: remove embedded join auth and users/groups source types (rhbz#2300005) - mgr/smb: filter out python version blocks from coverage (rhbz#2300005) - mgr/smb: remove embedded join source and users and groups types (rhbz#2300005) - mgr/smb: convert smb module cluster create to use linked resources (rhbz#2300005) - mgr/smb: add squash method to ResultGroup (rhbz#2300005) - mgr/smb: add handler tests for new linked_to_cluster field (rhbz#2300005) - mgr/smb: add rand_name function (rhbz#2300005) - mgr/smb: update handler to make use of linked_to_cluster fields (rhbz#2300005) - mgr/smb: add linked_to_cluster fields for JoinAuth and UsersAndGroups (rhbz#2300005) - mgr/smb: add staging area class to handler (rhbz#2300005) - mgr/smb: extend key fetching support in internal store helper module (rhbz#2300005) - mgr/smb: split ConfigStore protocol listing methods out (rhbz#2300005) - mgr/smb: move handler's resource check logic into functions (rhbz#2300005) - mgr/smb: make handler's resource ordering a top-level function (rhbz#2300005) - mgr/smb: adjust the order of the result object fields (rhbz#2300005) - mgr/smb: add unit tests for show command json and yaml outupt (rhbz#2300005) - mgr/smb: disable dictionary key sorting for cli output (rhbz#2300005) - mgr/object_format: allow easily disabling dict key sorting (rhbz#2300005) - qa/suites/orch: add test for smb mgr module basic deploy with resources (rhbz#2300005) - qa/suites/orch: add test for smb mgr module basic deploy with cli (rhbz#2300005) - qa/suites/orch: add test for smb mgr module ad deploy with resources (rhbz#2300005) - qa/suites/orch: add test for smb mgr module ad deploy with cli (rhbz#2300005) - qa/tasks/cephadm: add a wait_for_service_not_present task func (rhbz#2300005) - doc/mgr: add documentation for new smb mgr module (rhbz#2300005) - ceph.spec.in: add smb module and python-dataclasses dependency (rhbz#2300005) - pybind/mgr: use black & isort on the smb module (rhbz#2300005) - pybind/mgr/smb: add unit tests file tests/test_smb.py (rhbz#2300005) - pybind/mgr/smb: add unit tests file tests/test_handler.py (rhbz#2300005) - pybind/mgr/smb: add unit tests file tests/test_rados_store.py (rhbz#2300005) - pybind/mgr/smb: add unit tests file tests/test_resources.py (rhbz#2300005) - pybind/mgr/smb: add unit tests file tests/test_resourcelib.py (rhbz#2300005) - pybind/mgr/smb: add unit tests file tests/test_validation.py (rhbz#2300005) - pybind/mgr/smb: add unit tests file tests/test_enums.py (rhbz#2300005) - pybind/mgr/smb: create a smb tests dir (rhbz#2300005) - pybind/mgr/smb: extend module.py with real smb mgmt methods (rhbz#2300005) - pybind/mgr/smb: add cli.py wrapper funcs for cli/mgr interaction (rhbz#2300005) - pybind/mgr/smb: add handler.py the main business logic & transaction core (rhbz#2300005) - pybind/mgr/smb: add results.py for result reporting types (rhbz#2300005) - pybind/mgr/smb: add fs.py functions for interacting with file systems (rhbz#2300005) - pybind/mgr/smb: add external.py intermediate funcs for external config store (rhbz#2300005) - pybind/mgr/smb: add internal.py intermediate funcs for internal config store (rhbz#2300005) - pybind/mgr/smb: add resources.py for defining resource classes (rhbz#2300005) - pybind/mgr/smb: add resourcelib.py an internal resource mgmt lib (rhbz#2300005) - pybind/mgr/smb: add validation.py for generic module validation funcs (rhbz#2300005) - pybind/mgr/smb: add rados_store.py wrapping rados apis (rhbz#2300005) - pybind/mgr/smb: add mon_store.py for wrapping the mon key-store (rhbz#2300005) - pybind/mgr/smb: add config_store.py defining generic in-memory stores (rhbz#2300005) - pybind/mgr/smb: add proto.py for protcol classes and generic types (rhbz#2300005) - pybind/mgr/smb: add enums.py for general smb module enums (rhbz#2300005) - pybind/mgr: add new smb module to tox.ini (rhbz#2300005) - pybind/mgr: stub in a new smb mgr module (rhbz#2300005) - cephadm: handle user_sources uri values in smb daemon (rhbz#2300005) - mgr/cephadm: add support for user_sources smb spec field (rhbz#2300005) - python-common: add a user_sources field to smb service spec (rhbz#2300005) - qa/suites/rbd/nvmeof: add multi-subsystem setup and thrash test (rhbz#2302243) - mgr/cephadm: ceph nvmeof monitor support (rhbz#2302242) - mon: add NVMe-oF gateway monitor and HA doc (rhbz#2302241) - mon: add NVMe-oF gateway monitor and HA (rhbz#2302240) * Wed Jul 31 2024 Ceph Jenkins 2:19.1.0-10 - mgr/dashboard: support rgw user level NFS export (rhbz#2221195) - mgr/dashboard: fix nav urls for cephfs and nfs (rhbz#2301988) - mgr/dashboard: Fix NFS routing (rhbz#2301988) * Wed Jul 31 2024 Ceph Jenkins 2:19.1.0-9 - rgw: delay the RGW process exit until all actice requests have completed (rhbz#2298701) * Wed Jul 31 2024 Ceph Jenkins 2:19.1.0-8 - rgw: qat: if necesary initialize the `qat` supplemental group (rhbz#2266529) * Wed Jul 31 2024 Ceph Jenkins 2:19.1.0-7 - mgr/dashboard: Block -> Images -> Create form improvements (rhbz#2298552) * Wed Jul 31 2024 Ceph Jenkins 2:19.1.0-6 - mgr/dashboard: expand cluster back navigation fix (rhbz#2298568) - mgr/dashboard: Expand Cluster improvements (rhbz#2298568) * Tue Jul 30 2024 Ceph Jenkins 2:19.1.0-5 - mgr/dashboard: call home and storage insights integration (rhbz#2235261 rhbz#2240189 rhbz#2264344 rhbz#2267611 rhbz#2271088 rhbz#2241156) - cephadm: add Call Home and Storage Insights (rhbz#2242916 rhbz#2242918 rhbz#2243115 rhbz#2264462 rhbz#2267676) - mgr/call_home_agent: IBM Call Home Agent module (rhbz#2235256 rhbz#2235256 rhbz#2241825 rhbz#2248640 rhbz#2231489 rhbz#2243795 rhbz#2243796 rhbz#2264434 rhbz#2264432 rhbz#2264444 rhbz#2266236 rhbz#2264434 rhbz#2268399 rhbz#2231489 rhbz#2271537 rhbz#2273565 rhbz#2271537) - mgr/nfs: scrape nfs monitoring endpoint (rhbz#2301610) * Fri Jul 26 2024 Ceph Jenkins 2:19.1.0-4 - mgr/dashboard: Add initiators add/update in dashboard (rhbz#2300039) * Thu Jul 25 2024 Ceph Jenkins 2:19.1.0-3 - Update patches * Fri Jul 19 2024 Justin Caratzas 2:19.1.0-2 - Update patches * Fri Jul 19 2024 Justin Caratzas - 2:19.1.0-1 - Rebase to 19.1.0 (g9025b9024ba)