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

test fails under runc: podman pod create --share-parent #15013

Closed
edsantiago opened this issue Jul 21, 2022 · 12 comments
Closed

test fails under runc: podman pod create --share-parent #15013

edsantiago opened this issue Jul 21, 2022 · 12 comments
Assignees
Labels
jetsam "...cargo that is cast overboard to lighten the load in time of distress" 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

@edsantiago
Copy link
Member

Test is failing under cgroupsv1 with runc:

podman pod create --share-parent test
...
# podman [options] inspect cgroupCtr
# podman [options] inspect 87b3ef9bac3dbfeab1d65b3d5dd856571e0de66a0cdbea6080dd2c9ab5f8724d
Expected
      <string>: host
  to contain substring
      <string>: 1e6d7d50e0d46c60c9906a5518d06969235bf521ea7e71db6dc153131e977e6c

The string in question is something to do with cgroups.

Context: we have not been testing with runc. The above test was introduced during this period. #14972 brings back runc.

@edsantiago edsantiago added the kind/bug Categorizes issue or PR as related to a bug. label Jul 21, 2022
@cdoern
Copy link
Contributor

cdoern commented Jul 21, 2022

on it

@cdoern
Copy link
Contributor

cdoern commented Jul 21, 2022

@edsantiago I cannot reproduce this, running https://github.com/containers/podman/blob/b5612df55060317bcef92de48e5b2cd400374814/test/e2e/pod_create_test.go#L1075-L1087 manually, results in CgroupMode = container:infraID

[charliedoern@fedora podman]$ bin/podman --runtime=runc pod create --share=cgroup,ipc,net,uts --share-parent=false --infra-name=cgroupCtr
03ac89e5146032a6758e0cf4685ee76c16b6c4a3fc051458f618d796d0ecb3da
[charliedoern@fedora podman]$ bin/podman inspect cgroupCtr
[
     {
          "Id": "208ea6f6c2be003bd73024fb8fabb023ffec4f550b304309ede152600a141329",
...

[charliedoern@fedora podman]$ bin/podman --runtime=runc run -dt --name=123 --pod=03ac89e5146032a6758e0cf4685ee76c16b6c4a3fc051458f618d796d0ecb3da alpine
64c56967d81c96f047205c148831f9936de192060612e2bd124819ce98c34d4b
[charliedoern@fedora podman]$ bin/podman inspect --format='{{.HostConfig.CgroupMode}}' 123
container:208ea6f6c2be003bd73024fb8fabb023ffec4f550b304309ede152600a141329

@cdoern
Copy link
Contributor

cdoern commented Jul 21, 2022

oh is this only failing in your PR as cgroupsv1? I think this is not supported in v1, the test is meant to skip when running v1. or maybe just rootful V1..... this is going to be a weird debug

@cdoern
Copy link
Contributor

cdoern commented Jul 21, 2022

the only guess I have here is that these tests are running with infra=false, the only way these tests could be reporting host is if NamespaceMode is returning that.

@edsantiago is there a way for me to get access to a cgroupv1 system?

@edsantiago
Copy link
Member Author

@cdoern there's a script, hack/get_ci_vm.sh, that works for some people (it has never worked for me). If you can get it to work, you should be able to get an Ubuntu VM using the magic c number in this PR. Good luck.

edsantiago added a commit to edsantiago/libpod that referenced this issue Jul 22, 2022
...and enable the at-test-time confirmation, the one that
double-checks that if CI requests runc we actually use runc.
This exposed a nasty surprise in our setup: there are steps to
define $OCI_RUNTIME, but that's actually a total fakeout!
OCI_RUNTIME is used only in e2e tests, it has no effect
whatsoever on actual podman itself as invoked via command
line such as in system tests. Solution: use containers.conf

Given how fragile all this runtime stuff is, I've also added
new tests (e2e and system) that will check $CI_DESIRED_RUNTIME.

Image source: containers/automation_images#146

Since we haven't actually been testing with runc, we need
to fix a few tests:

  - handle an error-message change (make it work in both crun and runc)
  - skip one system test, "survive service stop", that doesn't
    work with runc and I don't think we care.

...and skip a bunch, filing issues for each:

  - containers#15013 pod create --share-parent
  - containers#15014 timeout in dd
  - containers#15015 checkpoint tests time out under $CONTAINER
  - containers#15017 networking timeout with registry
  - containers#15018 restore --pod gripes about missing --pod
  - containers#15025 run --uidmap broken
  - containers#15027 pod inspect cgrouppath broken
  - ...and a bunch more ("podman pause") that probably don't
    even merit filing an issue.

Also, use /dev/urandom in one test (was: /dev/random) because
the test is timing out and /dev/urandom does not block. (But
the test is still timing out anyway, even with this change)

Also, as part of the VM switch we are now using go 1.18 (up
from 1.17) and this broke the gitlab tests. Thanks to @Luap99
for a quick fix.

Also, slight tweak to containers#15021: include the timeout value, and
reword message so command string is at end.

Also, fixed a misspelling in a test name.

Fixes: containers#14833

Signed-off-by: Ed Santiago <[email protected]>
@github-actions
Copy link

A friendly reminder that this issue had no activity for 30 days.

@rhatdan
Copy link
Member

rhatdan commented Aug 22, 2022

@cdoern Any chance you can follow up on this one?

@cdoern
Copy link
Contributor

cdoern commented Aug 22, 2022

yep, @rhatdan was just about to circle back

@github-actions
Copy link

A friendly reminder that this issue had no activity for 30 days.

@rhatdan
Copy link
Member

rhatdan commented Sep 22, 2022

@cdoern still circling? :^)

@cdoern
Copy link
Contributor

cdoern commented Sep 22, 2022

@rhatdan sorry, this one slipped through. Will address today.

@edsantiago edsantiago added the jetsam "...cargo that is cast overboard to lighten the load in time of distress" label Dec 8, 2022
@edsantiago
Copy link
Member Author

We no longer test with runc. Abandoning.

@edsantiago edsantiago closed this as not planned Won't fix, can't repro, duplicate, stale Dec 8, 2022
edsantiago added a commit to edsantiago/libpod that referenced this issue Jan 10, 2023
To silence my find-obsolete-skips script:
 - containers#11784 : issue closed wont-fix
 - containers#15013 : issue closed, we no longer test with runc
 - containers#15014 : bump timeout, see if that fixes things
 - containers#15025 : issue closed, we no longer test with runc

...and one FIXME not associated with an issue, ubuntu-related,
and we no longer test ubuntu.

Signed-off-by: Ed Santiago <[email protected]>
edsantiago added a commit to edsantiago/libpod that referenced this issue Jul 13, 2023
To silence my find-obsolete-skips script, remove the '#'
from the following issues in skip messages:

  containers#11784 containers#15013 containers#15025 containers#17433 containers#17436 containers#17456

Also update the messages to reflect the fact that the issues
will never be fixed.

Also remove ubuntu skips: we no longer test ubuntu.

Also remove one buildah skip that is no longer applicable:

Fixes: containers#17520

Signed-off-by: Ed Santiago <[email protected]>
@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 Sep 8, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 8, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
jetsam "...cargo that is cast overboard to lighten the load in time of distress" 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