]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-build.git/commitdiff
builder.yml: look up java alternative path on RedHat
authorDavid Galloway <david.galloway@ibm.com>
Wed, 15 Jul 2026 23:04:47 +0000 (19:04 -0400)
committerDavid Galloway <david.galloway@ibm.com>
Wed, 15 Jul 2026 23:04:47 +0000 (19:04 -0400)
'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 <david.galloway@ibm.com>
ansible/examples/builder.yml

index 99a38fe8e680ea1ec89aa9b11e68a8821a25a326..a657dab2583ab765c6d5bfe1a25cc0a99c140b41 100644 (file)
       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'