spiegel_podman/pkg/machine/e2e
Paul Holzinger 93bcd2a25d
fix podman-remote exec regression with v4.8
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>
2023-11-29 13:22:46 +01:00
..
basic_test.go fix podman-remote exec regression with v4.8 2023-11-29 13:22:46 +01:00
config_basic_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_darwin_test.go Enable machine e2e test for applehv 2023-09-25 15:45:26 -05:00
config_info_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_init_test.go Update machine init/set tests 2023-08-25 11:28:07 -04:00
config_inspect_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_linux_test.go Enable machine e2e test for applehv 2023-09-25 15:45:26 -05:00
config_list_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_os_apply_test.go Introduce podman machine os apply 2023-02-15 14:48:12 -05:00
config_rm_test.go Update machine rm tests 2023-08-17 15:00:35 -04:00
config_set_test.go Update machine init/set tests 2023-08-25 11:28:07 -04:00
config_ssh_test.go Fix typos 2023-02-11 18:23:24 +01:00
config_start_test.go Add --quiet and --no-info flags to podman machine start 2022-11-11 16:14:20 -05:00
config_stop_test.go enable linter for pkg/machine/e2e 2022-07-21 18:04:10 +02:00
config_test.go [CI:DOCS] Machine test timeout env var 2023-11-15 16:00:57 -05:00
config_unix_test.go Enable machine e2e test for applehv 2023-09-25 15:45:26 -05:00
config_windows_test.go Various updates for hyperv and machine e2e tests 2023-09-21 08:52:02 -05:00
info_test.go Fix podman machine info test for hyperV 2023-09-26 15:49:55 -04:00
init_test.go vmtypes names cannot be used as machine names 2023-11-17 12:24:21 -06:00
inspect_test.go wsl: machine tests for inspect 2023-09-26 07:26:44 -05:00
list_test.go Use configured timeout in list_test.go 2023-11-22 09:28:56 +02:00
machine_test.go Automatic code cleanups - JetBrains 2023-11-07 14:05:15 -06:00
os_test.go update to ginkgo v2 2023-05-02 11:27:35 +02:00
proxy_test.go Skip proxy test for hyperV 2023-09-25 16:48:35 -04:00
README.md Run codespell 2023-10-12 12:45:44 -04:00
rm_test.go AppleHV: Fix machine rm error message 2023-11-01 15:02:30 -04:00
set_test.go wsl machine tests: set 2023-09-25 19:53:35 -05:00
ssh_test.go wsl: machine tests for ssh 2023-09-26 07:00:45 -05:00
start_test.go Update machine start tests 2023-08-17 15:04:18 -04:00
stop_test.go Automatic code cleanups - JetBrains 2023-11-07 14:05:15 -06:00

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

  1. Open a powershell as admin
  2. $env:CONTAINERS_MACHINE_PROVIDER="hyperv"
  3. ./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

  1. Open a powershell as a regular user
  2. Build and copy win-sshproxy into bin/
  3. ./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

  1. make podman-remote
  2. make .install.ginkgo
  3. export TMPDIR=/Users/<yourname>
  4. export CONTAINERS_MACHINE_PROVIDER="applehv"
  5. export MACHINE_IMAGE="https://fedorapeople.org/groups/podman/testing/applehv/arm64/fedora-coreos-38.20230925.dev.0-applehv.aarch64.raw.gz"
  6. ./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