import ceph reef 18.2.2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2024-03-11 17:09:07 +01:00
parent 6fb7442deb
commit df9f7d3d5c
12 changed files with 63 additions and 38 deletions

View File

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
project(ceph project(ceph
VERSION 18.2.1 VERSION 18.2.2
LANGUAGES CXX C ASM) LANGUAGES CXX C ASM)
cmake_policy(SET CMP0028 NEW) cmake_policy(SET CMP0028 NEW)

View File

@ -170,7 +170,7 @@
# main package definition # main package definition
################################################################################# #################################################################################
Name: ceph Name: ceph
Version: 18.2.1 Version: 18.2.2
Release: 0%{?dist} Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
Epoch: 2 Epoch: 2
@ -186,7 +186,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-
Group: System/Filesystems Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-18.2.1.tar.bz2 Source0: %{?_remote_tarball_prefix}ceph-18.2.2.tar.bz2
%if 0%{?suse_version} %if 0%{?suse_version}
# _insert_obs_source_lines_here # _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x ExclusiveArch: x86_64 aarch64 ppc64le s390x
@ -1292,7 +1292,7 @@ This package provides a Ceph MIB for SNMP traps.
# common # common
################################################################################# #################################################################################
%prep %prep
%autosetup -p1 -n ceph-18.2.1 %autosetup -p1 -n ceph-18.2.2
%build %build
# Disable lto on systems that do not support symver attribute # Disable lto on systems that do not support symver attribute

View File

@ -1,7 +1,13 @@
ceph (18.2.1-1jammy) jammy; urgency=medium ceph (18.2.2-1jammy) jammy; urgency=medium
-- Jenkins Build Slave User <jenkins-build@braggi13.front.sepia.ceph.com> Mon, 11 Dec 2023 22:07:48 +0000 -- Jenkins Build Slave User <jenkins-build@braggi10.front.sepia.ceph.com> Mon, 04 Mar 2024 20:27:31 +0000
ceph (18.2.2-1) stable; urgency=medium
* New upstream release
-- Ceph Release Team <ceph-maintainers@ceph.io> Mon, 04 Mar 2024 20:04:03 +0000
ceph (18.2.1-1) stable; urgency=medium ceph (18.2.1-1) stable; urgency=medium

View File

@ -52,16 +52,20 @@ case "$1" in
--system \ --system \
--no-create-home \ --no-create-home \
--disabled-password \ --disabled-password \
--home $SERVER_HOME \
--uid $SERVER_UID \ --uid $SERVER_UID \
--gid $SERVER_GID \ --gid $SERVER_GID \
$SERVER_USER 2>/dev/null || true $SERVER_USER 2>/dev/null || true
echo "..done" echo "..done"
fi fi
# 3. adjust passwd entry # 3. adjust passwd entry
# NOTE: we should use "adduser --comment" if we don't need to
# support adduser <3.136. "adduser --gecos" is deprecated,
# and will be removed, so we don't use it. the first distro
# using --comment is debian/trixie or ubuntu/mantic.
echo -n "Setting system user $SERVER_USER properties.." echo -n "Setting system user $SERVER_USER properties.."
usermod -c "$SERVER_NAME" \ usermod --comment "$SERVER_NAME" \
-d $SERVER_HOME \ --gid $SERVER_GROUP \
-g $SERVER_GROUP \
$SERVER_USER $SERVER_USER
# Unlock $SERVER_USER in case it is locked from an uninstall # Unlock $SERVER_USER in case it is locked from an uninstall
if [ -f /etc/shadow ]; then if [ -f /etc/shadow ]; then

View File

@ -25,7 +25,12 @@ case "$1" in
# 1. create user if not existing # 1. create user if not existing
if ! getent passwd | grep -q "^cephadm:"; then if ! getent passwd | grep -q "^cephadm:"; then
echo -n "Adding system user cephadm.." echo -n "Adding system user cephadm.."
adduser --quiet --system --disabled-password --gecos 'cephadm user for mgr/cephadm' --shell /bin/bash cephadm 2>/dev/null || true adduser --quiet \
--system \
--disabled-password \
--home /home/cephadm \
--shell /bin/bash cephadm 2>/dev/null || true
usermod --comment "cephadm user for mgr/cephadm" cephadm
echo "..done" echo "..done"
fi fi
@ -38,19 +43,19 @@ case "$1" in
# set up (initially empty) .ssh/authorized_keys file # set up (initially empty) .ssh/authorized_keys file
if ! test -d /home/cephadm/.ssh; then if ! test -d /home/cephadm/.ssh; then
mkdir /home/cephadm/.ssh mkdir /home/cephadm/.ssh
chown --reference /home/cephadm /home/cephadm/.ssh chown --reference /home/cephadm /home/cephadm/.ssh
chmod 0700 /home/cephadm/.ssh chmod 0700 /home/cephadm/.ssh
fi fi
if ! test -e /home/cephadm/.ssh/authorized_keys; then if ! test -e /home/cephadm/.ssh/authorized_keys; then
touch /home/cephadm/.ssh/authorized_keys touch /home/cephadm/.ssh/authorized_keys
chown --reference /home/cephadm /home/cephadm/.ssh/authorized_keys chown --reference /home/cephadm /home/cephadm/.ssh/authorized_keys
chmod 0600 /home/cephadm/.ssh/authorized_keys chmod 0600 /home/cephadm/.ssh/authorized_keys
fi fi
;; ;;
abort-upgrade|abort-remove|abort-deconfigure) abort-upgrade|abort-remove|abort-deconfigure)
: :
;; ;;
*) *)

View File

@ -184,7 +184,8 @@ Description: debugging symbols for ceph-base
Package: cephadm Package: cephadm
Architecture: linux-any Architecture: linux-any
Recommends: podman (>= 2.0.2) | docker.io | docker-ce Recommends: podman (>= 2.0.2) | docker.io | docker-ce
Depends: lvm2, Depends: adduser (>= 3.11),
lvm2,
python3, python3,
${python3:Depends}, ${python3:Depends},
Description: cephadm utility to bootstrap ceph daemons with systemd and containers Description: cephadm utility to bootstrap ceph daemons with systemd and containers
@ -610,7 +611,8 @@ Description: debugging symbols for rbd-nbd
Package: ceph-common Package: ceph-common
Architecture: linux-any Architecture: linux-any
Depends: librbd1 (= ${binary:Version}), Depends: adduser (>= 3.11),
librbd1 (= ${binary:Version}),
python3-cephfs (= ${binary:Version}), python3-cephfs (= ${binary:Version}),
python3-ceph-argparse (= ${binary:Version}), python3-ceph-argparse (= ${binary:Version}),
python3-ceph-common (= ${binary:Version}), python3-ceph-common (= ${binary:Version}),

View File

@ -1,2 +1,2 @@
7fe91d5d5842e04be3b4f514d6dd990c54b29c76 531c0d11a1c5d39fbfe6aa8a521f023abf3bf3e2
18.2.1 18.2.2

View File

@ -587,9 +587,9 @@ void OSDMap::Incremental::encode(ceph::buffer::list& bl, uint64_t features) cons
v = 5; v = 5;
} else if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) { } else if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) {
v = 6; v = 6;
} /* else if (!HAVE_FEATURE(features, SERVER_REEF)) { } else if (!HAVE_FEATURE(features, SERVER_REEF)) {
v = 8; v = 8;
} */ }
ENCODE_START(v, 1, bl); // client-usable data ENCODE_START(v, 1, bl); // client-usable data
encode(fsid, bl); encode(fsid, bl);
encode(epoch, bl); encode(epoch, bl);
@ -2977,6 +2977,9 @@ bool OSDMap::primary_changed_broken(
uint64_t OSDMap::get_encoding_features() const uint64_t OSDMap::get_encoding_features() const
{ {
uint64_t f = SIGNIFICANT_FEATURES; uint64_t f = SIGNIFICANT_FEATURES;
if (require_osd_release < ceph_release_t::reef) {
f &= ~CEPH_FEATURE_SERVER_REEF;
}
if (require_osd_release < ceph_release_t::octopus) { if (require_osd_release < ceph_release_t::octopus) {
f &= ~CEPH_FEATURE_SERVER_OCTOPUS; f &= ~CEPH_FEATURE_SERVER_OCTOPUS;
} }
@ -3156,9 +3159,9 @@ void OSDMap::encode(ceph::buffer::list& bl, uint64_t features) const
v = 6; v = 6;
} else if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) { } else if (!HAVE_FEATURE(features, SERVER_NAUTILUS)) {
v = 7; v = 7;
} /* else if (!HAVE_FEATURE(features, SERVER_REEF)) { } else if (!HAVE_FEATURE(features, SERVER_REEF)) {
v = 9; v = 9;
} */ }
ENCODE_START(v, 1, bl); // client-usable data ENCODE_START(v, 1, bl); // client-usable data
// base // base
encode(fsid, bl); encode(fsid, bl);

View File

