End of life operating systems

Nov 16, 2023 is the end of Red Hat Enterprise Linux 7 and CentOS 7 support by the Jenkins project for controllers and agents. June 30, 2024 is the end of public support for Red Hat Enterprise Linux 7 by Red Hat and the end of all support for CentOS 7.

You should update your agents to a supported operating system. If you can’t do that, then you’ll need to test each upgrade yourself to see that it does not break your agents running CentOS 7.

I’m confident that there is a way to run Java 7 on RHEL 8 and its derivatives, even if there is not an RPM package that can be used for the installation.

This caught me off guard since our controller isn’t affected but our agents are running CentOS 7 and we didn’t get any advance warning on this until I read the changes for the latest LTS release! Is there an enhancement request somewhere for future releases so that advance warning is provided when the OS the agent(s) are running on has been deprecated or support is due to be dropped?

That’s a good suggestion, though I think it might be better done in the versions node monitors plugin than in Jenkins core. You’re welcome to submit an enhancement request. You’re also welcome to submit a pull request to implement the enhancement :smile:

I think that it is better suited to the plugin because agents come and go and an administrative monitor persists until it is cleared. It might be unclear to the user when an ephemeral agent appears, has an unsupported operating system, then disappears, but the administrative monitor persists.

You may also want to read the Jenkins blog post where we announced that change in May 2023.

Jenkins 2.414.3 just cautions me that “Jenkins will no longer support Linux after 2099-12-31”. It’s a Jenkins WAR deployment inside Tomcat 9.0.82, OpenJDK 11, Fedora 38.
And, yes, the system date is set correctly :wink:
If you want to debug this, tell if you need additional information.

We’ll definitely need more information. It is best to provide detailed information as a bug report to https://issues.jenkins.io/

I attempted to duplicate the problem with the following Dockerfile:

FROM fedora:38
RUN curl -o /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
RUN rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
RUN dnf upgrade -y
RUN dnf install -y fontconfig java-11-openjdk
RUN dnf install -y jenkins
RUN curl -L -o /tmp/jenkins-2.414.3.war https://get.jenkins.io/war-stable/2.414.3/jenkins.war
USER jenkins
ENTRYPOINT java -jar /tmp/jenkins-2.414.3.war

I built and ran that Dockerfile with the command:

$ docker build -t sample:1 .
$ docker run --rm -p 8080:8080 -i -t sample:1

I opened that Jenkins page from that machine in my web browser and confirmed that the end of life admin monitor displayed as follows:

That output is what I expected to see, since Fedora 38 is end of life as of 18 May 2024.

After upgrading to Jenkins 2.426.1, the notice has changed to the one just shown in your screenshot (which makes sense). So, I’ll regard this as fixed. Thanks.

1 Like

I’ve submitted an update to the end of life operating system data that adds data for:

  • Alpine Linux 3.19 - end of life Nov 1, 2025, 6 months after Alpine Linux 3.18
  • Amazon Linux 2 - already end of life because it is a Red Hat Enterprise Linux 7 derivative
  • Amazon Linux 2023 - end of life Mar 15, 2028
  • Fedora Linux 39 - end of life Dec 7, 2024, 6 months after Fedora Linux 38

amazon-linux-2-not-supported

I clicked on the Ignore button on this dialog so it no longer shows the warning. Is there a way to get the warning to reappear after Ignore has been clicked?

Thanks,
MIke

From “Manage Jenkins” → “System” → “Administrative monitors configuration” there is a drop down list “Administrative monitors” that includes a checkbox for each administrative monitor. Enable the checkbox for “Operating system end of life monitor”.

1 Like

Hi Mark,
I have looked in the “Manage Jenkins” and I don’t see anything with the title “Administrative monitors configuration”.

Here are all the categories I see in my Jenkins:

System Configuration

System
Configure global settings and paths.

Tools
Configure tools, their locations and automatic installers.

Plugins
Add, remove, disable or enable plugins that can extend the functionality of Jenkins.

Nodes
Add, remove, control and monitor the various nodes that Jenkins runs jobs on.

Clouds
Add, remove, and configure cloud instances to provision agents on-demand.

Appearance
Configure the look and feel of Jenkins

Managed files
e.g. settings.xml for maven, central managed scripts, custom files, …

Security

Security
Secure Jenkins; define who is allowed to access/use the system.

Credentials
Configure credentials

Credential Providers
Configure the credential providers and types

Users
Create/delete/modify users that can log in to this Jenkins.

In-process Script Approval
Allows a Jenkins administrator to review proposed scripts (written e.g. in Groovy) which run inside the Jenkins process and so could bypass security restrictions.

Status Information

Monitoring of Jenkins instance
Monitoring of memory, cpu, http requests and more in the Jenkins instance.

Monitoring of Jenkins agents
Monitoring of builds, build queue and Jenkins agents.

System Information
Displays various environmental information to assist trouble-shooting.

System Log
System log captures output from java.util.logging output related to Jenkins.

Load Statistics
Check your resource utilization and see if you need more computers for your builds.

About Jenkins
See the version and license information.

Troubleshooting

Manage Old Data
Scrub configuration files to remove remnants from old plugins and earlier versions.

Tools and Actions

Reload Configuration from Disk
Discard all the loaded data in memory and reload everything from file system. Useful when you modified config files directly on disk.

Jenkins CLI
Access/manage Jenkins from your shell, or from your script.

Script Console
Executes arbitrary script for administration/trouble-shooting/diagnostics.

Prepare for Shutdown
Stops executing new builds, so that the system can be eventually shut down safely.

Uncategorized

Gerrit Trigger
Triggers builds on Gerrit Events

I’m running Jenkins 2.440.1 on RedHat 7.9

Thanks,
Mike

Poor typing on my part.

From “Manage Jenkins” → “System” → “Administrative monitors configuration” is the path to the configuration.

1 Like

Hi Mark,

I was able to turn back on the OS end of life monitor with the path you provided. It showed up again once I restarted Jenkins.
I am in the process of switching to a supported OS.

Thanks for your help,
Mike

2 Likes

Thanks for your feedback, @mcollier. :+1: