From: David Galloway Date: Wed, 15 Jul 2026 23:04:47 +0000 (-0400) Subject: builder.yml: look up java alternative path on RedHat X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3d1722eca4b8decd14d546087b401cec7513eaed;p=ceph-build.git builder.yml: look up java alternative path on RedHat 'update-alternatives --set java java-21-openjdk.x86_64' fails on newer EL releases with 'java-21-openjdk.x86_64 has not been configured as an alternative for java' because the java alternative is registered under its full JVM path instead of the family name. Query 'alternatives --display java' for the installed path matching java_version and pass that to the alternatives module, mirroring the Debian block above. Signed-off-by: David Galloway --- diff --git a/ansible/examples/builder.yml b/ansible/examples/builder.yml index 99a38fe8e..a657dab25 100644 --- a/ansible/examples/builder.yml +++ b/ansible/examples/builder.yml @@ -1025,9 +1025,18 @@ when: - (ansible_os_family | lower) == 'debian' - - name: Set java version alternative for RedHat - shell: - cmd: update-alternatives --set java '{{ java_version }}-openjdk.{{ ansible_architecture }}' + - name: Set java alternative for redhat + block: + - name: Get java version alternative + shell: >- + alternatives --display java | awk '/^\// && /{{ java_version }}/ {print $1}' + register: java_alternatives_redhat + changed_when: false + + - name: Set java version alternative + alternatives: + name: java + path: "{{ java_alternatives_redhat.stdout_lines | first }}" when: - (ansible_os_family | lower) == 'redhat'