-
Notifications
You must be signed in to change notification settings - Fork 90
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/browser: run tests inside the tasks container #1628
test/browser: run tests inside the tasks container #1628
Conversation
This is going to need a fairly extensive treatment of finding all of the places we make exceptions for the -ws container on ostree images and extending them to include exceptions for testing farm. Probably we want to add a new API for that... |
5a0c942
to
f846a34
Compare
@allisonkarlitskaya As a data point: RHEL8 has systemd-nspawn (in the
(I didn't specify any of the network options for this) |
Treating the -ws container is already awkward, but we can get away with it because it can be killed and restarted for each test. We don't have that option for the tasks container. Given how brittle the clean up is already, I have a pretty strong feeling that we can't do robust podman tests and at the same time rely on that podman container -- so using docker or possibly nspawn or even just chroot feels more promising here. |
💯 Same basic justification as what I wrote in the commit message:
|
Ah right -- I had blindly assumed the "all tests red" was still due to the podman conflict, but it's "just" testCreateContainerValidation now |
See #1624 I suspected I created a flake here. |
The "pin tasks container" commit already landed, and now the flake fix #1624 landed. So I rebased this. |
hmm, "Failed to start docker.service: Unit docker.service not found." in c8s/c9s log lol:
I tried https://docs.docker.com/engine/install/centos/ , but it's not co-installable with podman unfortunately:
(and hundreds more) |
I updated the docker approach comment above a little bit, and that looks like a dead end. So I had another look at nspawn:
I'll add a fixup commit here to play around with this a little bit. |
35ddf5e
to
20188b7
Compare
The rawhide errors are unrelated:
At least that's now slightly different than the previous complete FUBAR in containers/podman#22052 , but we can continue to ignore this on our side. I'll report it to podman/pasta ASAP. |
This simplifies the "outside" setup quite a bit and gives us the same tasks container that test runs on the Cockpit CI run under. We have to deviate from the starter-kit template here: the tests have setup/teardown logic which wipes the podman slate completely clean. We can't possibly survive that, and trying to carve out an exemption would be difficult and would cut against the spirit of the deep clean that we're trying for. This isn't a problem for the cockpit-ws container, since it gets started after the tests start running. We tried to avoid that by using docker, but it caused other issues. systemd-nspawn seems to be a good approach here. Co-authored-by: Martin Pitt <[email protected]>
20188b7
to
55a3cb2
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.
I mean, I'm not thrilled about it, but it seems to work. I'm happy to land it in its current state.
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.
Ack, let's go with that then. It's at least closer to the new paradigm than keeping the old setup.
8b55b3e
into
cockpit-project:main
This simplifies the "outside" setup quite a bit and gives us the same tasks container that test runs on the Cockpit CI run under.