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

Add Fedora 40 and Ubuntu Noble (not released yet). #330

Closed
wants to merge 1 commit into from

Conversation

Romain-Geissler-1A
Copy link
Contributor

As usual @thaJeztah I submit the pull request, but unless it comes from you the CI won't test anything ;)

@Romain-Geissler-1A
Copy link
Contributor Author

Ping ;)

@thaJeztah
Copy link
Member

whoops, thought I posted a comment, but looks like I didn't submit.

I don't think this would currently work, because the fedora:40 image is currently still "rawhide", so it's effectively an alias for fedora:rawhide. This was the issue we had with the fedora 39 release as well; #325 (comment)

docker run -it --rm fedora:40
Unable to find image 'fedora:40' locally
40: Pulling from library/fedora
bb33616167e9: Download complete
Digest: sha256:3fd0131e8f99284776d900359f5dbafb2c4611ef086ca56130c1a85fd1653c8d
Status: Downloaded newer image for fedora:40
[root@30d66e6343a1 /]# cat /etc/os-release
NAME="Fedora Linux"
VERSION="40 (Container Image Prerelease)"
ID=fedora
VERSION_ID=40
VERSION_CODENAME=""
PLATFORM_ID="platform:f40"
PRETTY_NAME="Fedora Linux 40 (Container Image Prerelease)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:40"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=rawhide
SUPPORT_END=2024-05-14
VARIANT="Container Image"
VARIANT_ID=container

Until the Fedora project cuts of the release branch for Fedora 40, and publish a beta image, that means packages will be "rawhide", and not a representation of Fedora 40 (or packages may be missing/broken). Looking at the schedule, they target February 6 for that; https://fedorapeople.org/groups/schedule/f-40/f-40-key-tasks.html

Screenshot 2023-11-20 at 23 15 54

@thaJeztah
Copy link
Member

/cc @neersighted in case you have other suggestions than to wait for Fedora to do a Beta 😅 (we may have looked at that last time, but I don't think there were real alternatives)

@Romain-Geissler-1A
Copy link
Contributor Author

I must be missing some pieces, as I don't understand what the problem actually is.

What I would like to avoid by submitting pull request very soon is the problem we kind of have regularly every 6 months: fedora is out (or almost out), and the Docker packages aren't ready, effectively breaking the people who always pull the latest fedora version.

I get the point that rawhide and the latest fedora version are always an alias. However what I witness is that here https://download.docker.com/linux/fedora/ you currently don't have any package for fedora 40, while technically, it "exist" already, even if not released yet. While now it's not a big problem, the closer we will be to the release date, the more problematic it will be. I think that it's better to build and provide packages for fedora 40 now, and publish it on https://download.docker.com/linux/fedora/, even if it's broken, it's IMO better than having no package at all.

So what is preventing from pushing packages for fedora 40 now (if the build isn't broken) ? If rawhide and 40 are aliases of the same thing, we should drop rawhide, add 40, and publish the packages for 40 at the next release.

@Romain-Geissler-1A
Copy link
Contributor Author

If the concern is about REDHAT_BUGZILLA_PRODUCT_VERSION which currently read rawhide, I don't get why we simply don't use VERSION_ID which has the "right" value.

@Romain-Geissler-1A Romain-Geissler-1A changed the title Add fedora 40 (not released yet). Add Fedora 40 and Ubuntu Noble (not released yet). Dec 2, 2023
@Romain-Geissler-1A
Copy link
Contributor Author

I have updated the pull request to include Ubuntu Noble which was published yesterday on Dockerhub. Also I have removed fedora rawhide (in favor of fedora 40, which is the current rawhide).

@Romain-Geissler-1A
Copy link
Contributor Author

Ping ;)

1 similar comment
@Romain-Geissler-1A
Copy link
Contributor Author

Ping ;)

@funnelfiasco
Copy link

As a Docker employee and long-time Fedora contributor (and former Fedora Program Manager), here are my thoughts:

I view Rawhide as where Fedora package maintainers update and stabilize packages. The beta period is when third-party package maintainers (e.g. us) update and stabilize packages. Publishing packages implies some level of support, which I'm not sure we want to commit to for Fedora Rawhide. Thus, the absolute earliest we should start building for a given Fedora Linux version is the branch date (in the F40 case, that would be 6 February). A better target is the start of the beta freeze (20 February for F40), as that represents a point where the repository churn will be lower and the fedora:XX image should exist. That gives us at least 3 weeks, usually 4 or 5, to make sure our packages build before the Fedora Linux beta release.

I'll note that Fedora provides first-party containerd packages as well. This will always provide packages for both rawhide and branched releases.

(Also: as a matter of style, it's best to have the Ubuntu and Fedora changes as separate pull requests)

@Romain-Geissler-1A
Copy link
Contributor Author

Romain-Geissler-1A commented Jan 4, 2024

That makes sense. However my strategy of sending pull request very early is based on past experience: it happens from time to time that while fedora or ubuntu is about to be released, the packages from DockerInc aren't ready. For Fedora 39, if the Fedora release date had not been pushed back couple of times, then the docker package would have been published after Fedora 39, and this scenario happened to me in the past with Fedora/Ubuntu (we use both in my company, and try to adopt stable release as they are shipped).

This plus the fact that containerd and docker do have separate release cycle, that to build the docker package, you first need to publish the containerd package, and that it's impossible to release a package for a new distro without cutting a new official containerd/moby release, all these reasons contribute to the fact that on the D day of a distro release, it's not uncommon to be unable to install the DockerInc's packages.

So, if in February, when both Fedora/Ubuntu will be in a beta status you merge this + an equivalent change on docker packaging side + publish new package, fine for me. However my experience is that this usually does not happen like this, that why I try to push this even earlier.

(Also: as a matter of style, it's best to have the Ubuntu and Fedora changes as separate pull requests)

Initially this pull request was only about Fedora 40, then Ubuntu started to ship images for its future Ubuntu 24.04 so I added Ubuntu.

Signed-off-by: Romain Geissler <[email protected]>
@Romain-Geissler-1A
Copy link
Contributor Author

Hi,

I have rebased this on top of the latest master branch.

Right now Ubuntu noble is in feature freeze, the beta freeze is in a month. Fedora 40 is expected to be in beta freeze in two weeks from what I read (I may be wrong). Rawhide (which you use right now and which this pull request removes) has already moved to fedora 41 so I guess it should be less stable than the current fedora 40.

Is ok to consider merging this now that we are closer to stability ?

@thaJeztah
Copy link
Member

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

Successfully merging this pull request may close these issues.

None yet

3 participants