To upgrade Java to version 21 on the Jenkins controller (T418109), we need need the same Java 21 on the agents. Jenkins Java Support Policy mentions:
These requirements apply to all components of the Jenkins system, including the Jenkins controller, all types of agents, CLI clients, and other components.
Our Jenkins agents are based on Bullseye which has Java 17 and are we not backporting Java 21 to Bullseye. We thus need to rebuild the instances.
We can rebuild the agents with either Bookworm or Trixie.
- Trixie comes with Java 21 and does not have Java 17. That would prevent to attach the rebuild image to the controller which runs Java 17.
- Bookworm has Java 17 and we have a backport of Java 21
Bookworm would let us rebuild the image with Java 17. Attach them to the Jenkins controller running Java 17. When upgrading the controller to Java 21, we can then switch the Bookworm instance to use Java 21 from component/jdk21.
List of agents on Bullseye
- deployment-deploy04 - T421244
- integration-agent-docker-*
- The large pool has partially been replaced by Bookworm based instances.
- integration-agent-puppet-docker-1003 (same but dedicated to operations/puppet)
- integration-agent-pkgbuilder-1003, integration-agent-pkgbuilder-1004 (cowbuilder!)
- integration-agent-qemu-1003 (has a custom unpuppetized QEMu image)
- integration-castor05 (mounts a Cinder volume)
Agents already on Bookworm:
- pcc-worker1004.puppet-diffs.eqiad1.wikimedia.cloud
- pcc-worker1005.puppet-diffs.eqiad1.wikimedia.cloud
- pcc-worker1006.puppet-diffs.eqiad1.wikimedia.cloud
Production hosts:
- contint1002, contint2002 (they will be replaced by the new contint1003 / contint2003)