-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Feature request: add Fedora image #2307
Comments
I would also add SELinux as a unigue feature. |
Hello @kolyshkin , thank you for raising the issue and providing additional context about benefits from adding Fedora image. Please consider using docker images or self-hosted agent for now. |
Perhaps you can roll it out as "unofficial" or "unsupported" and see if the Fedora community is big / strong enough to help ease the maintenance burden.
I would love to, but features I described above (cgroupv2, openat2) and also selinux require a specific (== recent) kernel booted, so it won't work from inside a docker container. |
👍 We would like to do some Cilium testing in GH actions. For that we need to run on cgroupv2 hosts. |
@kolyshkin for the interim time being -- perhaps run a "self-hosted" VM with GHA ? |
We need at least a reference example on how to simulate a Fedora runner using containers. Can anyone post a link? |
@ssbarnea jobs:
fedora-job:
runs-on: ubuntu-latest
container: fedora:35
steps:
- run: cat /etc/os-release |
We are using cirrus-ci, in which we start a Fedora VM using Vagrant. It could be much less complicated, but not today I guess... |
@maxim-lobanov @AlenaSviridenko please consider reopening this request. As explained above, there are scenarios in which using a Docker image of Fedora is not enough. Linux is evolving, its kernel adds new features (e.g. cgroupv2, or new syscalls, like If we want software to evolve and benefit from the new kernel features, we need a way to actually have them in CI environments. We are asking for a Fedora specifically, because this is one of the "bleeding edge" distros, usually bringing in all the new features, both in kernel and userspace. More to say, those features will be in the next RHEL release. Taking the risk of sounding too pompous, this is the future of Linux. We could not make progress if the future of Linux is not available for the developers to develop for / test against. For example, Ubuntu 20.04, which is provided by GHA, comes with kernel 4.13, which was released in 2017. While it's great for stability (as they are backporting all the fixes), this essentially means that all the new features that appeared in the Linux kernel for the last 4+ years are not accessible for GHA users. One workaround is to use Vagrant on Mac OS X (the only ones with nested virtualization enabled on your fleet) machine and run Fedora in a Vagrant VM. While this kind of works, it's a colossal waste of resources (both hardware, which is somewhat unique, and software), and a mere abuse of the system (and also super slow, complicated to setup, and unreliable). Yet, this is currently the only way to have new (== after 2017) Linux features on GHA. I can understand the hesitation about adding another image, which will increase the burden on your support team. Yet, as explained above, there is no alternative to it; at least I don't see any (we are talking about GitHub hosted). |
Correcting myself -- it seems that Ubuntu 20.04 -- as run on GHA -- uses kernel 5.11, which is much more recent (released about a year ago, in Feb 2021). Still, you can't use cgroupv2 (this is not a kernel, but a distro limitation) or |
it seems in this way, the fedora container is rootless. |
for example software is installed inside container |
may I have a non rawhide example? https://docs.fedoraproject.org/en-US/releases/rawhide/
|
it is just a docker tag name. you can specify any existing docker tag there |
@ilia-shipitsin , could you please help on https://github.com/sustainable-computing-io/local-dev-cluster/actions/runs/5176332829/jobs/9325018798?pr=15#step:5:393
|
there're a lot of commands executed. |
Good suggestion, it seems the podman is able to install inside containerized fedora, but can not execute command as |
that is likely "docker in docker" operations. not sure how podman may be configured to run inside docker. maybe, running fedora in docker is not proper way if you need podman |
https://kind.sigs.k8s.io/docs/user/rootless/
I am not sure if we can re-open this ticket or not? |
I'd suggest to open separate issue and mention this issue |
@SamYuan1990 this issue is about having a way to run fedora image on GHA natively, not inside a container. Please do not discuss any unrelated bugs (such as about using fedora in container) here, it's really making things more complicated than they should be. |
@kolyshkin ,with my test result, same with #2307 (comment) as your updated. I hope to have fedora image on GHA natively, not inside a container. I just follow @ilia-shipitsin's suggestion give a test about container, and I hope @maxim-lobanov can reopen this ticket.
Personally, I hope by change this ticket to open, we can avoid people comments on a closed ticket. @maxim-lobanov maxim-lobanov closed this as completed on Feb 2, 2021 I hope this comments can be as a summary for me today. Thanks and regards |
Both Ubuntu and Debian are quite slow about integrating CVE patches into package systems. Fedora is much faster. Just for example, if you install the Python package safety and run |
I also have need for native (non-dockerized) Fedora images in GHA. I don't understand the resistance here, or the "Closed as completed" when it was clearly not completed at all. Being limited to Ubuntu for native, is really restrictive for testing things that are native to the RedHat (RPM) ecosystem. Performing these tests inside of a docker container, not only adds an extra level of unnecessary complexity; but is also not always appropriate as mentioned by previous commenters. |
And Alpine, for building and testing musl deployments. Instead of a paltry few kitchen sink guests they should focus on widening support for base OS's. This is heading down a similar path to Vagrant, who arbitrarily rejected bugfixes needed to support UNIX guests. |
Since I can't reopen this issue, and some of the information here is obsolete by now (heck, almost 4 years have passed), I took a liberty to file a new one: #10802 |
Description
It would be nice to have more images, such as Fedora. I am asking for Fedora specifically because
1.1. cgroupv2 enabled by default. Theoretically, this can be done in Ubuntu as well. Practically, it requires changing a kernel boot parameter and a reboot, so it's not available with GH actions.
1.2. A recent kernel with new syscalls (such as
openat2
).I am one of runc maintainers. Runc is a building block for all modern containers, including Docker and K8s. It is currently not possible to test cgroupv2 or openat2 support in runc using GH actions. I am pretty sure many other low-level software components hit the same limitation.
Some other requests about having Fedora list other reasons, so I won't repeat them here.
Finally, don't get me wrong, I am not trying to pry or annoy the github team. In #1443 (comment) @maxim-lobanov says:
So, maybe the time to revisit is now? 👍
Question, Bug, or Feature?:
Feature
The text was updated successfully, but these errors were encountered: