On 2/10/2026 8:35 AM, Daniel P. Berrangé wrote:
> When a developer's environment is already within a podman container it
> is not possible to use 'podman' again to create containers. It will
> usually result in wierd errors such as:
> 
>   Error: fatal error, invalid internal status, unable to create a new pause 
> process: cannot re-exec process to join the existing user namespace. Try 
> running "podman system migrate" and if that doesn't work reboot to recover
> 
> Podman offers the ability to talk to a daemon outside the container,
> however, which could be leveraged by QEMU.
> 
> This can be used by invoking "podman --remote", or equivalently the
> separate "podman-remote" binary:
> 
>   
> https://github.com/containers/podman/blob/main/docs/tutorials/remote_client.md
> 
> The current 'podman version' check is insufficient to detect the
> inability to launch containers, so it is replaced with the stronger
> 'podman info' check.
> 
> Signed-off-by: Daniel P. Berrangé <[email protected]>
> ---
>  tests/docker/docker.py | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/docker/docker.py b/tests/docker/docker.py
> index ff68c7bf6f..9e18b984f4 100755
> --- a/tests/docker/docker.py
> +++ b/tests/docker/docker.py
> @@ -76,14 +76,16 @@ def _guess_engine_command():
>      commands = []
>  
>      if USE_ENGINE in [EngineEnum.AUTO, EngineEnum.PODMAN]:
> -        commands += [["podman"]]
> +        commands += [["podman"], ["podman-remote"], ["podman", "--remote"]]
>      if USE_ENGINE in [EngineEnum.AUTO, EngineEnum.DOCKER]:
>          commands += [["docker"], ["sudo", "-n", "docker"]]
>      for cmd in commands:
>          try:
> -            # docker version will return the client details in stdout
> -            # but still report a status of 1 if it can't contact the daemon
> -            if subprocess.call(cmd + ["version"],
> +            # 'version' is not sufficient to prove a working binary
> +            # for podman. 'info' is a stronger check that is more
> +            # likely to correlate with ability to create containers,
> +            # and required to detect the need for podman remote
> +            if subprocess.call(cmd + ["info"],
>                                 stdout=DEVNULL, stderr=DEVNULL) == 0:
>                  return cmd
>          except OSError:

Taking a look at why tcg tests are slow to compile, I reached this
commit. It seems like that calling 'podman info' is 5 to 10 times slower
than calling 'podman version'.
Thus, a container run now takes +1s when it was 0.2 before.

On my setup, podman (remote) version fails correctly if it can't
establish a connection.

The commit description briefly says
```
The current 'podman version' check is insufficient to detect the
inability to launch containers, so it is replaced with the stronger
'podman info' check.
```
but it's not what I observed.

Do you have more information about what is the exact reason we can't use
'podman version' for podman-remote?

Regards,
Pierrick

Reply via email to