-
Notifications
You must be signed in to change notification settings - Fork 13
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
use podman instead of docker for beaker-docker #48
base: v2
Are you sure you want to change the base?
Conversation
.github/workflows/beaker.yml
Outdated
run: bundle exec metadata2gha --domain ${{ inputs.domain }} --pidfile-workaround ${{ inputs.pidfile_workaround }} --beaker-facter "${{ inputs.beaker_facter }}" | ||
run: bundle exec metadata2gha --domain ${{ inputs.domain }} --beaker-facter "${{ inputs.beaker_facter }}" |
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.
🔥
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.
Is that the reason for the change? A lot of thing happen recently and I fail to follow… the PR description does not 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.
Yeah. Podman doesn't need the pidfile workaround stuff, as it doesn't have the same bug as docker.
.github/workflows/beaker.yml
Outdated
default: ubuntu-20.04 | ||
default: ubuntu-22.04 |
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.
podman can't run unprivileged containers on 20.04
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.
Perhaps puppet_metadata should generate the host it runs on and be aware that EL7 needs to run on 20.04 while running anything else on 22.04? Pretty sure you can set the runs-on part via a matrix.
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.
Or: We merge this into a v3 branch and introduce this to modules after they drop EL7 from CI?
this breaks EL7 containers, but makes el8 work w/o pidfile workaround. you win one, you loose one. log from the EL7 run:
|
@@ -152,6 +152,12 @@ jobs: | |||
name: "${{ matrix.name }}" | |||
steps: | |||
- uses: actions/checkout@v4 | |||
- name: Setup podman | |||
if: ${{ inputs.beaker_hypervisor == 'docker_podman' }} |
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.
Do we actually support docker_podman
as a type? How it work is:
https://github.com/voxpupuli/beaker/blob/9e1013356cb06cca682c8e385c7232c7c64502cc/lib/beaker/hypervisor.rb#L30-L32
So that translates to require "beaker/hypervisor/docker_podman"
, which AFAIK doesn't exist. At least https://github.com/voxpupuli/beaker-docker/blob/master/lib/beaker/hypervisor/docker_podman.rb is a 404.
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.
Yeah, that still needs creation. Otherwise there is no way to distinguish docker and podman, as they are in the same docker.rb
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 guess the primary question should be "do we want people to be able to select docker vs podman" (so creating a docker_podman.rb
with essentially module Beaker, class DockerPodman < Beaker::Docker, end, end
in it) or should we default to podman and just ignore "real" docker.
Personally, I think letting people select is better.
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 also think we should use a docker_podman.rb. That enables people to chosse and we've an option to patch code for podman. There are scenarios where it works in a slightly different way, so having an option to apply patches makes sense to me.
Edit:
required changes:
- ttps://github.com/Add DockerPodman class beaker-docker#130
- Add podman_docker support beaker-hostgenerator#360
Tested at: voxpupuli/puppet-zabbix#935
This allows us to set the beaker hypervisor not only to `docker`, but also to `docker_podmand`. This enables us to implement podman specific patches (if we ever need to). But it also makes it easier for modules to specify if they want to use podman or docker. See voxpupuli/gha-puppet#48 for reference.
This allows us to set the beaker hypervisor not only to `docker`, but also to `docker_podmand`. This enables us to implement podman specific patches (if we ever need to). But it also makes it easier for modules to specify if they want to use podman or docker. See voxpupuli/gha-puppet#48 for reference.
This allows us to set the beaker hypervisor not only to `docker`, but also to `docker_podmand`. This enables us to implement podman specific patches (if we ever need to). But it also makes it easier for modules to specify if they want to use podman or docker. See voxpupuli/gha-puppet#48 for reference.
This adds support for a `docker_podman` hypervisor. it will call the default docker implementation at the moment. See voxpupuli/gha-puppet#48 for context.
For https://github.com/voxpupuli/puppet-zabbix/actions/runs/8317740866 I noticed that Ubuntu 20.04/22.04 and Debian 12 trigger the following error: That's fixed in podman 4.2.0 but Ubuntu 22.04 only brings 3.4.4. I hacked something together (from containers/podman#21051) to install a newer version: bastelfreak@b347ebf And that works now: https://github.com/voxpupuli/puppet-zabbix/actions/runs/8318272708/job/22760921294 |
57b0e00
to
57576c5
Compare
This allows us to set the beaker hypervisor not only to `docker`, but also to `docker_podmand`. This enables us to implement podman specific patches (if we ever need to). But it also makes it easier for modules to specify if they want to use podman or docker. See voxpupuli/gha-puppet#48 for reference.
This allows us to set the beaker hypervisor not only to `docker`, but also to `docker_podmand`. This enables us to implement podman specific patches (if we ever need to). But it also makes it easier for modules to specify if they want to use podman or docker. See voxpupuli/gha-puppet#48 for reference.
This allows us to set the beaker hypervisor not only to `docker`, but also to `docker_podmand`. This enables us to implement podman specific patches (if we ever need to). But it also makes it easier for modules to specify if they want to use podman or docker. See voxpupuli/gha-puppet#48 for reference.
This allows us to set the beaker hypervisor not only to `docker`, but also to `docker_podmand`. This enables us to implement podman specific patches (if we ever need to). But it also makes it easier for modules to specify if they want to use podman or docker. See voxpupuli/gha-puppet#48 for reference.
No description provided.