@ -564,7 +564,8 @@ private:
CEPH_FEATUREMASK_SERVER_LUMINOUS | CEPH_FEATUREMASK_SERVER_LUMINOUS |
CEPH_FEATUREMASK_SERVER_MIMIC | CEPH_FEATUREMASK_SERVER_MIMIC |
CEPH_FEATUREMASK_SERVER_NAUTILUS | CEPH_FEATUREMASK_SERVER_NAUTILUS |
CEPH_FEATUREMASK_SERVER_OCTOPUS; CEPH_FEATUREMASK_SERVER_OCTOPUS |
CEPH_FEATUREMASK_SERVER_REEF;
struct addrs_s { struct addrs_s {
mempool::osdmap::vector<std::shared_ptr<entity_addrvec_t> > client_addrs; mempool::osdmap::vector<std::shared_ptr<entity_addrvec_t> > client_addrs;

View File

@ -18,6 +18,6 @@
</noscript> </noscript>
<cd-root></cd-root> <cd-root></cd-root>
<script src="runtime.a53144ca583f6e2c.js" type="module"></script><script src="polyfills.374f1f989f34e1be.js" type="module"></script><script src="scripts.177a7ad3f45b4499.js" defer></script><script src="main.871e04c0fd27227d.js" type="module"></script> <script src="runtime.a53144ca583f6e2c.js" type="module"></script><script src="polyfills.374f1f989f34e1be.js" type="module"></script><script src="scripts.177a7ad3f45b4499.js" defer></script><script src="main.a87f559bb03ca0fb.js" type="module"></script>
</body></html> </body></html>

View File

@ -13,7 +13,7 @@ from collections import namedtuple
from mgr_module import CLIReadCommand, MgrModule, MgrStandbyModule, PG_STATES, Option, ServiceInfoT, HandleCommandResult, CLIWriteCommand from mgr_module import CLIReadCommand, MgrModule, MgrStandbyModule, PG_STATES, Option, ServiceInfoT, HandleCommandResult, CLIWriteCommand
from mgr_util import get_default_addr, profile_method, build_url from mgr_util import get_default_addr, profile_method, build_url
from orchestrator import OrchestratorClientMixin, raise_if_exception, NoOrchestrator from orchestrator import OrchestratorClientMixin, raise_if_exception, OrchestratorError
from rbd import RBD from rbd import RBD
from typing import DefaultDict, Optional, Dict, Any, Set, cast, Tuple, Union, List, Callable from typing import DefaultDict, Optional, Dict, Any, Set, cast, Tuple, Union, List, Callable
@ -646,8 +646,6 @@ class Module(MgrModule, OrchestratorClientMixin):
_global_instance = self _global_instance = self
self.metrics_thread = MetricCollectionThread(_global_instance) self.metrics_thread = MetricCollectionThread(_global_instance)
self.health_history = HealthHistory(self) self.health_history = HealthHistory(self)
self.modify_instance_id = self.get_orch_status() and self.get_module_option(
'exclude_perf_counters')
def _setup_static_metrics(self) -> Dict[str, Metric]: def _setup_static_metrics(self) -> Dict[str, Metric]:
metrics = {} metrics = {}
@ -864,10 +862,12 @@ class Module(MgrModule, OrchestratorClientMixin):
return metrics return metrics
def get_orch_status(self) -> bool: def orch_is_available(self) -> bool:
try: try:
return self.available()[0] return self.available()[0]
except NoOrchestrator: except (RuntimeError, OrchestratorError, ImportError):
# import error could happend during startup in case
# orchestrator has not been loaded yet by the mgr
return False return False
def get_server_addr(self) -> str: def get_server_addr(self) -> str:
@ -1292,18 +1292,22 @@ class Module(MgrModule, OrchestratorClientMixin):
# Populate other servers metadata # Populate other servers metadata
# If orchestrator is available and ceph-exporter is running modify rgw instance id # If orchestrator is available and ceph-exporter is running modify rgw instance id
# to match the one from exporter # to match the one from exporter
if self.modify_instance_id: modify_instance_id = self.orch_is_available() and self.get_module_option('exclude_perf_counters')
if modify_instance_id:
daemons = raise_if_exception(self.list_daemons(daemon_type='rgw')) daemons = raise_if_exception(self.list_daemons(daemon_type='rgw'))
for daemon in daemons: for daemon in daemons:
if daemon.daemon_id and '.' in daemon.daemon_id:
instance_id = daemon.daemon_id.split(".")[2]
else:
instance_id = daemon.daemon_id if daemon.daemon_id else ""
self.metrics['rgw_metadata'].set(1, self.metrics['rgw_metadata'].set(1,
('{}.{}'.format(str(daemon.daemon_type), (f"{daemon.daemon_type}.{daemon.daemon_id}",
str(daemon.daemon_id)),
str(daemon.hostname), str(daemon.hostname),
str(daemon.version), str(daemon.version),
str(daemon.daemon_id).split(".")[2])) instance_id))
for key, value in servers.items(): for key, value in servers.items():
service_id, service_type = key service_id, service_type = key
if service_type == 'rgw' and not self.modify_instance_id: if service_type == 'rgw' and not modify_instance_id:
hostname, version, name = value hostname, version, name = value
self.metrics['rgw_metadata'].set( self.metrics['rgw_metadata'].set(
1, 1,