-
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
Upgrade tests: reenable, but revamped #21535
Conversation
test/upgrade/test-upgrade.bats
Outdated
run_podman network connect $MYTESTNETWORK myrunningcontainer | ||
# FIXME: this fails with "netavark: iptables: No * by that name" | ||
# ...and if we comment it out, curl fails (28, timeout), presumably | ||
# because of the above network connect | ||
run_podman network disconnect podman myrunningcontainer | ||
run curl --max-time 3 -s 127.0.0.1:$HOST_PORT/index.txt | ||
run -0 curl --max-time 3 -s 127.0.0.1:$HOST_PORT/index.txt | ||
is "$output" "$RANDOM_STRING_1" "curl on container with second network connected" |
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.
help
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.
CI seems to pass on that, did you mix CNI and netavark on your system again?
Or maybe mixing between iptables-legacy and iptables-nft?
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.
CNI was my first thought, of course. I'm 99% sure that's not it because there's no podmanX
interface. It could be iptables? These are the packages on my laptop:
$ rpm -qa|sed -ne 's/^iptables-//' -e 's/-1.8.9-5.*$//p'|sort|fmt
compat legacy legacy-libs libs nft utils
So, there's compat and legacy and nft. Presumably because of my long upgrade path. Is that not a supported configuration, and what should I do to fix it?
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.
Having both installed is fine, usually you have to switch via alternatives between them. Both should work with netavark.
You can just run iptables -V
to check which one is active. What I was hinting at is that we first run in the old podman container with a potential different iptables, so if container has iptables-legacy while the host uses iptables-nft then an error with no rule/chain could make sense because they use different kernel backends and cannot see the rules from each other.
My understanding is that they should never be mixed on a running system as different rules can cause weird conflicts, so if one switches the iptables backend it is best to reboot first.
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.
iptables -V
says nf_tables
. That might explain the failure on my system, but it also raises questions about what exactly we're testing in the upgrade test. I have not yet had enough coffee to suss that out.
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.
yes the image uses legacy so this cannot work correctly in this combination
$ podman run --rm quay.io/podman/stable:v4.1.0 iptables -V
iptables v1.8.7 (legacy)
And it looks like the image has only legacy installed so the only way to run these tests successfully is to use iptables-legacy on the host or patch up the podman image to include and use iptables-nft but that seems harder.
test/upgrade/test-upgrade.bats
Outdated
# FIXME: fails, exit code 28 (timeout) | ||
run -0 curl --max-time 3 -s 127.0.0.1:$HOST_PORT/index.txt |
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.
help
test/upgrade/test-upgrade.bats
Outdated
# FIXME: fails: pod X cgroup is not set: internal libpod error | ||
# run_podman run --pod=mypod --ipc=host --rm $IMAGE echo it works | ||
# is "$output" ".*it works.*" "podman run --pod" |
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.
help
73d29ae
to
6d28957
Compare
Cockpit tests failed for commit 6d28957bf0a19b2614359b9d49d40e3e434f1440. @martinpitt, @jelly, @mvollmer please check. |
Cockpit tests failed for commit 73d29ae12413bf8c8930465408c23a1634e74fdc. @martinpitt, @jelly, @mvollmer please check. |
All right team, how's this? Imperfect, but it would at least get us back into upgrade testing. |
No longer bother testing any 2.x or 3.x. Only 4.1 and above. Remove all CNI-related code. CNI is gone. Add DatabaseBackend tests, confirming that we can handle both boltdb and sqlite. Require BATS >= 1.8.0, and use "run -0" to do exit-status checks. Update docs. Signed-off-by: Ed Santiago <[email protected]>
6d28957
to
e20b70c
Compare
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.
LGTM
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: edsantiago, Luap99 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 |
@containers/podman-maintainers PTAL |
Sure |
4570ccb
into
containers:main
No longer bother testing any 2.x or 3.x. Only 4.1 and above.
Remove all CNI-related code. CNI is gone.
Add DatabaseBackend tests, confirming that we can handle
both boltdb and sqlite.
Require BATS >= 1.8.0, and use "run -0" to do exit-status checks.
Update docs.
[ marked WIP because this is going to fail. I need help figuring out what to do.]
Signed-off-by: Ed Santiago [email protected]