-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Parallelize buildah bud tests #24656
base: main
Are you sure you want to change the base?
Conversation
Buildah bats tests have been made (mostly) parallel-safe in the past few months. One test is flaking, but it's not a test that needs to be run under podman: that functionality is almost entirely buildah-manifest-push so it uses the buildah binary, and doesn't exercise anything under podman. Therefore: 1) run bud tests with -j$(nproc) on fastvm (was: standardvm) 2) desperate scramble to parallelize podman system service. May not be quite 100% perfect, but I think this is in good enough shape for someone to adopt and push through. Signed-off-by: Ed Santiago <[email protected]>
Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: edsantiago The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
+ # FIXME! 2024-11-22: I have no idea if this is still relevant, but it | ||
+ # certainly does not play well with parallel bats tests. Let's see | ||
+ # what happens if we disable it. | ||
+ # FIXME! 2023-04-11: under remote + rootless, on the very first test, | ||
+ # we somehow end up with two podman-system-service jobs. The second one | ||
+ # lingers, and prevents BATS from completing, manifesting as a test hang. | ||
+ if is_rootless; then | ||
+ ps auxww | grep "system service" | grep -v grep | while read user pid rest; do | ||
+ echo "# teardown: killing stray server: $user $pid $rest" >&3 | ||
+ kill $pid | ||
+ done | ||
+ fi | ||
+# if is_rootless; then | ||
+# ps auxww | grep "system service" | grep -v grep | while read user pid rest; do | ||
+# echo "# teardown: killing stray server: $user $pid $rest" >&3 | ||
+# kill $pid | ||
+# done | ||
+# fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm choosing to leave this in place, instead of deleting it, because I want someone else to practice the bud-tests dance.
You will need to:
- Check out this PR
- invoke
test/buildah-bud/run-buildah-tests --no-test
. This will check out the buildah source tree intotest-buildah-*
and apply some patches - cd there
- You will need to
git reset --hard
, to get rid of the applied skips and error message changes, but before you do so, why not rungit diff
just so you can get a feel for what things look like in a bud-under-podman scenario? git reset --hard
- edit
tests/helpers.bash
and remove this block git commit --amend
. Don't worry, this isn't podman, this is a scratch git repo for buildah. Commit message is irrelevant, don't bother changing it, just commit your new changes./make-new-buildah-diffs
cd ..
, back to your podman source treegit diff
, and this is hard to grok because you're diffing a diff patch, but basically it should look like changes in commit hash, line numbers, and one block removedgit commit
that, and push your PR, and party on
Signed-off-by: Ed Santiago <[email protected]>
Obviously still bugs left to squash
|
PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Buildah bats tests have been made (mostly) parallel-safe
in the past few months. One test is flaking, but it's
not a test that needs to be run under podman: that
functionality is almost entirely buildah-manifest-push
so it uses the buildah binary, and doesn't exercise
anything under podman.
Therefore:
run bud tests with -j$(nproc) on fastvm (was: standardvm)
desperate scramble to parallelize podman system service.
May not be quite 100% perfect, but I think this is in good
enough shape for someone to adopt and push through.
Signed-off-by: Ed Santiago [email protected]
No release-note, because this should not merge as-is