Continue Discussion 36 replies
May 2023

poddingue GSoC Mentors

That will prove really handy, thanks a lot for that, Mark!

June 2023

MarkEWaite Jenkins Governance Board

The operating system end of life warning has been backported to Jenkins 2.401.2 after discussion in the Jenkins developer mailing list.

That will make it visible to users of the Jenkins long term support (LTS) release June 28, 2023. That is 8 weeks earlier than the blog post originally stated. Users will have 8 more weeks of notification before the November 2023 end of life for CentOS 7 in Jenkins.

June 2023

ricklabanca

This seems odd since jenkins runs on a jdk, what’s native about jenkins?. Is this just about support or is something going to be disabled?

1 reply
June 2023

MarkEWaite Jenkins Governance Board

That’s a fun question. Thanks for asking. Jenkins integrates with many native components, like git and OpenSSH. Integrating with the versions of native components in Red Hat Enterprise Linux 7 often requires compromises due to their age.

Git 1.8

Once Red Hat Enterprise Linux 7 is no longer supported, the git client plugin code that supports command line git 1.8 can be removed. Command line git 1.8 was released in 2012, with the last patch 1.8.5.6 released in December 2014. The current version of command line git is 2.41. Recent versions of command line git have many, many features and many, many optimizations that are not available in command line git 1.8.

Once Red Hat Enterprise Linux 7 is no longer supported, the oldest version of command line git that will need to be supported by the git client plugin is 2.20 as included in Debian 10.

OpenSSH 7.4

OpenSSH 7.4 as included in Red Hat Enterprise Linux 7 does not have the accept first option for host keys. When support for Red Hat Enterprise Linux 7 is dropped, the git client plugin can use accept first as its default and simplify ssh host key management for new users.

When Red Hat Enterprise Linux 7 is no longer supported, the older OpenSSH version to be supported will be OpenSSH 7.9 as included in Debian 10.

Those two examples are from plugins that I maintain. Other plugins may have additional simplifications they can apply when Red Hat Enterprise Linux 7 is no longer supported.

1 reply
June 2023 ▶ MarkEWaite

ricklabanca

Ah ok, not binary native but shelled calls to old utilities.

July 2023

Ian_W

It seems No good deed goes unpunished … or hurry up and wait; not sure …

Red Hat blog: Announcing up to 4 years of Extended Life Cycle Support (ELS) for Red Hat Enterprise Linux 7

As we near the end of the standard 10-year life cycle of RHEL 7, some IT organizations are finding that they cannot complete their planned migrations before June 30, 2024. To support IT teams while they catch up on their migration schedules, Red Hat is announcing a one-time, 4 year ELS maintenance period for RHEL 7 ELS

ps: CentOS 7 will apparently still hit its end-of-life in one year on June 30 of 2024.

1 reply
July 2023

MarkEWaite Jenkins Governance Board

As far as I can tell from reading that blog post, extended life cycle support is an additional purchased item that can be added to existing purchased Red Hat Enterprise Linux subscriptions. None of the Jenkins maintainers have purchased Red Hat Enterprise Linux subscriptions as far as I know. Jenkins end of life for RHEL 7 and its derivatives is Nov 2023.

1 reply
July 2023

MarkEWaite Jenkins Governance Board

Red Hat

The blog post from Red Hat is similar to posts from other operating system providers. Red Hat is selling extended support contracts for Red Hat Enterprise Linux 7. They are meeting a business need for the customers that purchase their products.

Canonical

Canonical offers something similar for subscription users that are running Ubuntu 18.04. They describe their Ubuntu Pro product and its Extended Security Maintenance in their March 2023 blog post.

Microsoft

Microsoft offered something similar for subscription users running Windows 7 after its end of support in January 2020. They announced it in the post on their learning site in 2020:

Summary

The Jenkins project has not extended its Linux support policy or its Windows support policy beyond the public end of life for any of those operating systems. It does not seem reasonable to me that Jenkins as an open source project supporting publicly available operating systems would purchase extended operating system support from the operating system providers.

I’m open to disagreement from others in case they feel that there is some path where an operating system that has reached its public end of life should continue to be supported by the Jenkins project after the public end of life.

