Skip to content

Commit ea1d047

Browse files
authored
Merge pull request #25 from ansiblebit/issue24
Issue24
2 parents 5e40bc9 + 3347189 commit ea1d047

16 files changed

+154
-131
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
*.retry
2+
**/dependencies/*
3+
14
# Created by https://www.gitignore.io
25

36
### Vagrant ###

.travis.yml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,28 @@
11
language: python
2-
python: 2.7
32
sudo: yes
43

5-
cache: apt
6-
7-
before_install:
8-
- sudo apt-get update
4+
matrix:
5+
include:
6+
- python: 2.7
7+
env: TOXENV=py27-ansible21
8+
- python: 2.7
9+
env: TOXENV=py27-ansible20
10+
- python: 2.7
11+
env: TOXENV=py27-ansible19
912

1013
install:
1114
- pip install tox
1215

1316
script:
14-
- tox -e travis
17+
- tox
18+
19+
notifications:
20+
webhooks: https://galaxy.ansible.com/api/v1/notifications/
21+
22+
before_cache:
23+
- rm -f ${HOME}/.cache/pip/log/debug.log
24+
25+
cache:
26+
directories:
27+
- ${HOME}/.cache/pip
1528

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ DISCLAIMER: usage of any version of this role implies you have accepted the
4343

4444
| variable | default | description |
4545
|:--------:|:-------:|:------------|
46+
| debug | undefined | flag to make role more verbose. |
4647
| oracle_java_set_as_default | no | make the newly installed Java the default runtime environment. |
4748
| oracle_java_state | latest | the package state (see Ansible apt module for more information). |
4849
| oracle_java_version | 8 | the Oracle JDK version to be installed. |

meta/main.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#
44
# meta file
55
#
6+
67
galaxy_info:
78
author: Pedro Salgado
89
description: Role to install Oracle Java.
@@ -35,6 +36,7 @@ galaxy_info:
3536
- development
3637
- java
3738
- system
39+
3840
dependencies:
3941
- role: ansiblebit.launchpad-ppa-webupd8
40-
when: (ansible_distribution | lower == 'debian') or (ansible_distribution | lower == 'ubuntu')
42+
when: ansible_distribution | lower == 'debian' or ansible_distribution | lower == 'ubuntu'

tasks/check_environment.yml

Lines changed: 11 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -6,63 +6,39 @@
66
# - which Java version is installed?
77
#
88

9-
# determine if Java is already installed
10-
11-
- name: register oracle_java_installed
12-
shell: "which java"
9+
- name: determine if Java is already installed
10+
shell: which java
1311
register: oracle_java_task_installed
1412
ignore_errors: yes
1513
changed_when: False
1614
# oracle_java_installed.rc == 0 : installed
1715
# oracle_java_installed.rc == 1 : not installed
1816

19-
- debug:
20-
var=oracle_java_task_installed
21-
when: oracle_java_task_installed is defined
22-
tags:
23-
- debug
2417

2518
- name: set fact oracle_java_installed
2619
set_fact:
2720
oracle_java_installed={{ oracle_java_task_installed.rc == 0 }}
2821
when: oracle_java_task_installed is defined and oracle_java_task_installed.rc is defined
2922
changed_when: False
3023

31-
- debug:
32-
var=oracle_java_installed
33-
when: oracle_java_installed is defined
34-
tags:
35-
- debug
36-
37-
38-
# determine which Java version is installed
39-
40-
- name: if Java is installed, check version
24+
- name: determine which Java version is installed
4125
shell: java -version 2>&1 | head -n 1 | awk '{ print $3 }' | awk -F '"' '{ print $2 }'
4226
when: oracle_java_installed is defined
4327
register: oracle_java_task_version
4428
changed_when: False
4529

46-
- debug:
47-
var=oracle_java_task_version
48-
when: oracle_java_task_version is defined
49-
tags:
50-
- debug
51-
5230
- name: set fact oracle_java_installed_version
5331
set_fact:
5432
oracle_java_version_installed={{ oracle_java_task_version.stdout }}
5533
when: oracle_java_task_version is defined and oracle_java_task_version.stdout is defined
5634
changed_when: False
5735

5836
- debug:
59-
var=oracle_java_version_installed
60-
when: oracle_java_version_installed is defined
61-
tags:
62-
- debug
63-
64-
- debug:
65-
var=oracle_java_version_string
66-
when: oracle_java_version_string is defined
67-
tags:
68-
- debug
37+
var="{{ item }}"
38+
when: "{{ item }} is defined and debug | default(false)"
39+
with_items:
40+
- oracle_java_installed
41+
- oracle_java_task_installed
42+
- oracle_java_task_version
43+
- oracle_java_version_installed
44+
- oracle_java_version_string

tasks/debug.yml

Lines changed: 15 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -4,57 +4,18 @@
44
# Task that prints variable debug information.
55
#
66

7-
- name: echo oracle_java_cache_valid_time
8-
debug:
9-
var=oracle_java_cache_valid_time
10-
when: oracle_java_cache_valid_time is defined
11-
12-
- name: echo oracle_java_home
13-
debug:
14-
var=oracle_java_home
15-
when: oracle_java_home is defined
16-
17-
- name: echo oracle_java_installed
18-
debug:
19-
var=oracle_java_installed
20-
when: oracle_java_installed is defined
21-
22-
- name: echo oracle_java_os_supported
23-
debug:
24-
var=oracle_java_os_supported
25-
when: oracle_java_os_supported is defined
26-
27-
- name: echo oracle_java_rpm_filename
28-
debug:
29-
var=oracle_java_rpm_filename
30-
when: oracle_java_rpm_filename is defined
31-
32-
- name: echo oracle_java_set_as_default
33-
debug:
34-
var=oracle_java_set_as_default
35-
when: oracle_java_set_as_default is defined
36-
37-
- name: echo oracle_java_rpm_url
38-
debug:
39-
var=oracle_java_rpm_url
40-
when: oracle_java_rpm_url is defined
41-
42-
- name: echo oracle_java_state
43-
debug:
44-
var=oracle_java_state
45-
when: oracle_java_state is defined
46-
47-
- name: echo oracle_java_version_build
48-
debug:
49-
var=oracle_java_version_build
50-
when: oracle_java_version_build is defined
51-
52-
- name: echo oracle_java_version_installed
53-
debug:
54-
var=oracle_java_version_installed
55-
when: oracle_java_version_installed is defined
56-
57-
- name: echo oracle_java_version_string
58-
debug:
59-
var=oracle_java_version_string
60-
when: oracle_java_version_string is defined
7+
- debug:
8+
var="{{ item }}"
9+
when: "{{ item }} is defined"
10+
with_items:
11+
- oracle_java_cache_valid_time
12+
- oracle_java_home
13+
- oracle_java_installed
14+
- oracle_java_os_supported
15+
- oracle_java_rpm_filename
16+
- oracle_java_set_as_default
17+
- oracle_java_rpm_url
18+
- oracle_java_state
19+
- oracle_java_version_build
20+
- oracle_java_version_installed
21+
- oracle_java_version_string

tasks/main.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,9 @@
1616
- "../defaults/{{ ansible_distribution | lower }}.yml"
1717
- "../defaults/{{ ansible_os_family | lower }}.yml"
1818

19-
- name: debug variables
20-
include: debug.yml
21-
tags:
22-
- debug
19+
- include: debug.yml
20+
when: debug | default(false)
21+
tags: debug
2322

2423
## include OS family specific task file
2524

tests/ansible.cfg

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
[defaults]
2+
ansible_managed = Ansible managed file, do not edit directly
23
callback_plugins = plugins/callback
34

45
host_key_checking = False
56

67
private_key_file = ~/.vagrant.d/insecure_private_key
78

8-
roles_path = ../../:../
9+
roles_path = ../../:../:dependencies
10+

tests/dependencies/.gitkeep

Whitespace-only changes.

tests/plugins/callback/idempotence.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,4 @@ def playbook_on_stats(self, stats):
4747
def v2_playbook_on_stats(self, stats):
4848
"""Verify that playbook ran without any changes or failures."""
4949
self.playbook_on_stats(stats)
50+

tests/setup.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#!/usr/bin/env bash
2+
# #################
3+
#
4+
# Bash script to setup the test environment.
5+
#
6+
# version: 1.0
7+
#
8+
# usage:
9+
#
10+
# setup.sh
11+
#
12+
# example:
13+
#
14+
# bash setup.sh
15+
#
16+
# changelog:
17+
#
18+
# v1.0 : 10 June 2016
19+
# - initial version
20+
#
21+
# author(s):
22+
# - Pedro Salgado <steenzout@ymail.com>
23+
#
24+
# #################
25+
26+
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
27+
28+
test -s ${DIR}/../requirements.yml \
29+
&& ansible-galaxy install \
30+
--force \
31+
-r ${DIR}/../requirements.yml \
32+
--roles-path=${DIR}/dependencies \
33+
|| true

tests/test.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,18 @@
66
gather_facts: yes
77

88
vars:
9+
debug: yes
910
test_java_version: 8
10-
test_java_version_update: 74
11-
test_java_version_build: 15
11+
test_java_version_update: 91
12+
test_java_version_build: 14
1213

1314
roles:
14-
- { role: oracle-java,
15-
oracle_java_version: "{{ test_java_version }}",
16-
oracle_java_version_update: "{{ test_java_version_update }}",
17-
oracle_java_version_build: "{{ test_java_version_build }}",
18-
oracle_java_set_as_default: yes }
15+
- role: oracle-java
16+
oracle_java_version: "{{ test_java_version }}"
17+
oracle_java_version_update: "{{ test_java_version_update }}"
18+
oracle_java_version_build: "{{ test_java_version_build }}"
19+
oracle_java_set_as_default: yes
1920

20-
- { role: tests,
21-
expected_java_version: "1.{{ test_java_version }}.0_{{ test_java_version_update }}",
22-
tags: test }
21+
- role: tests
22+
expected_java_version: "1.{{ test_java_version }}.0_{{ test_java_version_update }}"
23+
tags: test

tests/test_checkmode.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,4 @@ ansible-playbook -vvvv --check --diff -i ${INVENTORY} --limit ${BOX}, ${EXTRA_AR
115115
cat ${LOGFILE} &&
116116
echo -ne "[TEST] ${BOX} ${VIRTUALENV_NAME} checkmode : ${RED}FAILED${NC} ${PASS_CRITERIA}\n" && \
117117
exit 1)
118+

tests/test_idempotence.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,4 @@ IDEMPOTENCE='yes' \
116116
cat ${LOGFILE} &&
117117
echo -ne "[TEST] ${BOX} ${VIRTUALENV_NAME} idempotence : ${RED}FAILED${NC} ${PASS_CRITERIA}\n" && \
118118
exit 1)
119+

tests/travis.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/env bash
2+
# #################
3+
#
4+
# Bash script to run tests in the travis-ci environment.
5+
#
6+
# version: 1.0
7+
#
8+
# usage:
9+
#
10+
# travis.sh
11+
#
12+
# example:
13+
#
14+
# bash travis.sh
15+
#
16+
# changelog:
17+
#
18+
# v1.0 : 10 June 2016
19+
# - initial version
20+
#
21+
# author(s):
22+
# - Pedro Salgado <steenzout@ymail.com>
23+
#
24+
# #################
25+
26+
test $USER != 'travis' && exit 0
27+
28+
set -e
29+
30+
ansible-playbook \
31+
-i localhost, \
32+
--connection=local test.yml \
33+
-e vagrant_box=localhost \
34+
-e env=travis \
35+
--skip-tags=test \
36+
$@ \
37+
&& bash test_checkmode.sh \
38+
--env travis \
39+
&& bash test_idempotence.sh \
40+
--env travis
41+

0 commit comments

Comments
 (0)