Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Applehv podman machine e2e "Basic ops" test timeout #20535

Closed
cevich opened this issue Oct 30, 2023 · 4 comments
Closed

Applehv podman machine e2e "Basic ops" test timeout #20535

cevich opened this issue Oct 30, 2023 · 4 comments
Assignees
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.

Comments

@cevich
Copy link
Member

cevich commented Oct 30, 2023

Issue Description

When executing the basic podman machine e2e, every test hits 90s timeout.
Example (log).

Steps to reproduce the issue

Steps to reproduce the issue

  1. brew tap cfergeau/crc
  2. brew install go go-md2man coreutils vfkit cirruslabs/cli/cirrus
  3. sudo sysadminctl -addUser test-user
  4. sudo rm -rf /Users/test-user/*
  5. sudo rm -rf /Users/test-user/.??*
  6. sudo su - test-user
  7. clone podman repo & cd into its directory
  8. make .install.ginkgo podman-remote podman-mac-helper
  9. export MACHINE_IMAGE="https://fedorapeople.org/groups/podman/testing/applehv/arm64/fedora-coreos-38.20230925.dev.0-applehv.aarch64.raw.gz"
  10. export CONTAINERS_MACHINE_PROVIDER="applehv"
  11. export GINKGO_TAGS="remote exclude_graphdriver_btrfs btrfs_noversion exclude_graphdriver_devicemapper containers_image_openpgp remote"
  12. ./test/tools/build/ginkgo -vv --tags "$GINKGO_TAGS" -timeout=90m --trace --no-color --focus-file "basic_test.go" pkg/machine/e2e/.

Describe the results you received

run basic podman commands
/Users/test-user/podman/pkg/machine/e2e/basic_test.go:15
  Basic ops
  /Users/test-user/podman/pkg/machine/e2e/basic_test.go:28
  > Enter [BeforeEach] run basic podman commands - /Users/test-user/podman/pkg/machine/e2e/basic_test.go:21 @ 10/30/23 18:01:12.77
  < Exit [BeforeEach] run basic podman commands - /Users/test-user/podman/pkg/machine/e2e/basic_test.go:21 @ 10/30/23 18:02:34.581 (1m21.812s)
  > Enter [It] Basic ops - /Users/test-user/podman/pkg/machine/e2e/basic_test.go:28 @ 10/30/23 18:02:34.581
  /Users/test-user/podman/bin/darwin/podman machine init --image-path /private/tmp/fedora-coreos-38.20230925.dev.0-applehv.aarch64.raw.gz --now b829d29d93b8
  [FAILED] Timed out after 90.000s.
  Expected process to exit.  It did not.
  In [It] at: /Users/test-user/podman/pkg/machine/e2e/config_test.go:54 @ 10/30/23 18:04:04.635

Describe the results you expected

Basic tests should all pass

podman info output

OS: darwin/arm64
provider: qemu
version: 4.8.0-dev

Podman in a container

No

Privileged Or Rootless

Rootless

Upstream Latest Release

Yes

Additional environment details

Same results on MacOS 13 and 14

Additional information

Manually running ./bin/darwin/podman --log-level=debug machine init --image-path $MACHINE_IMAGE --now works perfectly fine.

I tried using the SpecTimeout decorator but couldn't get it to work - likely I wrote the golang bad/wrong.

@cevich cevich added the kind/bug Categorizes issue or PR as related to a bug. label Oct 30, 2023
@baude
Copy link
Member

baude commented Oct 31, 2023

please consider a patch like this:

diff --git a/pkg/machine/e2e/basic_test.go b/pkg/machine/e2e/basic_test.go
index a1cfb71ef5..5fb543aed2 100644
--- a/pkg/machine/e2e/basic_test.go
+++ b/pkg/machine/e2e/basic_test.go
@@ -30,7 +30,7 @@ var _ = Describe("run basic podman commands", func() {
                // so skip it on cirrus envs and where CIRRUS_CI isn't set.
                name := randomString()
                i := new(initMachine)
-               session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow()).run()
+               session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow().withDiskSize(5)).run()
                Expect(err).ToNot(HaveOccurred())
                Expect(session).To(Exit(0))
 
@@ -58,7 +58,7 @@ var _ = Describe("run basic podman commands", func() {
        It("Podman ops with port forwarding and gvproxy", func() {
                name := randomString()
                i := new(initMachine)
-               session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow()).run()
+               session, err := mb.setName(name).setCmd(i.withImagePath(mb.imagePath).withNow().withDiskSize(5)).run()
                Expect(err).ToNot(HaveOccurred())
                Expect(session).To(Exit(0))

@cevich
Copy link
Member Author

cevich commented Oct 31, 2023

Thanks, I'll try right away.

@cevich
Copy link
Member Author

cevich commented Oct 31, 2023

Unfortunately no love from that patch, tests fail in the same way 😢

Note: The "smoke" test takes a full (nearly) 9-minutes to run.. So if the basic test is doing a machine init, 90-seconds is nowhere near long enough.

Is there any way to get more info. out of the test? Maybe it's not failing in a way you/I assume? i.e. an actual hang somewhere vs something disk related.

@ashley-cui
Copy link
Member

Closed via #20696

@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Feb 28, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 28, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/bug Categorizes issue or PR as related to a bug. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

No branches or pull requests

3 participants