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 <adking@redhat.com>
),
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)'