Page MenuHomePhabricator

Upgrade Jenkins instances to 2.479.1
Closed, ResolvedPublic

Description

https://www.jenkins.io/changelog-stable/#v2.479.1

Migrate from http://updates.jenkins-ci.org to https://updates.jenkins.io if the initial installation version was 2.76 or older. JENKINS-73760

Require Java 17 or newer

We have already upgraded Java.

Users of the LDAP plugin must upgrade to version 733.vd3700c27b_043 in combination with upgrading Jenkins core.

For the release Jenkins, the dependency must be bumped in the text file listing the versions.

For the CI Jenkins:

Details

Related Changes in GitLab:
TitleReferenceAuthorSource BranchDest Branch
jenkins-rel: update plugins.txt to match Jenkins version upgraderepos/releng/jenkins-deploy!97jnucheT379059master
Customize query in GitLab

Event Timeline

Mentioned in SAL (#wikimedia-operations) [2024-11-05T13:34:28Z] <moritzm> imported jenkins 2.479.1 to thirdparty/ci for bullseye-wikimedia T379059

It is to upgrade to the current LTS. Upstream releases one every 12 weeks ( https://www.jenkins.io/download/lts/ ) and drop support for the previous LTS (or might release one last patch release for it).

Upstream is also updating the plugins parent pom to a version that requires this 2.479.1 and I have some patches for plugins that would end up requiring it in order to be updated on our instance :)

I will do the CI instance.

Upstream is also updating the plugins parent pom to a version that requires this 2.479.1 and I have some patches for plugins that would end up requiring it in order to be updated on our instance :)

Ack.

Updating releases Jenkins doesn't seem necessary, but it'd be better to keep the version of both instance types in sync. I'll update releases Jenkins at some point during the week when I get the chance

The SSH agents fail to connect due to:

Nov 05, 2024 3:04:15 PM WARNING hudson.plugins.sshslaves.SSHLauncher launch
SSH Launch of integration-agent-docker-1044 on 172.16.2.26 failed in 4,984 ms

Nov 05, 2024 3:04:15 PM INFO hudson.remoting.SynchronousCommandTransport
I/O error in channel integration-agent-docker-1044
java.io.EOFException
	at java.base/java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2915)
	at java.base/java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3410)
	at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:954)
	at java.base/java.io.ObjectInputStream.<init>(ObjectInputStream.java:392)
	at hudson.remoting.ObjectInputStreamEx.<init>(ObjectInputStreamEx.java:50)
	at hudson.remoting.Command.readFrom(Command.java:141)
	at hudson.remoting.Command.readFrom(Command.java:127)
	at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:35)
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:62)
Caused: java.io.IOException: Unexpected termination of the channel
	at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:80)

From https://integration.wikimedia.org/ci/computer/integration%2Dagent%2Ddocker%2D1040/log

Caused by: java.lang.UnsupportedClassVersionError: hudson/slaves/SlaveComputer$SlaveVersion has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

That is the agents still running Java 11 when the code now requires Java 17 :/

Mentioned in SAL (#wikimedia-operations) [2024-11-05T15:18:09Z] <hashar> Switched WMCS integration instances from Java 11 to Java 17 via Horizon project wide config. That was forgotten in T359795 and blocks today Jenkins upgrade ( T379059 )

The WMCS CI agents were not upgraded to Java 17 and after the upgrade the remoting system could not understand the class compiled for Java 17. I have no idea how I have missed them in T359795, apparently I only did the production hosts. The releases hosts are not affected, they are agents of themselves and already have been upgraded to Java 17 for the Jenkins controller.

The release notes mentioned having to upgrade the LDAP plugin to at least 733, I have upgraded it to the latest: 770 and it I have managed to login.

So the CI Jenkins has been upgraded \o/ There is no rush for the releases one, that can be done next week.

jnuche claimed this task.

Release Jenkins instances upgraded in prod. I verified LDAP login still works.