August 2023

4K7M

We’re still a bit uncertain of the severity of impact of this change. Can we please get some additional clarification? For example, after the Nov 6, 2023 date, Jenkins will:

  1. stop working altogether on our existing installations on RHEL7

– OR –

  1. may still work on our existing installations on RHEL7, but we may start having issues with plugins, Git, OpenSSH, etc. and there will be no further support or patching from Jenkins and plugin creators to support old operating systems

Also, we’re assuming that the change will be applied in a Jenkins LTS version release after Nov 6th, so if we delayed updating Jenkins and plugins we may be able to buy ourselves extra time?

Any extra clarification would be much appreciated, thank you!

1 reply
August 2023

MarkEWaite Jenkins Governance Board

Thanks for asking the question. My answers are below.

Jenkins may still work on existing installations of Red Hat Enterprise Linux 7 and its derivatives after 16 Nov 2023. I’ve seen no change that will cause existing installations to stop working after 16 Nov 2023. I’d be surprised if such a change were introduced, since there is little benefit to that type of change.

Jenkins developers are not expected to accept patches after 16 Nov 2023 that are specific to fixing issues on Red Hat Enterprise Linux 7 or its derivatives. The Linux support policy describes unsupported platforms by saying:

We do not support the listed platforms and we do not accept patches.

Jenkins 2.414.3, releasing 18 Oct 2023, will be the last Jenkins long term support release to support Red Hat Enterprise Linux 7 and its derivatives. The next Jenkins LTS (baseline undecided, but something like 2.426.1) will release 16 Nov 2023 and will not support Red Hat Enterprise Linux 7 or any of its derivatives.

Jenkins project testing of Red Hat Enterprise Linux 7 and its derivatives will stop on or before 16 Nov 2023. Jenkins plugins like the ssh agents plugin and the git plugin will be free to remove the code they contain that supports the old software versions included in Red Hat Enterprise Linux 7 and its derivatives.

As a maintainer of the git plugin, after 16 Nov 2023 I intend to act as though command line git 1.8 and OpenSSH 7.4 (both included in RHEL 7) no longer exist. I’ll allow myself to make changes that rely on newer versions of command line git (like 2.11 and later) and newer versions of OpenSSH (like 7.8 and later). Some of those changes make break new releases of the git plugin on RHEL 7. If releases of the git plugin after 16 Nov 2023 are broken on RHEL 7, I don’t plan to fix those issues.

Other plugin maintainers and maintainers of Jenkins core are free to release similar changes after 16 Nov 2023. If a change released after 16 Nov 2023 breaks Jenkins core or a plugin on RHEL 7 and does not break on any other platform, that won’t be considered an issue.

The Jenkins LTS release 16 Nov 2023 will not support Red Hat Enterprise Linux 7 or its derivatives. The baseline for that LTS release has not yet been selected, but it will be something like 2.426.1.

You can choose to remain on Jenkins LTS 2.414.3 (scheduled for release on 18 Oct 2023) or on the last weekly version to support RHEL 7.

The Jenkins security team provides security fixes for the most recent Jenkins LTS release and the most recent Jenkins weekly release. Locking yourself to an outdated Jenkins LTS or weekly version is unhealthy because you won’t receive any further security fixes for Jenkins core.

1 reply
August 2023 ▶ MarkEWaite

4K7M

Thank you very much for the prompt and thorough reply, much appreciated.

August 2023

Jnifong

Can you confirm that Jenkins will be ok to run on AL2023 (amazon linux 2023) moving forward?
We’re in the process of moving our servers off of centos7 and AL2023 is the flavor of choice it seems for us to use. But after reading this article I just wanted to make sure we weren’t missing anything and going to potentially have a bad day maintaining Jenkins on AL2023.
Thanks for any input on this!

1 reply
August 2023

MarkEWaite Jenkins Governance Board

Jenkins will be ok to run on Amazon Linux 2023 moving forward.

The Amazon Linux 2023 FAQ says:

Starting with AL2023, a new major version of Amazon Linux is released every two years, includes minor quarterly releases, and comes with five years of long-term support.

Amazon Linux 2023 installation is regularly tested from the Jenkins packaging repository.

September 2023

danaltemyr

We cannot upgrade from RHEL7 since we are moving our systems to a new platfom, which will be generally available within a year or so, an in the mean time we have to stick with RHEL7. Is there a possibility that Jenkins will function despite the end of support, or will there be an active shutdown in the Jenkins software after november 16?

1 reply
September 2023

MarkEWaite Jenkins Governance Board

Thanks for asking. A detailed answer is available earlier in this thread.

September 2023

mkosi

I’m getting the error message on Ubuntu 23.04. Do you support LTS releases, only?

1 reply
September 2023

MarkEWaite Jenkins Governance Board

The operating system end of life monitor shows you the date when the operating system will no longer be supported by the Jenkins project.

It should state that Ubuntu 23.04 will not be supported by the Jenkins project after January 20, 2024, because that is the end of life for Ubuntu 23.04 according to the Ubuntu releases wiki page and the end of life date site.

The warning is visible to you because it is now less than 6 months before the end of life of Ubuntu 23.04.

We don’t test non-LTS versions of Ubuntu, but I’m not aware of any reason they would have any issue that is not also visible in LTS versions of Ubuntu.

1 reply
September 2023 ▶ MarkEWaite

mkosi

Thanks for clarification! :slight_smile:
I wasn’t aware EOL of Ubuntu 23.04 is < 6 months from now, and I was kinda disturbed to see a warning despite having the latest release.

September 2023

marklenders

Hi,
my Jenkins controller is installed on a VM running CentOS7 and I received the CentOS7 EOL warning.

In the next few weeks I plan to migrate the installation to RHEL8, however I have a concern:
I have several agents connected to the controller, some of them running CentOS7.
If I upgrade the controller to RHEL8 will the CentOS7 agents still continue to work or will I necessarily have to migrate them to RHEL8 as well?

This question is very important because in some pipelines, unfortunately, we still have a requirement to use Java 7 which is not supported by RHEL8.

I would like to understand if this issue will force us to stay stuck with version 2.414.3 until these projects are migrated to a newer Java version.

1 reply
September 2023

MarkEWaite Jenkins Governance Board

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.

November 2023

Yeroc

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?

1 reply
November 2023

MarkEWaite Jenkins Governance Board

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.

November 2023

martin-rust

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.

1 reply
November 2023

MarkEWaite Jenkins Governance Board

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.

1 reply
November 2023 ▶ MarkEWaite

martin-rust

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.

January 2024

MarkEWaite Jenkins Governance Board

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

amazon-linux-2-not-supported

1 reply
March 2024 ▶ MarkEWaite

mcollier

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

1 reply
March 2024

MarkEWaite Jenkins Governance Board

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 reply
March 2024 ▶ MarkEWaite

mcollier

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

1 reply
March 2024 ▶ mcollier

MarkEWaite Jenkins Governance Board

Poor typing on my part.

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

1 reply
March 2024 ▶ MarkEWaite

mcollier

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

March 2024

poddingue GSoC Mentors

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

October 2024

maustin85

Im running jenkins 2.440.2 on Ubuntu 20.04. Why am i getting the message that Jenkins will stop supporting Linux on 2099-12-31. Ubuntu 20 not supported anymore? But year 2099?

1 reply
October 2024

MarkEWaite Jenkins Governance Board

Ubuntu 20.04 reaches its end of public support 2 Apr 2025. Jenkins is alerting you that the Jenkins project stops supporting an operating system when the upstream vendor ends their public support.

The incorrect date is a bug (JENKINS-73845). Unfortunately, it is a bug that I am unable to duplicate. If you can provide more details so that the bug can be duplicated, I’m happy to look for a fix.

1 reply
October 2024 ▶ MarkEWaite

Nishan440

what i can do can anyone suggest should i upgrade or not :sweat_smile:

1 reply
October 2024

MarkEWaite Jenkins Governance Board

:sweat_smile: Yes, you should upgrade. If you upgrade today to Jenkins weekly 2.483, then you can confirm that the issue is fixed in that release. If you wait 24 hours and check the page again, you’ll see the correct end of life date without actually having the fix. The bug was an error in the date conditional. It has been fixed by @aburdajewicz