1
0
Fork 0
mirror of https://github.com/containers/ansible-podman-collections.git synced 2026-02-04 07:11:49 +00:00

no timeout

Signed-off-by: Sagi Shnaidman <sshnaidm@redhat.com>
This commit is contained in:
Sagi Shnaidman 2025-08-13 21:08:04 +03:00
parent 9cb1af7524
commit 0af16f8c09
2 changed files with 20 additions and 7 deletions

View file

@ -69,8 +69,8 @@ DOCUMENTATION = """
- name: ANSIBLE_BUILDAH_EXTRA_ARGS
container_timeout:
description:
- Timeout in seconds for container operations.
default: 30
- Timeout in seconds for container operations. 0 means no timeout.
default: 0
type: int
vars:
- name: ansible_buildah_timeout
@ -214,7 +214,13 @@ class Connection(ConnectionBase):
cmd_bytes, stdin=subprocess.PIPE, stdout=stdout_fd, stderr=subprocess.PIPE, shell=False
)
stdout, stderr = process.communicate(input=input_data, timeout=self.get_option("container_timeout"))
# Only pass timeout if explicitly configured
communicate_kwargs = {}
container_timeout = self.get_option("container_timeout")
if isinstance(container_timeout, int) and container_timeout > 0:
communicate_kwargs["timeout"] = container_timeout
stdout, stderr = process.communicate(input=input_data, **communicate_kwargs)
if output_file:
stdout_fd.close()

View file

@ -70,8 +70,8 @@ DOCUMENTATION = """
key: podman_executable
container_timeout:
description:
- Timeout in seconds for container operations.
default: 30
- Timeout in seconds for container operations. 0 means no timeout.
default: 0
type: int
vars:
- name: ansible_podman_timeout
@ -203,7 +203,13 @@ class Connection(ConnectionBase):
cmd_bytes, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=False
)
stdout, stderr = process.communicate(input=input_data, timeout=self.get_option("container_timeout"))
# Only pass timeout if explicitly configured
communicate_kwargs = {}
container_timeout = self.get_option("container_timeout")
if isinstance(container_timeout, int) and container_timeout > 0:
communicate_kwargs["timeout"] = container_timeout
stdout, stderr = process.communicate(input=input_data, **communicate_kwargs)
display.vvvvv(f"STDOUT: {stdout}", host=self._container_id)
display.vvvvv(f"STDERR: {stderr}", host=self._container_id)
@ -222,7 +228,8 @@ class Connection(ConnectionBase):
except subprocess.TimeoutExpired:
process.kill()
raise PodmanConnectionError(f"Command timeout after {self.get_option('container_timeout')}s")
timeout_val = self.get_option('container_timeout')
raise PodmanConnectionError(f"Command timeout after {timeout_val}s")
except Exception as e:
raise PodmanConnectionError(f"Command execution failed: {e}")