mirror of
https://git.proxmox.com/git/ceph.git
synced 2025-04-28 12:39:22 +00:00
import ceph reef 18.2.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
6fb7442deb
commit
df9f7d3d5c
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
:
|
:
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
|
@ -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}),
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
7fe91d5d5842e04be3b4f514d6dd990c54b29c76
|
531c0d11a1c5d39fbfe6aa8a521f023abf3bf3e2
|
||||||
18.2.1
|
18.2.2
|
||||||
|
@ -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);
|
||||||
|
@ -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;
|
||||||
|
@ -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>
|
File diff suppressed because one or more lines are too long
@ -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,
|
||||||
|
Loading…
Reference in New Issue
Block a user