Skip to content

Commit 6f4d635

Browse files
authored
Merge pull request #92 from ansiblebit/develop
java 10
2 parents 7b7a7c7 + 85aa772 commit 6f4d635

File tree

18 files changed

+334
-298
lines changed

18 files changed

+334
-298
lines changed

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ sudo: yes
33

44
matrix:
55
include:
6+
- python: 2.7
7+
env: TOXENV=py27-ansible26
8+
- python: 2.7
9+
env: TOXENV=py27-ansible25
610
- python: 2.7
711
env: TOXENV=py27-ansible24
812
- python: 2.7

README.md

Lines changed: 111 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
[![License](https://img.shields.io/badge/license-New%20BSD-blue.svg?style=flat)](https://raw.githubusercontent.com/ansiblebit/oracle-java/master/LICENSE)
44
[![Build Status](https://travis-ci.org/ansiblebit/oracle-java.svg?branch=master)](https://travis-ci.org/ansiblebit/oracle-java)
55

6-
[![Platform](http://img.shields.io/badge/platform-centos-932279.svg?style=flat)](#)
7-
[![Platform](http://img.shields.io/badge/platform-debian-a80030.svg?style=flat)](#)
8-
[![Platform](http://img.shields.io/badge/platform-redhat-cc0000.svg?style=flat)](#)
9-
[![Platform](http://img.shields.io/badge/platform-ubuntu-dd4814.svg?style=flat)](#)
6+
[![Platform](http://img.shields.io/badge/platform-centos-932279.svg?style=flat)](CentOS)
7+
[![Platform](http://img.shields.io/badge/platform-debian-a80030.svg?style=flat)](Debian)
8+
[![Platform](http://img.shields.io/badge/platform-redhat-cc0000.svg?style=flat)](RedHat)
9+
[![Platform](http://img.shields.io/badge/platform-ubuntu-dd4814.svg?style=flat)](Ubuntu)
1010

1111
[![Project Stats](https://www.openhub.net/p/ansiblebit-oracle-java/widgets/project_thin_badge.gif)](https://www.openhub.net/p/ansiblebit-oracle-java/)
1212

@@ -15,67 +15,135 @@ An [Ansible](http://www.ansible.com) role to setup Oracle Java Development Kit.
1515
DISCLAIMER: usage of any version of this role implies you have accepted the
1616
[Oracle Binary Code License Agreement for Java SE](http://www.oracle.com/technetwork/java/javase/terms/license/index.html).
1717

18-
1918
## Tests
2019

2120
| Family | Distribution | Version | Test Status |
2221
|:-:|:-:|:-:|:-:|
23-
| Debian | Debian | Jessie | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](#) |
24-
| Debian | Ubuntu | Precise | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](#) |
25-
| Debian | Ubuntu | Yakkety | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](#) |
26-
| Debian | Ubuntu | Xenial | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](#) |
27-
| Debian | Ubuntu | Trusty | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](#) |
28-
| Debian | Ubuntu | Vivid | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](#) |
29-
| Debian | Ubuntu | Wily | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](#) |
30-
| RedHat | Centos | 7 | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](#) |
22+
| Debian | Debian | Jessie | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
23+
| Debian | Debian | Stretch | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
24+
| Debian | Ubuntu | Precise | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
25+
| Debian | Ubuntu | Yakkety | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
26+
| Debian | Ubuntu | Xenial | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
27+
| Debian | Ubuntu | Trusty | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
28+
| Debian | Ubuntu | Vivid | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
29+
| Debian | Ubuntu | Wily | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
30+
| Debian | Ubuntu | Artful | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
31+
| Debian | Ubuntu | Bionic | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
32+
| Debian | Ubuntu | Cosmic | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
33+
| RedHat | Centos | 7 | [![x86_64](http://img.shields.io/badge/x86_64-passed-006400.svg?style=flat)](x) |
3134

3235
## Requirements
3336

3437
- ansible >= 2.x
3538

39+
## Facts
3640

37-
# Facts
38-
| variable | description |
39-
|--:|:--|
40-
| oracle_java_installed | fact set by this role that contains a flag that indicates if Java is installed on the host. |
41-
| oracle_java_version_installed | fact set by this role that contains the string of the Java version installed in the system. |
42-
41+
- **oracle_java_installed**: fact set by this role that contains a flag that indicates if Java is installed on the host.
42+
- **oracle_java_version_installed**: fact set by this role that contains the string of the Java version installed in the system.
4343

4444
## Role Variables
4545

46-
| variable | default | description |
47-
|--:|:-:|:--|
48-
| debug | undefined | flag to make role more verbose. |
49-
| oracle_java_set_as_default | yes | make the newly installed Java the default runtime environment. |
50-
| oracle_java_state | latest | the package state (see Ansible apt module for more information). |
51-
| oracle_java_version | 8 | the Oracle JDK version to be installed. |
52-
| oracle_java_version_string | 1.{{ oracle_java_version }}.0_u{{ oracle_java_version_update }} | the Java version string to verify installation against. |
53-
| oracle_java_os_supported | - | role internal variable to check if a OS family is supported or not. |
46+
- **debug**: flag to make role more verbose.
47+
- **oracle_java_set_as_default**: make the newly installed Java the default runtime environment (default: `yes`).
48+
- **oracle_java_os_supported**: role internal variable to check if a OS family is supported or not.
5449

50+
### Debian
5551

56-
### Debian-only
52+
- **oracle_java_apt_repository**: Personal Package Archive (PPA) from where to install Java (default: `deb http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main`).
53+
- **oracle_java_apt_repository_key**: PPA repository key (default: `EA8CACC073C3DB2A`.
54+
- **oracle_java_cache_valid_time**: the amount of time in seconds the apt cache is valid (default: `3600`).
55+
- **oracle_java_deb_package**: name of debian package (default: `oracle-java10-installer`).
56+
- **oracle_java_debconf_package_default**: (default: `oracle-java10-set-default`).
57+
- **oracle_java_home**: the location of the Java home directory (default: `/usr/lib/jvm/java-10-oracle`).
58+
- **oracle_java_state**:** the package state (see Ansible apt module for more information) (default: `latest`).
5759

58-
| variable | default | description |
59-
|--:|:-:|:--|
60-
| oracle_java_cache_valid_time | 3600 | the amount of time in seconds the apt cache is valid. |
61-
| oracle_java_state | latest | the package state (see Ansible apt module for more information). |
62-
| oracle_java_home | /usr/lib/jvm/java-{{ oracle_java_version }}-oracle | the location of the Java home directory. |
60+
### Debian/Ubuntu
6361

62+
- **oracle_java_apt_repository**: Personal Package Archive (PPA) from where to install Java (default: `ppa:linuxuprising/java`).
63+
- **oracle_java_cache_valid_time**: the amount of time in seconds the apt cache is valid (default: `3600`).
64+
- **oracle_java_deb_package**: name of debian package (default: `oracle-java10-installer`).
65+
- **oracle_java_debconf_package_default**: (default: `oracle-java10-set-default`).
66+
- **oracle_java_home**: the location of the Java home directory (default: `/usr/lib/jvm/java-10-oracle`).
67+
- **oracle_java_state**:** the package state (see Ansible apt module for more information) (default: `latest`).
6468

6569
### Redhat-only
6670

67-
| variable | default | description |
68-
|--:|:-:|:--|
69-
| oracle_java_dir_source | /usr/local/src | directory where to store the RPM files. |
70-
| oracle_java_home | /usr/java/jdk1.{{ oracle_java_version }}.0_{{ oracle_java_version_update }} | the location of the Java home directory. |
71-
| oracle_java_rpm_validate_certs | yes | flag to indicate if you want SSL certificate validation. |
72-
71+
- **oracle_java_dir_source**: directory where to store the RPM files (default: `/usr/local/src`).
72+
- **oracle_java_download_timeout**: download timeout, in seconds (default: `60`).
73+
- **oracle_java_download_url**: where to download the rpm from (default: `http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.rpm`).
74+
- **oracle_java_home**: the location of the Java home directory (default: `/usr/java/default`).
75+
- **oracle_java_rpm_filename**: file name used for the download destination (default: `jdk-10.0.2_linux-x64_bin.rpm`).
76+
- **oracle_java_rpm_validate_certs**: flag to indicate if you want SSL certificate validation (default: `yes`).
77+
- **oracle_java_version**: the Oracle JDK version to be installed (default: `10`).
78+
- **oracle_java_version_string**: the Java version string to verify installation against (default: `1.{{ oracle_java_version }}.0_u{{ oracle_java_version_update }}`).
7379

7480
## Playbooks
7581

76-
- hosts: servers
77-
roles:
78-
- role: ansiblebit.oracle-java,
79-
oracle_java_set_as_default: yes
82+
```yaml
83+
# generic
84+
- hosts: servers
85+
roles:
86+
- role: ansiblebit.oracle-java
87+
88+
# debian + debian/ubuntu | Java 10
89+
- hosts: servers
90+
roles:
91+
- role: ansiblebit.oracle-java
92+
93+
# debian + debian/ubuntu | Java 8
94+
- hosts: servers
95+
roles:
96+
- role: ansiblebit.oracle-java
97+
oracle_java_apt_repository: "ppa:webupd8team/java"
98+
99+
# debian | custom | Java 10
100+
- hosts: servers
101+
roles:
102+
- role: ansiblebit.oracle-java
103+
oracle_java_apt_repository: 'deb http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main'
104+
105+
# debian | custom | Java 8
106+
- hosts: servers
107+
roles:
108+
- role: ansiblebit.oracle-java
109+
oracle_java_apt_repository: 'deb http://ppa.launchpad.net/webupd8team/java/ubuntu bionic main'
110+
```
80111
81112
Use `--skip-tags=debug` if you want to suppress debug information.
113+
114+
## Test
115+
116+
```bash
117+
tox -e py27-ansible26 -- --box centos7-64.vagrant.dev
118+
119+
tox -e py27-ansible26 -- --box bionic64.vagrant.dev
120+
121+
# manual
122+
source .tox/py27-ansible26/bin/activate
123+
cd tests
124+
vagrant up bionic64.vagrant.dev
125+
126+
bash test_idempotence.sh \
127+
--box bionic64.vagrant.dev \
128+
--inventory .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
129+
130+
## look at idempotence test logs
131+
less log/bionic64.vagrant.dev_idempotence_py27-ansible26.log
132+
133+
## debug
134+
vagrant ssh bionic64.vagrant.dev
135+
136+
bash test_checkmode.sh \
137+
--box bionic64.vagrant.dev \
138+
--inventory .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
139+
140+
## look at checkmode test logs
141+
less log/bionic64.vagrant.dev_checkmode_py27-ansible26.log
142+
143+
vagrant destroy bionic64.vagrant.dev
144+
```
145+
146+
## Links
147+
148+
- [launchpad > WebUpd8 > Oracle Java (JDK) 8 / 9 Installer PPA](https://launchpad.net/~webupd8team/+archive/ubuntu/java)
149+
- [launchpad > Linux Uprising > Oracle Java](https://launchpad.net/~linuxuprising/+archive/ubuntu/java)

defaults/darwin-macosx.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66

77
oracle_java_dir_source: "{{ ansible_env.HOME }}/Downloads"
88
oracle_java_dmg_filename: ""
9-
oracle_java_dmg_url: "/{{ oracle_java_dmg_filename }}"
10-
119
oracle_java_os_supported: no
10+
11+
oracle_java_dmg_url: "/{{ oracle_java_dmg_filename }}"

defaults/debian-ubuntu.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
# file: oracle-java/defaults/debian-ubuntu.yml
3+
#
4+
# Default variables for Ubuntu Linux distributions.
5+
#
6+
7+
oracle_java_apt_repository: "ppa:linuxuprising/java"
8+
oracle_java_cache_valid_time: 3600
9+
oracle_java_deb_package: 'oracle-java10-installer'
10+
oracle_java_debconf_package_default: 'oracle-java10-set-default'
11+
oracle_java_home: "/usr/lib/jvm/java-10-oracle"
12+
oracle_java_os_supported: yes
13+
oracle_java_state: latest

defaults/debian.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
# Default variables for Debian-based Linux distributions.
55
#
66

7+
oracle_java_apt_repository: 'deb http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main'
8+
oracle_java_apt_repository_key: 'EA8CACC073C3DB2A'
79
oracle_java_cache_valid_time: 3600
8-
9-
oracle_java_home: "/usr/lib/jvm/java-{{ oracle_java_version }}-oracle"
10-
10+
oracle_java_deb_package: 'oracle-java10-installer'
11+
oracle_java_debconf_package_default: 'oracle-java10-set-default'
12+
oracle_java_home: "/usr/lib/jvm/java-10-oracle"
1113
oracle_java_os_supported: yes
12-
1314
oracle_java_state: latest

defaults/main.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,8 @@
44
# defaults file
55
#
66

7-
oracle_java_dir_source: '/usr/local/src'
7+
oracle_java_downloads:
8+
10.0.2:
9+
redhat: http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.rpm
810

911
oracle_java_set_as_default: yes
10-
11-
oracle_java_version: 8
12-
oracle_java_version_string: "1.{{ oracle_java_version }}.0_{{ oracle_java_version_update }}"
13-
oracle_java_ansible_arch_mappings:
14-
x86_64: x64
15-
i386: i586

defaults/redhat.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@
44
# Default variables for Redhat-based Linux distributions.
55
#
66

7-
oracle_java_home: "/usr/java/jdk-{{ oracle_java_version }}"
8-
7+
oracle_java_dir_source: '/usr/local/src'
8+
oracle_java_download_timeout: 60
9+
oracle_java_rpm_filename: 'jdk-10.0.2_linux-x64_bin.rpm'
10+
oracle_java_home: '/usr/java/default'
911
oracle_java_os_supported: yes
12+
oracle_java_rpm_url: 'http://download.oracle.com/otn-pub/java/jdk/10.0.2+13/19aef61b38124481863b1413dce1855f/jdk-10.0.2_linux-x64_bin.rpm'
1013
oracle_java_rpm_validate_certs: yes
11-
12-
oracle_java_download_timeout: 10
14+
oracle_java_version: 10
15+
oracle_java_version_string: 10.0.2

tasks/check_environment.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
oracle_java_installed={{ not oracle_java_task_installed.changed }}
2020

2121
- name: determine which Java version is installed
22-
shell: java -version
23-
when: oracle_java_installed
22+
shell: java -version 2>&1 | head -n 1 | awk '{ print $3 }' | awk -F '"' '{ print $2 }'
2423
register: oracle_java_task_version
24+
when: oracle_java_installed
2525
changed_when: False
2626

2727
- name: set fact oracle_java_installed_version
2828
set_fact:
29-
oracle_java_version_installed="{{ oracle_java_task_version.stderr.split('\n')[0]|regex_replace('.*\"(.*)\"','\\1') }}"
29+
oracle_java_version_installed="{{ oracle_java_task_version.stdout }}"
3030
when: oracle_java_task_version is defined and oracle_java_task_version.stdout is defined
3131
changed_when: False
3232

@@ -38,4 +38,3 @@
3838
- oracle_java_task_installed
3939
- oracle_java_task_version
4040
- oracle_java_version_installed
41-
- oracle_java_version_string

tasks/debian/main.yml

Lines changed: 0 additions & 57 deletions
This file was deleted.

tasks/debug.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
- oracle_java_home
1313
- oracle_java_installed
1414
- oracle_java_os_supported
15+
- oracle_java_apt_repository
16+
- oracle_java_apt_repository_key
1517
- oracle_java_set_as_default
1618
- oracle_java_state
17-
- oracle_java_version_build
19+
- oracle_java_version
1820
- oracle_java_version_installed
1921
- oracle_java_version_string

0 commit comments

Comments
 (0)