forked from ISTI-ansible-roles/ansible-roles
OpenJDK: use the zulu repository on the old Ubuntu distributions. See https://support.d4science.org/issues/16590.
This commit is contained in:
parent
f12038b2f1
commit
2a6ea7d64c
|
@ -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
|
||||
|
|
|
@ -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 }}'
|
||||
|
|
@ -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' ]
|
||||
|
|
Loading…
Reference in New Issue