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: Work around leaking podman processes and broken API after idle timeout #473

Merged
merged 2 commits into from
Aug 1, 2020

Conversation

martinpitt
Copy link
Member

@martinpitt martinpitt commented Jul 31, 2020

No description provided.

martinpitt added a commit to martinpitt/cockpit-podman that referenced this pull request Jul 31, 2020
Stopping podman.service often leaves processes behind, due to the broken
`KillMode=process`. This was fixed upstream, but is not in a release
yet.

Also fix the unit type, to avoid a forever-hanging "activating" state.
This is also already fixed in upstream master.

Closes cockpit-project#473
@martinpitt
Copy link
Member Author

Much much better! Still breaks testNotRunning

But also, I lied in that commit -- it's not really a race condition in podman.service, the socket is already handed over correctly. With curl it works reliably all the time. I also don't get that error interactively, it works. So there must be something more subtle going on.

@martinpitt martinpitt marked this pull request as draft July 31, 2020 14:38
martinpitt added a commit to martinpitt/cockpit-podman that referenced this pull request Jul 31, 2020
Stopping podman.service often leaves processes behind, due to the broken
`KillMode=process`. This was fixed upstream, but is not in a release
yet.

Also fix the unit type, to avoid a forever-hanging "activating" state.
This is also already fixed in upstream master.

Closes cockpit-project#473
Stopping podman.service often leaves processes behind, due to the broken
`KillMode=process`. This was fixed upstream, but is not in a release
yet.

Also fix the unit type, to avoid a forever-hanging "activating" state.
This is also already fixed in upstream master.
@martinpitt martinpitt changed the title test: Fix leaking podman processes test: Work around leaking podman processes and startup race condition Aug 1, 2020
@martinpitt
Copy link
Member Author

I finally have this working on my local system now, let's see what CI says to that. Now I will try to find CLI reproducers for these problems, and report them upstream.

@martinpitt
Copy link
Member Author

martinpitt commented Aug 1, 2020

Yay, at last! F32 is perfectly green now, and F31 just has a single failure from an unrelated flake. I reported the "podman pause" leak upstream, I'm still working on a reproducer for the hanging API request.

@martinpitt
Copy link
Member Author

Hooray, I finally understand the madness that's going on here: containers/podman#7180 (comment)

@martinpitt martinpitt changed the title test: Work around leaking podman processes and startup race condition test: Work around leaking podman processes and broken API after idle timeout Aug 1, 2020
Working with user podman API leaves behind a `podman pause` process
which is not attached to/stopped by podman.service. This completely
breaks the API: containers/podman#7180

Closes cockpit-project#473
@martinpitt martinpitt marked this pull request as ready for review August 1, 2020 09:00
@martinpitt
Copy link
Member Author

Alas, that was a hard one. In hindsight it's pretty obvious, but I got led astray in so many different wrong directions here.. @marusak, this is ready for review. 🎉

Copy link
Member

@marusak marusak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! Thank you @martinpitt for figuring this one out!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants