diff --git a/molecule/default/tests/test_default.py b/molecule/default/tests/test_default.py index ec0c76412bcfe95dee4209cbacd5fcbf60062be8..4144d70523c29a5accedd1ee9437afdd9e715129 100644 --- a/molecule/default/tests/test_default.py +++ b/molecule/default/tests/test_default.py @@ -10,17 +10,25 @@ JAVA_VERSION = "13.0.1" JAVA_HOME = "/opt/java/jdk-{}".format(JAVA_VERSION) JAVAFX_VERSION = "13.0.1" 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): 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): cmd = host.run(r'su -l -c "echo \$JAVA_HOME"') assert cmd.stdout.strip() == JAVA_HOME 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): @@ -38,6 +46,9 @@ def test_jce_policy(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 java_security.contains("securerandom.source=file:/dev/urandom") diff --git a/molecule/default/tests/test_oracle_jdk8.py b/molecule/default/tests/test_oracle_jdk8.py deleted file mode 100644 index 27669b65177867190f6ff0521fca2421e4cb4934..0000000000000000000000000000000000000000 --- a/molecule/default/tests/test_oracle_jdk8.py +++ /dev/null @@ -1,36 +0,0 @@ -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") diff --git a/tasks/main.yml b/tasks/main.yml index f62a373f6b76a7a5b2e8a0c46009919813aa1ed5..619800ee8646d96a0197ee24f728207be4bc5428 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -16,7 +16,7 @@ owner: root group: root -- name: install openjdk +- name: install openjdk {{ java_openjdk_version }} unarchive: src: "{{ java_openjdk_archive }}" dest: "{{ java_base }}" @@ -32,7 +32,7 @@ regexp: "^securerandom.source=" line: "securerandom.source=file:/dev/urandom" -- name: install openjfx +- name: install openjfx {{ java_openjfx_version }} unarchive: src: "{{ java_openjfx_archive }}" dest: "{{ java_base }}" @@ -49,17 +49,18 @@ group: root mode: 0644 -- name: set installed openjdk version as default +- name: set openjdk {{ java_openjdk_version }} as default alternatives: name: "{{ item }}" link: "/usr/bin/{{ item }}" path: "{{ java_openjdk_home }}/bin/{{ item }}" - with_items: + loop: - java - javac - javadoc - keytool - jrunscript + when: not java_install_oracle_jdk8 - name: include tasks to install oracle jdk 8 include_tasks: oracle_jdk8.yml diff --git a/tasks/oracle_jdk8.yml b/tasks/oracle_jdk8.yml index 3bf67e05d6d38311a23aa7268883edb8b483bade..b3a15fc95772a50e850d17692e0369e55bad7c85 100644 --- a/tasks/oracle_jdk8.yml +++ b/tasks/oracle_jdk8.yml @@ -29,3 +29,20 @@ path: "{{ java_oracle_jdk8_home }}/jre/lib/security/java.security" regexp: "^securerandom.source=" 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