mirror of
https://github.com/containers/podman.git
synced 2026-03-02 13:39:11 -05:00
Commit f48a706abc added a new API endpoint to remove exec session
correctly. And the bindings try to call that endpoint for exec every
time. Now since client and server must not be the same version this
causes a problem if a new 4.8 client calls an older 4.7 server as it has
no idea about such endpoint and throws an ugly error. This is a common
scenario for podman machine setups.
The client does know the server version so it should make sure to not
call such endpoint if the server is older than 4.8.
I added a exec test to the machine tests as this can be reproduced with
podman machine as at the moment at least the VM image does not contain
podman 4.8. And it should at least make sure podman exec keeps working
for podman machine without regressions.
Fixes #20821
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Working README for running the machine tests
Note: you must not have any machines defined before running tests
Linux
QEMU
make localmachine
Microsoft Windows
HyperV
- Open a powershell as admin
- $env:CONTAINERS_MACHINE_PROVIDER="hyperv"
./winmake localmachine
Note: To run specific test files, add the test files to the end of the winmake command:
./winmake localmachine "basic_test.go start_test.go"
WSL
- Open a powershell as a regular user
- Build and copy win-sshproxy into bin/
./winmake localmachine
Note: To run specific test files, add the test files to the end of the winmake command:
./winmake localmachine "basic_test.go start_test.go"
MacOS
Apple Hypervisor
make podman-remotemake .install.ginkgoexport TMPDIR=/Users/<yourname>export CONTAINERS_MACHINE_PROVIDER="applehv"export MACHINE_IMAGE="https://fedorapeople.org/groups/podman/testing/applehv/arm64/fedora-coreos-38.20230925.dev.0-applehv.aarch64.raw.gz"./test/tools/build/ginkgo -vv --tags "remote exclude_graphdriver_btrfs btrfs_noversion exclude_graphdriver_devicemapper containers_image_openpgp remote" -timeout=90m --trace --no-color pkg/machine/e2e/.
Note: Add --focus-file "basic_test.go" to only run basic test