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)
project(ceph
VERSION 18.2.1
VERSION 18.2.2
LANGUAGES CXX C ASM)
cmake_policy(SET CMP0028 NEW)

View File

@ -170,7 +170,7 @@
# main package definition
#################################################################################
Name: ceph
Version: 18.2.1
Version: 18.2.2
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
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
%endif
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}
# _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x
@ -1292,7 +1292,7 @@ This package provides a Ceph MIB for SNMP traps.
# common
#################################################################################
%prep
%autosetup -p1 -n ceph-18.2.1
%autosetup -p1 -n ceph-18.2.2
%build
# 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

View File

@ -52,16 +52,20 @@ case "$1" in
--system \
--no-create-home \
--disabled-password \
--home $SERVER_HOME \
--uid $SERVER_UID \
--gid $SERVER_GID \
$SERVER_USER 2>/dev/null || true
echo "..done"
fi
# 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.."
usermod -c "$SERVER_NAME" \
-d $SERVER_HOME \
-g $SERVER_GROUP \
usermod --comment "$SERVER_NAME" \
--gid $SERVER_GROUP \
$SERVER_USER
# Unlock $SERVER_USER in case it is locked from an uninstall
if [ -f /etc/shadow ]; then

View File

@ -25,7 +25,12 @@ case "$1" in
# 1. create user if not existing
if ! getent passwd | grep -q "^cephadm:"; then
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"
fi

View File

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

View File

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

View File

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

View File

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

View File

@ -18,6 +18,6 @@
</noscript>
<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>

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_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 typing import DefaultDict, Optional, Dict, Any, Set, cast, Tuple, Union, List, Callable
@ -646,8 +646,6 @@ class Module(MgrModule, OrchestratorClientMixin):
_global_instance = self
self.metrics_thread = MetricCollectionThread(_global_instance)
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]:
metrics = {}
@ -864,10 +862,12 @@ class Module(MgrModule, OrchestratorClientMixin):
return metrics
def get_orch_status(self) -> bool:
def orch_is_available(self) -> bool:
try:
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
def get_server_addr(self) -> str:
@ -1292,18 +1292,22 @@ class Module(MgrModule, OrchestratorClientMixin):
# Populate other servers metadata
# If orchestrator is available and ceph-exporter is running modify rgw instance id
# 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'))
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,
('{}.{}'.format(str(daemon.daemon_type),
str(daemon.daemon_id)),
(f"{daemon.daemon_type}.{daemon.daemon_id}",
str(daemon.hostname),
str(daemon.version),
str(daemon.daemon_id).split(".")[2]))
instance_id))
for key, value in servers.items():
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
self.metrics['rgw_metadata'].set(
1,