diff options
author | Matt Clay <matt@mystile.com> | 2022-12-12 12:12:16 -0800 |
---|---|---|
committer | Matt Clay <matt@mystile.com> | 2022-12-12 13:59:29 -0800 |
commit | ad59db8256bc068509d2f6ea069eb7f9f7fcfd04 (patch) | |
tree | f40f8e5bdedba1c1372a9d8a06da05f64564b7b7 /test | |
parent | 7783c9b1ee46ea7cc2ab0a9d481f1154d7f506a1 (diff) | |
download | ansible-ad59db8256bc068509d2f6ea069eb7f9f7fcfd04.tar.gz |
[stable-2.13] ansible-test - Fix `--prime-containers` and `--explain` (#79581)
* Remove unused code.
* Fix explain errors.
* Fix `--prime-containers` with docker on cgroup v2.
(cherry picked from commit da3b1d3f50bfbe118f2200e3e2ef109d87da4c2e)
Co-authored-by: Matt Clay <matt@mystile.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/lib/ansible_test/_internal/docker_util.py | 17 | ||||
-rw-r--r-- | test/lib/ansible_test/_internal/host_profiles.py | 5 |
2 files changed, 18 insertions, 4 deletions
diff --git a/test/lib/ansible_test/_internal/docker_util.py b/test/lib/ansible_test/_internal/docker_util.py index dab60fb4ae..398145b49d 100644 --- a/test/lib/ansible_test/_internal/docker_util.py +++ b/test/lib/ansible_test/_internal/docker_util.py @@ -255,8 +255,6 @@ class ContainerHostProperties: audit_code: str max_open_files: int loginuid: t.Optional[int] - cgroups: tuple[CGroupEntry, ...] - mounts: tuple[MountEntry, ...] cgroup_v1: SystemdControlGroupV1Status cgroup_v2: bool @@ -301,6 +299,16 @@ def detect_host_properties(args: CommonConfig) -> ContainerHostProperties: cmd = ['sh', '-c', ' && echo "-" && '.join(multi_line_commands)] stdout = run_utility_container(args, f'ansible-test-probe-{args.session_name}', cmd, options)[0] + + if args.explain: + return ContainerHostProperties( + audit_code='???', + max_open_files=MAX_NUM_OPEN_FILES, + loginuid=LOGINUID_NOT_SET, + cgroup_v1=SystemdControlGroupV1Status.VALID, + cgroup_v2=False, + ) + blocks = stdout.split('\n-\n') values = blocks[0].split('\n') @@ -383,8 +391,6 @@ def detect_host_properties(args: CommonConfig) -> ContainerHostProperties: audit_code=audit_code, max_open_files=hard_limit, loginuid=loginuid, - cgroups=cgroups, - mounts=mounts, cgroup_v1=cgroup_v1, cgroup_v2=cgroup_v2, ) @@ -767,6 +773,9 @@ class DockerInspect: @property def pid(self) -> int: """Return the PID of the init process.""" + if self.args.explain: + return 0 + return self.state['Pid'] @property diff --git a/test/lib/ansible_test/_internal/host_profiles.py b/test/lib/ansible_test/_internal/host_profiles.py index d1d93a5231..d73216cc3f 100644 --- a/test/lib/ansible_test/_internal/host_profiles.py +++ b/test/lib/ansible_test/_internal/host_profiles.py @@ -76,6 +76,7 @@ from .docker_util import ( run_utility_container, SystemdControlGroupV1Status, LOGINUID_NOT_SET, + UTILITY_IMAGE, ) from .bootstrap import ( @@ -455,6 +456,10 @@ class DockerProfile(ControllerHostProfile[DockerConfig], SshTargetHostProfile[Do ) if not container: + if self.args.prime_containers: + if init_config.command or init_probe: + docker_pull(self.args, UTILITY_IMAGE) + return self.container_name = container.name |