From 621551af157ff962b53086fee9a69c6c2bc77daf Mon Sep 17 00:00:00 2001 From: Shweta Bhosale Date: Wed, 20 Aug 2025 15:33:04 +0530 Subject: [PATCH] mgr/cephadm: Config parameter to set the max number of OSDs to upgrade in single iteration Fixes: https://tracker.ceph.com/issues/72652 Signed-off-by: Shweta Bhosale --- src/pybind/mgr/cephadm/module.py | 7 +++++++ src/pybind/mgr/cephadm/services/cephadmservice.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index f6b3c49355a..8289e733e10 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -401,6 +401,12 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule, default=10, desc='max number of osds that will be drained simultaneously when osds are removed' ), + Option( + 'max_parallel_osd_upgrades', + type='int', + default=16, + desc='Maximum number of OSD daemons upgraded in parallel.' + ), Option( 'service_discovery_port', type='int', @@ -585,6 +591,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule, self.secure_monitoring_stack = False self.apply_spec_fails: List[Tuple[str, str]] = [] self.max_osd_draining_count = 10 + self.max_parallel_osd_upgrades = 16 self.device_enhanced_scan = False self.inventory_list_all = False self.cgroups_split = True diff --git a/src/pybind/mgr/cephadm/services/cephadmservice.py b/src/pybind/mgr/cephadm/services/cephadmservice.py index 3dbb31eafc4..a63faf06671 100644 --- a/src/pybind/mgr/cephadm/services/cephadmservice.py +++ b/src/pybind/mgr/cephadm/services/cephadmservice.py @@ -483,7 +483,7 @@ class CephadmService(metaclass=ABCMeta): r = HandleCommandResult(*self.mgr.mon_command({ 'prefix': "osd ok-to-stop", 'ids': osds, - 'max': 16, + 'max': self.mgr.max_parallel_osd_upgrades, })) j = None try: -- 2.39.5