Skip to content
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

Create an image with apt repository containing dependencies for podman version newer than one available in ubuntu stable and unstable streams #5317

Open
odockal opened this issue Dec 19, 2023 · 13 comments
Labels

Comments

@odockal
Copy link
Contributor

odockal commented Dec 19, 2023

Is your enhancement related to a problem? Please describe

To have newer podman available on ubuntu runners on GH actions, that we use to PR check E2E tests, we are working with kubic unstable repositories, that allow us to install podman (ie. 4.6.2) while latest official podman release in ubuntu stable repositories is 3.x based.
The unstable nature of kubic repo oftens introduces problems we need to avoid to keep CI build green:

Describe the solution you'd like

As proposed by @deboer-tim, we should have an option to provide a "stable but unofficial" means for a podman installation on the CI. I am leaning towards a solution that would involve an image that would offers a local apt repository with a fixed version of packages necessary for particular podman installation on runner with ubuntu distribution.
Workflow would consist of:

  • Create local apt repository with particular debs
  • include all necessary means to have an offline repo (key, release info?)
  • create an image with repository content
  • running the image would make the repo available locally on a runner
  • make the repo available to an apt program on the runner
  • install required podman

See possible manual: https://askubuntu.com/questions/170348/how-to-create-a-local-apt-repository

Describe alternatives you've considered

No response

Additional context

Pros:

  • independence of supported solutions for podman installation
  • shutting down the kubic repo would not influence us
  • stable podman installation

Cons:

  • we do not have really experience with apt repositories => learning cost
  • another piece of CI we need to take care of
  • regular updates of all deps if new podman version will be required by us
  • maintenance cost
@afbjorklund
Copy link
Contributor

Why unofficial ? Wouldn't it be better to work with the podman team to make something to replace Kubic ?

Otherwise the users would still be running 3.4.2 and 3.4.4, while you are testing Podman Desktop on 4.6.2

@lsm5
Copy link
Contributor

lsm5 commented Jan 23, 2024

@odockal RE: CI, are you open to a fedora / centos-stream based CI so you could get the latest official builds podman builds? We could do a Packit + TMT CI setup that would also enable RHEL testing.

cc @cevich

@lsm5
Copy link
Contributor

lsm5 commented Jan 23, 2024

here's what we use for podman reverse dependency tests on container-selinux: https://github.com/containers/container-selinux/blob/main/plans/main.fmf

And here's podman - cockpit-podman tests: https://github.com/containers/podman/blob/main/plans/cockpit-podman.fmf

@benoitf
Copy link
Collaborator

benoitf commented Jan 23, 2024

@lsm5 we're using Github actions (using Ubuntu)

hopefully in april there will be 2024.04 LTS release with a newer version of Podman but it'll be podman 4 when upstream will have podman v5

@lsm5
Copy link
Contributor

lsm5 commented Jan 23, 2024

@lsm5 we're using Github actions (using Ubuntu)

hopefully in april there will be 2024.04 LTS release with a newer version of Podman but it'll be podman 4 when upstream will have podman v5

Right, I think TMT would be useful in that case. It can run in parallel with GHA.

And/or, we could also consider adding reverse dependency podman-desktop tests to podman like what's done for cockpit-podman.

@benoitf
Copy link
Collaborator

benoitf commented Jan 23, 2024

I think it's also interesting to see what happens when you're using Ubuntu and using Podman Desktop as well

we can't say to all people: use Fedora for Linux if you want to use podman.

@lsm5
Copy link
Contributor

lsm5 commented Jan 23, 2024

I think it's also interesting to see what happens when you're using Ubuntu and using Podman Desktop as well

we can't say to all people: use Fedora for Linux if you want to use podman.

I didn't mean to say we get rid of GHA. I only meant to say we add Fedora / CentOS / RHEL testing as well, unless it's already in place.

@lsm5
Copy link
Contributor

lsm5 commented Jan 23, 2024

Why unofficial ? Wouldn't it be better to work with the podman team to make something to replace Kubic ?

@afbjorklund I guess anything that's not from the official Ubuntu apt repos would be considered unofficial or semi-official at max.

@afbjorklund
Copy link
Contributor

afbjorklund commented Jan 23, 2024

we can't say to all people: use Fedora for Linux if you want to use podman.

Sure you can, that is probably better than having to support Podman 3.4.4 ?

@odockal
Copy link
Contributor Author

odockal commented Feb 1, 2024

@lsm5 I am open to any option to expand testing environments. But I would love to keep the testing runs open and available in podman-desktop repository CI, so it would be nice to trigger test on fedora/rhel or centos system using tmt, but to get results back to podman-desktop CI (which is ideal situation, but we can do also separated testing).

Also, I think that Ubuntu is quite used linux distro and we should take that in account. Most developers on linux use ubuntu according to https://survey.stackoverflow.co/2023/#section-most-popular-technologies-operating-system and we need to take that into account.

@lsm5
Copy link
Contributor

lsm5 commented Feb 1, 2024

@lsm5 I am open to any option to expand testing environments. But I would love to keep the testing runs open and available in podman-desktop repository CI, so it would be nice to trigger test on fedora/rhel or centos system using tmt, but to get results back to podman-desktop CI (which is ideal situation, but we can do also separated testing).

by podman-desktop CI do you mean the results visible in github UI on PRs or is there something else? All TMT tasks will be visible in github UI like below:

image

Also, I think that Ubuntu is quite used linux distro and we should take that in account. Most developers on linux use ubuntu according to https://survey.stackoverflow.co/2023/#section-most-popular-technologies-operating-system and we need to take that into account.

Sure thing, no problem with that.

@odockal
Copy link
Contributor Author

odockal commented Feb 1, 2024

@lsm5 That looks good! So might need more info to correctly evaluate the CI and what it offers, and how to onboard.
although I would move that into another issue since it is not tight to this particular Ubuntu related problem.

opened #5807 and thank you!

Copy link
Contributor

This issue has been automatically marked as stale because it has not had activity in the last 6 months. It will be closed in 30 days if no further activity occurs. Please feel free to leave a comment if you believe the issue is still relevant. Thank you for your contributions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants