OpenJDK: use the zulu repository on the old Ubuntu distributions. See https://support.d4science.org/issues/16590.

This commit is contained in:
Andrea Dell'Amico 2019-04-22 18:27:43 +02:00
parent f12038b2f1
commit 2a6ea7d64c
3 changed files with 67 additions and 35 deletions

View File

@ -1,12 +1,18 @@
---
openjdk_default: 8
openjdk_pkg_state: latest
openjdk_pkg_state: present
openjdk_version:
- '{{ openjdk_default }}'
openjdk_ppa: 'ppa:openjdk-r/ppa'
dismissed_openjdk_ppa: 'ppa:openjdk-r/ppa'
openjdk_zulu_repo_install: False
openjdk_zulu_repo_key_id: '0xB1998361219BD9C9'
openjdk_zulu_repository: 'deb http://repos.azulsystems.com/{{ ansible_distribution | lower }} stable main'
jdk_java_home: '/usr/lib/jvm/java-{{ openjdk_default }}-openjdk-amd64'
openjdk_java_home: '/usr/lib/jvm/java-{{ openjdk_default }}-openjdk-amd64'
openjdk_zulu_java_home: '/usr/lib/jvm/zulu-{{ openjdk_default }}-amd64'
openjdk_zulu_package_name: zulu
openjdk_pkgs:
- jre-headless

View File

@ -1,14 +0,0 @@
---
- name: Set OpenJDK 6 as default
shell: update-java-alternatives -s java-1.6.0-openjdk-amd64
- name: Set OpenJDK 7 as default
shell: update-java-alternatives -s java-1.7.0-openjdk-amd64
- name: Set OpenJDK 8 as default
shell: update-java-alternatives -s java-1.8.0-openjdk-amd64
- name: Set the default OpenJDK
shell: update-java-alternatives -s java-1.{{ item }}.0-openjdk-amd64
with_items: '{{ openjdk_default }}'

View File

@ -1,23 +1,63 @@
---
- block:
- name: Add the openjdk ppa. To have openjdk 8/9 on precise and trusty
apt_repository: repo='{{ openjdk_ppa }}' update_cache=yes
- name: Install OpenJDK
apt: pkg=openjdk-{{ item.0 }}-{{ item[1] }} state={{ openjdk_pkg_state }} update_cache=yes cache_valid_time=3600
with_nested:
- '{{ openjdk_version }}'
- '{{ openjdk_pkgs }}'
notify: Set the default OpenJDK
register: openjdk_installed
- name: Remove the openjdk-r ppa. It is not maintained anymore
apt_repository: repo='{{ dismissed_openjdk_ppa }}' update_cache=yes state=absent
- name: Rebuild the Ubuntu keystore
command: update-ca-certificates --fresh
when: openjdk_installed is changed
- name: Set the default OpenJDK
shell: update-java-alternatives -s java-1.{{ item }}.0-openjdk-amd64
with_items: '{{ openjdk_default }}'
when: openjdk_installed is changed
- name: Check if we must use the Zulu repository
set_fact:
openjdk_zulu_repo_install: True
when: ansible_distribution_major_version <= '16'
tags: [ 'jdk', 'openjdk' ]
- block:
- name: Install the Zulu repository key
apt_key: keyserver='hkp://keyserver.ubuntu.com' id={{ openjdk_zulu_repo_key_id }}
- name: Install the proper Zulu repository
apt_repository: repo='{{ openjdk_zulu_repository }}' update_cache=yes
- name: Install the Zulu OpenJDK
apt: pkg={{ openjdk_zulu_package_name }}-{{ item }} state={{ openjdk_pkg_state }} update_cache=yes cache_valid_time=3600
with_items: '{{ openjdk_version }}'
register: openjdk_installed
- name: Set the default OpenJDK as Zulu
shell: update-java-alternatives -s /usr/lib/jvm/zulu-{{ openjdk_default }}-amd64
when: openjdk_installed is changed
- name: Set the correct value for jdk_java_home when we are installing Zulu
set_fact:
jdk_java_home: '{{ openjdk_zulu_java_home }}'
when: openjdk_zulu_repo_install
tags: [ 'jdk', 'openjdk' ]
- block:
- name: Remove the Zulu repository if it is present
apt_repository: repo='{{ openjdk_zulu_repository }}' update_cache=yes state=absent
- name: Install the OpenJDK that comes with the distribution
apt: pkg=openjdk-{{ item.0 }}-{{ item[1] }} state={{ openjdk_pkg_state }} update_cache=yes cache_valid_time=3600
with_nested:
- '{{ openjdk_version }}'
- '{{ openjdk_pkgs }}'
register: openjdk_installed
- name: Set the default OpenJDK
shell: update-java-alternatives -s java-1.{{ openjdk_default }}.0-openjdk-amd64
when: openjdk_installed is changed
- name: Set the correct value for jdk_java_home when we are installing the distribution OpenJDK
set_fact:
jdk_java_home: '{{ openjdk_java_home }}'
when: not openjdk_zulu_repo_install
tags: [ 'jdk', 'openjdk' ]
- block:
- name: Rebuild the Ubuntu keystore
command: update-ca-certificates --fresh
when: openjdk_installed is changed
tags: [ 'jdk', 'openjdk' ]