-
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
Incompatibilities of podman from docker on Travis CI #3679
Comments
Well first it looks like podman running as root (Well running thorugh sudo) is not allowed to write to /var/lib/containers/storage? Any idea why that is? Can you gain access to the VM and see why this would fail? |
@mheon @vrothberg PTAL |
@junaruga, thanks for opening the issue and providing so many details. I will go through the items incrementally.
@lsm5 PTAL |
what is the origin of the package you are using for podman? |
Sure, I will take a look at "(Well running thorugh sudo) is not allowed to write to /var/lib/containers/storage" too on my repository's different branch keeping the current master branch. But as this is the result of Travis CI, you can reproduce the issues too on your repository like this.
@vrothberg Sure, thanks for checking this! |
I'm going to slap on the |
You can check the above result of The repository is .traivs.yml
|
That smells like we just don't have the permissions in Travis. We need to point the run and graph root to some other path which we can either do by editing the storage.conf or by setting it on |
For the "6. podman-sudo" case, I debugged adding below code on my repository's "debug" branch.
Interestingly See https://travis-ci.org/junaruga/multiarch-podman-experiment/jobs/566003406 for detail. |
For On my Fedora 30, below file is included in
And the file includes
On the Travis's Ubuntu, I checked adding below code in
Then the result is
But the file's
See any case of https://travis-ci.org/junaruga/multiarch-podman-experiment/builds/566009939 for detail. |
I replaced /etc/containers/storage.conf below items to directories under user directory.
Then the result is like this.
Then I could pass some errors, but I got below another error Thanks.
See https://travis-ci.org/junaruga/fedora-workshop-multiarch/jobs/567511767 for detail. |
Excuse me, I was reading "ubuntu" tag in issues tickets. |
Good news! I was able to do Here is the way. .travis.yml
The actual examples are here. podman still shows an error message Can I send a pull-request to add this content to run podman on Travis CI to below document? |
Hi @junaruga, thanks for sharing!
Absolutely, yes. Contributions are always welcome! |
@junaruga We would love to have this added to libpod for testing. |
Sure. I love to contribute it. |
Just memo for me. I found how to install podman on Ubuntu bionic. In the article, the configuration files are set like this. https://www.n0r1sk.com/post/2019-10-02-podman-with-vxlan-overlay-network-deep-dive/
|
Just memo for me. rpmlint project is trying to replace docker with podman. |
This issue had no activity for 30 days. In the absence of activity or the "do-not-close" label, the issue will be automatically closed within 7 days. |
@junaruga Any progress? |
Friendly ping. Any updates on this issue? |
I keep in mind and remember the task. But I am sorry. No progress so far. |
@junaruga We are taking a run through the issues, to get updates on each one. |
I tried to run dbus and udevd in container of travis using podman. Without root, the systemd-udevd will never start up as /sys is not writable.
|
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
@cathay4t, which version of Podman are you using and on which distribution (and repository)? |
It's Travis Ubuntu 18.04 with podman version 1.8.0 using repo from https://podman.io/getting-started/installation.html |
@lsm5, have you seen this before on 18:04? Looks like some plugins are missing? |
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
Docker is not supported anymore in Fedora and RHEL 8, hence change the run-tests.sh to use podman by default, to use docker: sudo env CONTAINER_CMD=docker ./automation/run-tests.sh Removed unneeded workaround script for enabling systemd. And add back the test in travis using 'networkmanager/NetworkManager-master' and 'networkmanager/NetworkManager-1.22-git' copr repos. The travis does not support podman [yet][1], hence still using docker. [1]: containers/podman#3679 Signed-off-by: Gris Ge <[email protected]>
Haven't tested podman on ubuntu beyond an 'apt install'. I'll check it now.. |
@vrothberg So, the plugins are present in the expected path. |
Aha. The I will try to manually install it and try again. |
@lsm5 Once manually install Maybe a document saying podman as root in ubuntu need Thank you for fixing this. |
Travis defaults to |
Per discussion, it sounds like we're going to swap it back to a Requires. I remember it being swapped originally so rootless Podman did not need to install root-only dependencies, but if that results in broken installations, it doesn't seem to be worth it. |
This will be fixed in |
|
Is this a BUG REPORT or FEATURE REQUEST? (leave only one on its own line)
/kind bug
Description
Summary
I tried how podman worked on Travis CI comparing it from the benaviors of docker.
Here is the reproducer on my repository.
https://github.com/junaruga/multiarch-podman-experiment
https://github.com/junaruga/multiarch-podman-experiment/blob/master/.travis.yml
Seeing the result of Travis CI,
https://travis-ci.org/junaruga/multiarch-podman-experiment/builds/565807138
There are total 8 test cases for both podman and docker in the Travis page.
docker use cases
podman ideal use cases replaced by above docker use cases
podman use cases to analyze issues
Suggestions
I have some suggestions seeing the result.
Include
/etc/containers/registries.conf
to the podman deb package to align the initial state with podman RPM on Fedora. Seeing the result of$ dpkg-query -L podman
in the Travis log, there is noregistries.conf
file in it. I want podman deb package to include the file to give podman users similar experiment with docker or with podman Fedora package./etc/containers/registries.conf
Seeing "6. podman-sudo", do you know what is the reason of the error? Is there way to avoid this issue as a temporary workflow? https://travis-ci.org/junaruga/multiarch-podman-experiment/jobs/565807144
Seeing "5. podman-own-registries-podman-run", the test case is passed. But there is a error message regardless the command exists with 0 successfully. https://travis-ci.org/junaruga/multiarch-podman-experiment/jobs/565807143 . Is this related to installing from ubuntu ppa on debian 9 (stretch) results in failing slirp4netns #2794 ?
Steps to reproduce the issue:
See the "6 podman-sudo". The case shows the issue simply
https://travis-ci.org/junaruga/multiarch-podman-experiment/builds/565807138
Run below command on the Travis CI environment. ("6 podman-sudo" case)
Describe the results you received:
Below command finishes with the error.
ERRO[0010] could not find slirp4netns, the network namespace won't be configured: exec: "slirp4netns": executable file not found in $PATH
.Describe the results you expected:
Below command finishes with success.
Additional information you deem important (e.g. issue happens only occasionally):
This comes from the test https://github.com/multiarch/qemu-user-static with podman on Travis CI, that I shared on containers/buildah#1590 (comment) in a past tme.
Output of
podman version
:Output of
podman info --debug
:Additional environment details (AWS, VirtualBox, physical, etc.):
Travis CI. The OS is Ubuntu xenial.
Here is the podman deb package information.
Here is the file list on the podman deb package. To see the full list, you can check the Travis CI log.
Thank you.
The text was updated successfully, but these errors were encountered: