From 4d233a414631ac0689d58054281e8af1739b782b Mon Sep 17 00:00:00 2001 From: Alessandro Fulgini Date: Thu, 7 Dec 2023 10:24:28 +0100 Subject: [PATCH] Alias generate systemd options `stop_timeout` and `time` (#685) * Alias generate systemd options `stop_timeout` and `time` Closes #683 Option `time` was used before Podman v4, then it was renamed `stop_timeout`. Accept both names (the newer takes prirority) and set the correct CLI argument name based on the detected Podman version. Signed-off-by: Alessandro Fulgini * Fix typo in parameter name `--stop-timeout` Signed-off-by: Alessandro Fulgini * Don't delete temporary variables at the end of block Co-authored-by: Sergey <6213510+sshnaidm@users.noreply.github.com> --------- Signed-off-by: Alessandro Fulgini Co-authored-by: Sergey <6213510+sshnaidm@users.noreply.github.com> --- plugins/module_utils/podman/common.py | 9 +++++---- plugins/modules/podman_container.py | 10 ++++------ plugins/modules/podman_pod.py | 8 +++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/plugins/module_utils/podman/common.py b/plugins/module_utils/podman/common.py index ea5b4502..2eefcb2d 100644 --- a/plugins/module_utils/podman/common.py +++ b/plugins/module_utils/podman/common.py @@ -52,12 +52,13 @@ def run_generate_systemd_command(module, module_params, name, version): sysconf['restart_policy']]) if sysconf.get('restart_sec') is not None: command.extend(['--restart-sec=%s' % sysconf['restart_sec']]) - if sysconf.get('stop_timeout') is not None: - command.extend(['--stop-timeout=%s' % sysconf['stop_timeout']]) + if (sysconf.get('stop_timeout') is not None) or (sysconf.get('time') is not None): + # Select correct parameter name based on version + arg_name = 'stop-timeout' if gt4ver else 'time' + arg_value = sysconf.get('stop_timeout') if sysconf.get('stop_timeout') is not None else sysconf.get('time') + command.extend(['--%s=%s' % (arg_name, arg_value)]) if sysconf.get('start_timeout') is not None: command.extend(['--start-timeout=%s' % sysconf['start_timeout']]) - if sysconf.get('time'): - command.extend(['--time', str(sysconf['time'])]) if sysconf.get('no_header'): command.extend(['--no-header']) if sysconf.get('names', True): diff --git a/plugins/modules/podman_container.py b/plugins/modules/podman_container.py index 47492bec..0fc62e64 100644 --- a/plugins/modules/podman_container.py +++ b/plugins/modules/podman_container.py @@ -336,14 +336,12 @@ type: int required: false stop_timeout: - description: Override the default stop timeout for the container with the given value. - type: int - required: false - time: description: - - Override the default stop timeout for the container with the given value. + - Override the default stop timeout for the container with the given value. Called `time` before version 4. type: int required: false + aliases: + - time no_header: description: - Do not generate the header including meta data such as the Podman version and the timestamp. @@ -891,7 +889,7 @@ generate_systemd: path: /tmp/ restart_policy: always - time: 120 + stop_timeout: 120 names: true container_prefix: ainer diff --git a/plugins/modules/podman_pod.py b/plugins/modules/podman_pod.py index 5dd3e1df..7b57fd30 100644 --- a/plugins/modules/podman_pod.py +++ b/plugins/modules/podman_pod.py @@ -160,14 +160,12 @@ type: int required: false stop_timeout: - description: Override the default stop timeout for the container with the given value. - type: int - required: false - time: description: - - Override the default stop timeout for the container with the given value. + - Override the default stop timeout for the container with the given value. Called `time` before version 4. type: int required: false + aliases: + - time no_header: description: - Do not generate the header including meta data such as the Podman version and the timestamp.