Skip to content
Snippets Groups Projects
Commit 9aa1388d authored by Benjamin Bertrand's avatar Benjamin Bertrand
Browse files

Set oracle-jdk8 as default when installed

Several applications still require it as default (like OpenXAL)

JIRA INFRA-1405
parent 4ee39b05
No related branches found
No related tags found
No related merge requests found
...@@ -10,17 +10,25 @@ JAVA_VERSION = "13.0.1" ...@@ -10,17 +10,25 @@ JAVA_VERSION = "13.0.1"
JAVA_HOME = "/opt/java/jdk-{}".format(JAVA_VERSION) JAVA_HOME = "/opt/java/jdk-{}".format(JAVA_VERSION)
JAVAFX_VERSION = "13.0.1" JAVAFX_VERSION = "13.0.1"
PATH_TO_FX = "/opt/java/javafx-sdk-{}/lib".format(JAVAFX_VERSION) PATH_TO_FX = "/opt/java/javafx-sdk-{}/lib".format(JAVAFX_VERSION)
ORACLE_JDK8_VERSION = "191"
JAVA8_HOME = "/opt/java/jdk1.8.0_{}".format(ORACLE_JDK8_VERSION)
def test_java_version(host): def test_java_version(host):
cmd = host.run("java -version 2>&1") cmd = host.run("java -version 2>&1")
assert 'openjdk version "{}"'.format(JAVA_VERSION) in cmd.stdout if host.ansible.get_variables()["inventory_hostname"] == "ics-ans-role-java-and-oracle-jdk8":
assert 'java version "1.8.0_{}"'.format(ORACLE_JDK8_VERSION) in cmd.stdout
else:
assert 'openjdk version "{}"'.format(JAVA_VERSION) in cmd.stdout
def test_java_home(host): def test_java_home(host):
cmd = host.run(r'su -l -c "echo \$JAVA_HOME"') cmd = host.run(r'su -l -c "echo \$JAVA_HOME"')
assert cmd.stdout.strip() == JAVA_HOME assert cmd.stdout.strip() == JAVA_HOME
assert host.file(JAVA_HOME).exists assert host.file(JAVA_HOME).exists
if host.ansible.get_variables()["inventory_hostname"] == "ics-ans-role-java-and-oracle-jdk8":
cmd = host.run(r'su -l -c "echo \$JAVA8_HOME"')
assert cmd.stdout.strip() == JAVA8_HOME
def test_javafx_home(host): def test_javafx_home(host):
...@@ -38,6 +46,9 @@ def test_jce_policy(host): ...@@ -38,6 +46,9 @@ def test_jce_policy(host):
def test_secure_random_source(host): def test_secure_random_source(host):
java_security = host.file("{}/conf/security/java.security".format(JAVA_HOME)) if host.ansible.get_variables()["inventory_hostname"] == "ics-ans-role-java-and-oracle-jdk8":
java_security = host.file("{}/jre/lib/security/java.security".format(JAVA8_HOME))
else:
java_security = host.file("{}/conf/security/java.security".format(JAVA_HOME))
assert not java_security.contains("securerandom.source=file:/dev/random") assert not java_security.contains("securerandom.source=file:/dev/random")
assert java_security.contains("securerandom.source=file:/dev/urandom") assert java_security.contains("securerandom.source=file:/dev/urandom")
import os
import testinfra.utils.ansible_runner
testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
os.environ["MOLECULE_INVENTORY_FILE"]
).get_hosts("ics-ans-role-java-and-oracle-jdk8")
ORACLE_JDK8_VERSION = "191"
JAVA8_HOME = "/opt/java/jdk1.8.0_{}".format(ORACLE_JDK8_VERSION)
def test_java_version(host):
cmd = host.run("{}/bin/java -version 2>&1".format(JAVA8_HOME))
assert 'java version "1.8.0_{}"'.format(ORACLE_JDK8_VERSION) in cmd.stdout
def test_java8_home(host):
cmd = host.run(r'su -l -c "echo \$JAVA8_HOME"')
assert cmd.stdout.strip() == JAVA8_HOME
def test_jce_policy(host):
cmd = host.run(
"{}/bin/jrunscript -e 'exit (javax.crypto.Cipher.getMaxAllowedKeyLength(\"RC5\") >= 256);'".format(
JAVA8_HOME
)
)
# The previous command returns 1, if the Unlimited Cryptography is available, 0 otherwise
assert cmd.rc == 1
def test_secure_random_source(host):
java_security = host.file("{}/jre/lib/security/java.security".format(JAVA8_HOME))
assert not java_security.contains("securerandom.source=file:/dev/random")
assert java_security.contains("securerandom.source=file:/dev/urandom")
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
owner: root owner: root
group: root group: root
- name: install openjdk - name: install openjdk {{ java_openjdk_version }}
unarchive: unarchive:
src: "{{ java_openjdk_archive }}" src: "{{ java_openjdk_archive }}"
dest: "{{ java_base }}" dest: "{{ java_base }}"
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
regexp: "^securerandom.source=" regexp: "^securerandom.source="
line: "securerandom.source=file:/dev/urandom" line: "securerandom.source=file:/dev/urandom"
- name: install openjfx - name: install openjfx {{ java_openjfx_version }}
unarchive: unarchive:
src: "{{ java_openjfx_archive }}" src: "{{ java_openjfx_archive }}"
dest: "{{ java_base }}" dest: "{{ java_base }}"
...@@ -49,17 +49,18 @@ ...@@ -49,17 +49,18 @@
group: root group: root
mode: 0644 mode: 0644
- name: set installed openjdk version as default - name: set openjdk {{ java_openjdk_version }} as default
alternatives: alternatives:
name: "{{ item }}" name: "{{ item }}"
link: "/usr/bin/{{ item }}" link: "/usr/bin/{{ item }}"
path: "{{ java_openjdk_home }}/bin/{{ item }}" path: "{{ java_openjdk_home }}/bin/{{ item }}"
with_items: loop:
- java - java
- javac - javac
- javadoc - javadoc
- keytool - keytool
- jrunscript - jrunscript
when: not java_install_oracle_jdk8
- name: include tasks to install oracle jdk 8 - name: include tasks to install oracle jdk 8
include_tasks: oracle_jdk8.yml include_tasks: oracle_jdk8.yml
......
...@@ -29,3 +29,20 @@ ...@@ -29,3 +29,20 @@
path: "{{ java_oracle_jdk8_home }}/jre/lib/security/java.security" path: "{{ java_oracle_jdk8_home }}/jre/lib/security/java.security"
regexp: "^securerandom.source=" regexp: "^securerandom.source="
line: "securerandom.source=file:/dev/urandom" line: "securerandom.source=file:/dev/urandom"
- name: set oracle-jdk8 as default
alternatives:
name: "{{ item.exe }}"
link: "/usr/bin/{{ item.exe }}"
path: "{{ item.path }}/{{ item.exe }}"
loop:
- path: "{{ java_oracle_jdk8_home }}/jre/bin"
exe: java
- path: "{{ java_oracle_jdk8_home }}/jre/bin"
exe: keytool
- path: "{{ java_oracle_jdk8_home }}/bin"
exe: javac
- path: "{{ java_oracle_jdk8_home }}/bin"
exe: javadoc
- path: "{{ java_oracle_jdk8_home }}/bin"
exe: jrunscript
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment