adoptium / adoptium/infrastructure

Ansible request for making Temurin 21 the default JDK on the machines

Open
#3,949 2 comments 0 reactions 0 assignees View on GitHub
ansible
Dominant language
Python
Stars
96
Forks
106
Avg merge
1d 16h
Merged PRs (30d)
12

Description

Please put the name of the software product (and affected platforms if relevant) in the title of this issue

Delete as appropriate from this list:

- Request for new playbook addition

Details:

_This has been identified as part of the work for https://github.com/adoptium/infrastructure/pull/3802 and https://github.com/adoptium/infrastructure/pull/3850 - noting that EL10-based distributions no longer have Java 8 in their repositories_

At the moment most Linux distributions are adding a java 8 from the distributions repository and making that the default `java` on the system. We are installing `java-1.8.0-openjdk-devel` (yum/dnf) and `openjdk-8-jdk` (apt) as appropriate. On RPM-based distros we also install `java-1.7.0-openjdk-devel` as the boot JDK and on deb-based distributions we install `openjdk-11-jdk`.

None of these are necessary. We should be able to use Temurin, as installed in the `adoptopenjdk_install` role, as the default `java` on the machine and set as the default via the `alternatives:` task (Currently in the Common role). This will require a change to run the `alternatives:` task as part of the adoptopenjdk_install role when appropriate, and removing it from the `Common` role. If we do this, it probably makes sense to set 21 as the default ...

I think there are some things that are dependent on this default JDK on the system and as part of this issue we should collate them and ensure that we know which versions each require, so that if we switch it away from JDK8 we don't cause any problems.

Contributor guide

Open the contributing guide

Research direction

Inspect the adoptopenjdk_install role and the Common role, focusing on the alternatives task and the existing JDK package installation for RPM- and Debian-based distributions. Collate the machine dependencies on the default JDK and their required versions; done means Temurin 21 is the default without breaking those dependencies, including on distributions where Java 8 is unavailable.

Written by the indexing model from the issue text.

Assessment

Tech stack
ansible, java
Domain
devops, infrastructure, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.