Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
*.retry
**/dependencies/*

# Created by https://www.gitignore.io

### Vagrant ###
Expand Down
25 changes: 19 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
language: python
python: 2.7
sudo: yes

cache: apt

before_install:
- sudo apt-get update
matrix:
include:
- python: 2.7
env: TOXENV=py27-ansible21
- python: 2.7
env: TOXENV=py27-ansible20
- python: 2.7
env: TOXENV=py27-ansible19

install:
- pip install tox

script:
- tox -e travis
- tox

notifications:
webhooks: https://galaxy.ansible.com/api/v1/notifications/

before_cache:
- rm -f ${HOME}/.cache/pip/log/debug.log

cache:
directories:
- ${HOME}/.cache/pip

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ DISCLAIMER: usage of any version of this role implies you have accepted the

| variable | default | description |
|:--------:|:-------:|:------------|
| debug | undefined | flag to make role more verbose. |
| oracle_java_set_as_default | no | make the newly installed Java the default runtime environment. |
| oracle_java_state | latest | the package state (see Ansible apt module for more information). |
| oracle_java_version | 8 | the Oracle JDK version to be installed. |
Expand Down
4 changes: 3 additions & 1 deletion meta/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#
# meta file
#

galaxy_info:
author: Pedro Salgado
description: Role to install Oracle Java.
Expand Down Expand Up @@ -35,6 +36,7 @@ galaxy_info:
- development
- java
- system

dependencies:
- role: ansiblebit.launchpad-ppa-webupd8
when: (ansible_distribution | lower == 'debian') or (ansible_distribution | lower == 'ubuntu')
when: ansible_distribution | lower == 'debian' or ansible_distribution | lower == 'ubuntu'
46 changes: 11 additions & 35 deletions tasks/check_environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,63 +6,39 @@
# - which Java version is installed?
#

# determine if Java is already installed

- name: register oracle_java_installed
shell: "which java"
- name: determine if Java is already installed
shell: which java
register: oracle_java_task_installed
ignore_errors: yes
changed_when: False
# oracle_java_installed.rc == 0 : installed
# oracle_java_installed.rc == 1 : not installed

- debug:
var=oracle_java_task_installed
when: oracle_java_task_installed is defined
tags:
- debug

- name: set fact oracle_java_installed
set_fact:
oracle_java_installed={{ oracle_java_task_installed.rc == 0 }}
when: oracle_java_task_installed is defined and oracle_java_task_installed.rc is defined
changed_when: False

- debug:
var=oracle_java_installed
when: oracle_java_installed is defined
tags:
- debug


# determine which Java version is installed

- name: if Java is installed, check version
- name: determine which Java version is installed
shell: java -version 2>&1 | head -n 1 | awk '{ print $3 }' | awk -F '"' '{ print $2 }'
when: oracle_java_installed is defined
register: oracle_java_task_version
changed_when: False

- debug:
var=oracle_java_task_version
when: oracle_java_task_version is defined
tags:
- debug

- name: set fact oracle_java_installed_version
set_fact:
oracle_java_version_installed={{ oracle_java_task_version.stdout }}
when: oracle_java_task_version is defined and oracle_java_task_version.stdout is defined
changed_when: False

- debug:
var=oracle_java_version_installed
when: oracle_java_version_installed is defined
tags:
- debug

- debug:
var=oracle_java_version_string
when: oracle_java_version_string is defined
tags:
- debug
var="{{ item }}"
when: "{{ item }} is defined and debug | default(false)"
with_items:
- oracle_java_installed
- oracle_java_task_installed
- oracle_java_task_version
- oracle_java_version_installed
- oracle_java_version_string
69 changes: 15 additions & 54 deletions tasks/debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,57 +4,18 @@
# Task that prints variable debug information.
#

- name: echo oracle_java_cache_valid_time
debug:
var=oracle_java_cache_valid_time
when: oracle_java_cache_valid_time is defined

- name: echo oracle_java_home
debug:
var=oracle_java_home
when: oracle_java_home is defined

- name: echo oracle_java_installed
debug:
var=oracle_java_installed
when: oracle_java_installed is defined

- name: echo oracle_java_os_supported
debug:
var=oracle_java_os_supported
when: oracle_java_os_supported is defined

- name: echo oracle_java_rpm_filename
debug:
var=oracle_java_rpm_filename
when: oracle_java_rpm_filename is defined

- name: echo oracle_java_set_as_default
debug:
var=oracle_java_set_as_default
when: oracle_java_set_as_default is defined

- name: echo oracle_java_rpm_url
debug:
var=oracle_java_rpm_url
when: oracle_java_rpm_url is defined

- name: echo oracle_java_state
debug:
var=oracle_java_state
when: oracle_java_state is defined

- name: echo oracle_java_version_build
debug:
var=oracle_java_version_build
when: oracle_java_version_build is defined

- name: echo oracle_java_version_installed
debug:
var=oracle_java_version_installed
when: oracle_java_version_installed is defined

- name: echo oracle_java_version_string
debug:
var=oracle_java_version_string
when: oracle_java_version_string is defined
- debug:
var="{{ item }}"
when: "{{ item }} is defined"
with_items:
- oracle_java_cache_valid_time
- oracle_java_home
- oracle_java_installed
- oracle_java_os_supported
- oracle_java_rpm_filename
- oracle_java_set_as_default
- oracle_java_rpm_url
- oracle_java_state
- oracle_java_version_build
- oracle_java_version_installed
- oracle_java_version_string
7 changes: 3 additions & 4 deletions tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@
- "../defaults/{{ ansible_distribution | lower }}.yml"
- "../defaults/{{ ansible_os_family | lower }}.yml"

- name: debug variables
include: debug.yml
tags:
- debug
- include: debug.yml
when: debug | default(false)
tags: debug

## include OS family specific task file

Expand Down
4 changes: 3 additions & 1 deletion tests/ansible.cfg
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
[defaults]
ansible_managed = Ansible managed file, do not edit directly
callback_plugins = plugins/callback

host_key_checking = False

private_key_file = ~/.vagrant.d/insecure_private_key

roles_path = ../../:../
roles_path = ../../:../:dependencies

Empty file added tests/dependencies/.gitkeep
Empty file.
1 change: 1 addition & 0 deletions tests/plugins/callback/idempotence.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,4 @@ def playbook_on_stats(self, stats):
def v2_playbook_on_stats(self, stats):
"""Verify that playbook ran without any changes or failures."""
self.playbook_on_stats(stats)

33 changes: 33 additions & 0 deletions tests/setup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/usr/bin/env bash
# #################
#
# Bash script to setup the test environment.
#
# version: 1.0
#
# usage:
#
# setup.sh
#
# example:
#
# bash setup.sh
#
# changelog:
#
# v1.0 : 10 June 2016
# - initial version
#
# author(s):
# - Pedro Salgado <steenzout@ymail.com>
#
# #################

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

test -s ${DIR}/../requirements.yml \
&& ansible-galaxy install \
--force \
-r ${DIR}/../requirements.yml \
--roles-path=${DIR}/dependencies \
|| true
21 changes: 11 additions & 10 deletions tests/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,18 @@
gather_facts: yes

vars:
debug: yes
test_java_version: 8
test_java_version_update: 74
test_java_version_build: 15
test_java_version_update: 91
test_java_version_build: 14

roles:
- { role: oracle-java,
oracle_java_version: "{{ test_java_version }}",
oracle_java_version_update: "{{ test_java_version_update }}",
oracle_java_version_build: "{{ test_java_version_build }}",
oracle_java_set_as_default: yes }
- role: oracle-java
oracle_java_version: "{{ test_java_version }}"
oracle_java_version_update: "{{ test_java_version_update }}"
oracle_java_version_build: "{{ test_java_version_build }}"
oracle_java_set_as_default: yes

- { role: tests,
expected_java_version: "1.{{ test_java_version }}.0_{{ test_java_version_update }}",
tags: test }
- role: tests
expected_java_version: "1.{{ test_java_version }}.0_{{ test_java_version_update }}"
tags: test
1 change: 1 addition & 0 deletions tests/test_checkmode.sh
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,4 @@ ansible-playbook -vvvv --check --diff -i ${INVENTORY} --limit ${BOX}, ${EXTRA_AR
cat ${LOGFILE} &&
echo -ne "[TEST] ${BOX} ${VIRTUALENV_NAME} checkmode : ${RED}FAILED${NC} ${PASS_CRITERIA}\n" && \
exit 1)

1 change: 1 addition & 0 deletions tests/test_idempotence.sh
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,4 @@ IDEMPOTENCE='yes' \
cat ${LOGFILE} &&
echo -ne "[TEST] ${BOX} ${VIRTUALENV_NAME} idempotence : ${RED}FAILED${NC} ${PASS_CRITERIA}\n" && \
exit 1)

41 changes: 41 additions & 0 deletions tests/travis.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/usr/bin/env bash
# #################
#
# Bash script to run tests in the travis-ci environment.
#
# version: 1.0
#
# usage:
#
# travis.sh
#
# example:
#
# bash travis.sh
#
# changelog:
#
# v1.0 : 10 June 2016
# - initial version
#
# author(s):
# - Pedro Salgado <steenzout@ymail.com>
#
# #################

test $USER != 'travis' && exit 0

set -e

ansible-playbook \
-i localhost, \
--connection=local test.yml \
-e vagrant_box=localhost \
-e env=travis \
--skip-tags=test \
$@ \
&& bash test_checkmode.sh \
--env travis \
&& bash test_idempotence.sh \
--env travis

Loading