Merged in DCD-1073-adoptopenjdk (pull request #113)

DCD-1073 use AdoptOpenJDK from official repos

Approved-by: Steve Smith
Approved-by: Dylan Rathbone
This commit is contained in:
Lee Goolsbee
2020-09-14 15:13:52 +00:00
12 changed files with 69 additions and 35 deletions

View File

@@ -35,12 +35,11 @@ atl_product_installation_current: "{{ atl_product_installation_base }}/current"
atl_installer_temp: "{{ atl_installation_base }}/tmp" atl_installer_temp: "{{ atl_installation_base }}/tmp"
# NOTE: If using the non-installer java we expect to have the full JDK # NOTE: If using the non-installer java we expect to have the full JDK
# installed and linked to `/usr/lib/jvm/java` and # `/usr/lib/jvm/jre`. # installed and linked to `/usr/lib/jvm/java`.
# See product_common/task/ubuntu.yml for an example of apropriate # See product_common/task/ubuntu.yml for an example of apropriate
# linking using `alternatives`. # linking using `alternatives`.
atl_java_home: "{{ '/usr/lib/jvm/java' if atl_use_system_jdk else (atl_product_installation_current + '/jre') }}" atl_java_home: "{{ '/usr/lib/jvm/java' if atl_use_system_jdk else (atl_product_installation_current + '/jre') }}"
atl_jre_home: "{{ '/usr/lib/jvm/jre' if atl_use_system_jdk else atl_java_home }}" atl_java_binary: "{{ atl_java_home }}/bin/java"
atl_java_binary: "{{ atl_jre_home }}/bin/java"
atl_product_logs_default: &logs_default atl_product_logs_default: &logs_default
- path: "{{ atl_product_installation_current }}/logs/*" - path: "{{ atl_product_installation_current }}/logs/*"

View File

@@ -3,8 +3,6 @@
atl_jvm_heap: "2048m" atl_jvm_heap: "2048m"
atl_fonts_fallback_dirs: atl_fonts_fallback_dirs:
- "{{ atl_java_home }}/lib/fonts/fallback/" - "{{ atl_java_home }}/lib/fonts/fallback/"
- "{{ atl_jre_home }}/lib/fonts/fallback/"
atl_autologin_cookie_age: "{{ lookup('env', 'ATL_AUTOLOGIN_COOKIE_AGE') }}" atl_autologin_cookie_age: "{{ lookup('env', 'ATL_AUTOLOGIN_COOKIE_AGE') }}"

View File

@@ -81,8 +81,7 @@ def test_confluence_config_file(host):
assert f.contains('<property name="hibernate.c3p0.preferredTestQuery">select 1;</property>') assert f.contains('<property name="hibernate.c3p0.preferredTestQuery">select 1;</property>')
@pytest.mark.parametrize('font', [ @pytest.mark.parametrize('font', [
# '/usr/lib/jvm/java/lib/fonts/fallback/NotoSansJavanese-Regular.ttf', # '/usr/lib/jvm/java/lib/fonts/fallback/NotoSansJavanese-Regular.ttf'
# '/usr/lib/jvm/jre/lib/fonts/fallback/NotoSansJavanese-Regular.ttf'
'/opt/atlassian/confluence/current/jre/lib/fonts/fallback/NotoSansJavanese-Regular.ttf' '/opt/atlassian/confluence/current/jre/lib/fonts/fallback/NotoSansJavanese-Regular.ttf'
]) ])
def test_fonts_installed_and_linked(host, font): def test_fonts_installed_and_linked(host, font):

View File

@@ -12,8 +12,7 @@ def test_seraph_file(host):
assert f.contains('<param-value>COOKIEAGE</param-value>') assert f.contains('<param-value>COOKIEAGE</param-value>')
@pytest.mark.parametrize('font', [ @pytest.mark.parametrize('font', [
'/usr/lib/jvm/java/lib/fonts/fallback/NotoSansJavanese-Regular.ttf', '/usr/lib/jvm/java/lib/fonts/fallback/NotoSansJavanese-Regular.ttf'
'/usr/lib/jvm/jre/lib/fonts/fallback/NotoSansJavanese-Regular.ttf'
]) ])
def test_fonts_installed_and_linked(host, font): def test_fonts_installed_and_linked(host, font):
f = host.file(font) f = host.file(font)

View File

@@ -5,8 +5,8 @@
name: name:
- "google-noto-*" - "google-noto-*"
- name: Link the language fonts into the JDK/JRE - name: Link the language fonts into the JDK
# Not idiomatic, but cleaner that messing with nested lookups... # Not idiomatic, but cleaner than messing with nested lookups...
shell: shell:
cmd: "ln -sf /usr/share/fonts/google-noto*/* {{ item }}/" cmd: "ln -sf /usr/share/fonts/google-noto*/* {{ item }}/"
creates: "{{ item }}/NotoSansJavanese-Regular.ttf" creates: "{{ item }}/NotoSansJavanese-Regular.ttf"

View File

@@ -52,7 +52,6 @@
insertafter: "EOF" insertafter: "EOF"
line: 'export CATALINA_OPTS="${CATALINA_OPTS} {{ atl_catalina_opts }} {{ atl_catalina_opts_extra }}"' line: 'export CATALINA_OPTS="${CATALINA_OPTS} {{ atl_catalina_opts }} {{ atl_catalina_opts_extra }}"'
- name: Configure login properties - name: Configure login properties
template: template:
src: seraph-config.xml.j2 src: seraph-config.xml.j2

View File

@@ -5,8 +5,8 @@
name: name:
- "fonts-noto" - "fonts-noto"
- name: Link the language fonts into the JDK/JRE - name: Link the language fonts into the JDK
# Not idiomatic, but cleaner that messing with nested lookups... # Not idiomatic, but cleaner than messing with nested lookups...
shell: shell:
cmd: "ln -sf /usr/share/fonts/truetype/noto/* {{ item }}/" cmd: "ln -sf /usr/share/fonts/truetype/noto/* {{ item }}/"
creates: "{{ item }}/NotoSansJavanese-Regular.ttf" creates: "{{ item }}/NotoSansJavanese-Regular.ttf"

View File

@@ -5,3 +5,11 @@ postgres_version: "9.6"
# Disable these when using the product installer, otherwise we end up # Disable these when using the product installer, otherwise we end up
# fighting with it. # fighting with it.
atl_use_system_jdk: false atl_use_system_jdk: false
# Ubuntu and Ansible use different architecture nomenclature; provide
# an easy method for translating between them
debian_architecture_translations:
x86_64: amd64
aarch64: arm64
debian_architecture: "{{ debian_architecture_translations[ansible_architecture] | default(ansible_architecture) }}"

View File

@@ -15,8 +15,7 @@ def test_user_created(host):
@pytest.mark.parametrize('exe', [ @pytest.mark.parametrize('exe', [
'/usr/bin/git', '/usr/bin/git',
'/usr/bin/javac', '/usr/bin/javac',
'/usr/lib/jvm/java/bin/java', '/usr/lib/jvm/java/bin/java'
'/usr/lib/jvm/java/jre/bin/java'
]) ])
def test_package_exes(host, exe): def test_package_exes(host, exe):
assert host.file(exe).exists assert host.file(exe).exists

View File

@@ -1,10 +1,33 @@
--- ---
- name: Install JDK if necessary on Amazon Linux - name: Add AdoptOpenJDK repo and install if necessary on Amazon Linux
block:
- name: Add AdoptOpenJDK yum repository
yum_repository:
name: AdoptOpenJDK
file: adoptopenjdk
description: AdoptOpenJDK Repo
baseurl: "https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/amazonlinux/{{ ansible_distribution_version }}/{{ ansible_architecture }}/"
gpgkey: https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public
gpgcheck: yes
state: present
- name: Install AdoptOpenJDK
yum: yum:
name: name: "adoptopenjdk-{{ java_major_version }}-hotspot"
- java-1.{{ java_major_version }}.0-openjdk-devel state: present
- name: Ensure common JDK symlink exists
alternatives:
link: "/usr/lib/jvm/java"
name: "java_sdk"
path: "/usr/lib/jvm/adoptopenjdk-{{ java_major_version }}-hotspot"
priority: 99
when: atl_use_system_jdk when: atl_use_system_jdk
tags:
- runtime_pkg
- name: Install other base packages on Amazon Linux - name: Install other base packages on Amazon Linux
yum: yum:

View File

@@ -1,25 +1,35 @@
--- ---
- name: Install JDK if necessary on Ubuntu - name: Add AdoptOpenJDK repo and install if necessary on Ubuntu
block: block:
- name: Install JDK package - name: Install gnupg
package: apt:
name: name: gnupg
- openjdk-{{ java_major_version }}-jdk-headless state: present
- name: Add AdoptOpenJDK debian repo public key
apt_key:
url: https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public
state: present
- name: Add AdoptOpenJDK debian repository
apt_repository:
repo: "deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb {{ ansible_distribution_release }} main"
state: present
filename: adoptopenjdk
- name: Install AdoptOpenJDK
apt:
name: "adoptopenjdk-{{ java_major_version }}-hotspot"
update_cache: yes
state: present
- name: Ensure common JDK symlink exists - name: Ensure common JDK symlink exists
alternatives: alternatives:
link: "/usr/lib/jvm/java" link: "/usr/lib/jvm/java"
name: "java_sdk" name: "java_sdk"
path: "/usr/lib/jvm/java-8-openjdk-amd64" path: "/usr/lib/jvm/adoptopenjdk-{{ java_major_version }}-hotspot-{{ debian_architecture }}"
priority: 99
- name: Ensure common JRE symlink exists
alternatives:
link: "/usr/lib/jvm/jre"
name: "jre"
path: "/usr/lib/jvm/java-8-openjdk-amd64/jre"
priority: 99 priority: 99
when: atl_use_system_jdk when: atl_use_system_jdk