From 27e53c48c9c7a645ed9fd341f63ba627827688e4 Mon Sep 17 00:00:00 2001 From: Adam King Date: Wed, 3 Jan 2024 08:35:05 -0500 Subject: [PATCH] mgr/cephadm: make default command timeout field an int When the fields was "secs" instead, we could hit Traceback (most recent call last): File "/usr/share/ceph/mgr/cephadm/serve.py", line 1380, in _run_cephadm_json out, err, code = await self._run_cephadm( File "/usr/share/ceph/mgr/cephadm/serve.py", line 1525, in _run_cephadm raise OrchestratorError( orchestrator._interface.OrchestratorError: cephadm exited with an error code: 2, stderr: usage: cephadm [-h] [--image IMAGE] [--docker] [--data-dir DATA_DIR] [--log-dir LOG_DIR] [--logrotate-dir LOGROTATE_DIR] [--sysctl-dir SYSCTL_DIR] [--unit-dir UNIT_DIR] [--verbose] [--timeout TIMEOUT] [--retry RETRY] [--env ENV] [--no-container-init] [--no-cgroups-split] {version,pull,inspect-image, . . . ... cephadm: error: argument --timeout: invalid int value: '295.0' where the value ends up as a floating point value after converting to a string (which is necessary to actually pass it to the binary). By setting the field to be an int, we should be able to avoid this. Signed-off-by: Adam King (cherry picked from commit e917d66838b2ea52538f4460d89d633ce7786067) --- src/pybind/mgr/cephadm/module.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index 5b80862f75025..ba3c97db0da23 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -476,7 +476,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule, ), Option( 'default_cephadm_command_timeout', - type='secs', + type='int', default=15 * 60, desc='Default timeout applied to cephadm commands run directly on ' 'the host (in seconds)' -- 2.39.5