Skip to content
This repository has been archived by the owner on Dec 22, 2023. It is now read-only.

Commit

Permalink
Ansible Fest 2018 fixed.
Browse files Browse the repository at this point in the history
  • Loading branch information
robertdebock committed Oct 6, 2018
1 parent 69e9228 commit a0813ae
Show file tree
Hide file tree
Showing 24 changed files with 241 additions and 6 deletions.
52 changes: 51 additions & 1 deletion .travis.yml
Expand Up @@ -7,70 +7,120 @@ env:
- version=">=2.4,<2.5" distro="alpine-latest"
- version=">=2.5,<2.6" distro="alpine-latest"
- version=">=2.6,<2.7" distro="alpine-latest"
- version=">=2.7,<2.8" distro="alpine-latest"
- version="devel" distro="alpine-latest"
- version=">=2.4,<2.5" distro="alpine-edge"
- version=">=2.5,<2.6" distro="alpine-edge"
- version=">=2.6,<2.7" distro="alpine-edge"
- version=">=2.7,<2.8" distro="alpine-edge"
- version="devel" distro="alpine-edge"
- version=">=2.4,<2.5" distro="archlinux"
- version=">=2.5,<2.6" distro="archlinux"
- version=">=2.6,<2.7" distro="archlinux"
- version=">=2.7,<2.8" distro="archlinux"
- version="devel" distro="archlinux"
- version=">=2.4,<2.5" distro="centos-6"
- version=">=2.5,<2.6" distro="centos-6"
- version=">=2.6,<2.7" distro="centos-6"
- version=">=2.7,<2.8" distro="centos-6"
- version="devel" distro="centos-6"
- version=">=2.4,<2.5" distro="centos-latest"
- version=">=2.5,<2.6" distro="centos-latest"
- version=">=2.6,<2.7" distro="centos-latest"
- version=">=2.7,<2.8" distro="centos-latest"
- version="devel" distro="centos-latest"
- version=">=2.4,<2.5" distro="debian-latest"
- version=">=2.5,<2.6" distro="debian-latest"
- version=">=2.6,<2.7" distro="debian-latest"
- version=">=2.7,<2.8" distro="debian-latest"
- version="devel" distro="debian-latest"
- version=">=2.4,<2.5" distro="debian-stable"
- version=">=2.5,<2.6" distro="debian-stable"
- version=">=2.6,<2.7" distro="debian-stable"
- version=">=2.7,<2.8" distro="debian-stable"
- version="devel" distro="debian-stable"
- version=">=2.4,<2.5" distro="debian-unstable"
- version=">=2.5,<2.6" distro="debian-unstable"
- version=">=2.6,<2.7" distro="debian-unstable"
- version=">=2.7,<2.8" distro="debian-unstable"
- version="devel" distro="debian-unstable"
- version=">=2.4,<2.5" distro="fedora-latest"
- version=">=2.5,<2.6" distro="fedora-latest"
- version=">=2.6,<2.7" distro="fedora-latest"
- version=">=2.7,<2.8" distro="fedora-latest"
- version="devel" distro="fedora-latest"
- version=">=2.4,<2.5" distro="fedora-rawhide"
- version=">=2.5,<2.6" distro="fedora-rawhide"
- version=">=2.6,<2.7" distro="fedora-rawhide"
- version=">=2.7,<2.8" distro="fedora-rawhide"
- version="devel" distro="fedora-rawhide"
- version=">=2.4,<2.5" distro="opensuse-leap"
- version=">=2.5,<2.6" distro="opensuse-leap"
- version=">=2.6,<2.7" distro="opensuse-leap"
- version=">=2.7,<2.8" distro="opensuse-leap"
- version="devel" distro="opensuse-leap"
- version=">=2.4,<2.5" distro="opensuse-tumbleweed"
- version=">=2.5,<2.6" distro="opensuse-tumbleweed"
- version=">=2.6,<2.7" distro="opensuse-tumbleweed"
- version=">=2.7,<2.8" distro="opensuse-tumbleweed"
- version="devel" distro="opensuse-tumbleweed"
- version=">=2.4,<2.5" distro="ubuntu-artful"
- version=">=2.5,<2.6" distro="ubuntu-artful"
- version=">=2.6,<2.7" distro="ubuntu-artful"
- version=">=2.7,<2.8" distro="ubuntu-artful"
- version="devel" distro="ubuntu-artful"
- version=">=2.4,<2.5" distro="ubuntu-latest"
- version=">=2.5,<2.6" distro="ubuntu-latest"
- version=">=2.6,<2.7" distro="ubuntu-latest"
- version=">=2.7,<2.8" distro="ubuntu-latest"
- version="devel" distro="ubuntu-latest"
- version=">=2.4,<2.5" distro="ubuntu-devel"
- version=">=2.5,<2.6" distro="ubuntu-devel"
- version=">=2.6,<2.7" distro="ubuntu-devel"
- version=">=2.7,<2.8" distro="ubuntu-devel"
- version="devel" distro="ubuntu-devel"

matrix:
allow_failures:
- env: version=">=2.4,<2.5" distro="alpine-edge"
- env: version=">=2.5,<2.6" distro="alpine-edge"
- env: version=">=2.6,<2.7" distro="alpine-edge"
- env: version=">=2.7,<2.8" distro="alpine-edge"
- env: version="devel" distro="alpine-edge"
- env: version="devel" distro="alpine-latest"
- env: version="devel" distro="archlinux"
- env: version="devel" distro="centos-6"
- env: version="devel" distro="centos-latest"
- env: version="devel" distro="debian-latest"
- env: version="devel" distro="debian-stable"
- env: version=">=2.4,<2.5" distro="debian-unstable"
- env: version=">=2.5,<2.6" distro="debian-unstable"
- env: version=">=2.6,<2.7" distro="debian-unstable"
- env: version=">=2.7,<2.8" distro="debian-unstable"
- env: version="devel" distro="debian-unstable"
- env: version="devel" distro="fedora-latest"
- env: version=">=2.4,<2.5" distro="fedora-rawhide"
- env: version=">=2.5,<2.6" distro="fedora-rawhide"
- env: version=">=2.6,<2.7" distro="fedora-rawhide"
- env: version=">=2.7,<2.8" distro="fedora-rawhide"
- env: version="devel" distro="fedora-rawhide"
- env: version="devel" distro="opensuse-leap"
- env: version="devel" distro="opensuse-tumbleweed"
- env: version="devel" distro="ubuntu-artful"
- env: version=">=2.4,<2.5" distro="ubuntu-devel"
- env: version=">=2.5,<2.6" distro="ubuntu-devel"
- env: version=">=2.6,<2.7" distro="ubuntu-devel"
- env: version=">=2.7,<2.8" distro="ubuntu-devel"
- env: version="devel" distro="ubuntu-devel"
- env: version="devel" distro="ubuntu-latest"

cache:
- pip

install:
- pip install --upgrade pip
- pip install ansible"${version}"
- if [ "${version}" != "devel" ] ; then pip install ansible"${version}" ; fi
- if [ "${version}" = "devel" ] ; then pip install git+https://github.com/ansible/ansible.git@devel ; fi
- pip install molecule
- pip install docker

Expand Down
11 changes: 11 additions & 0 deletions README.md
Expand Up @@ -5,6 +5,17 @@ gotop

Installs and enables gotop for your system.

[Unit tests](https://travis-ci.org/robertdebock/ansible-role-gotop) are done on every commit and periodically.

If you find issues, please register them in [GitHub](https://github.com/robertdebock/ansible-role-gotop/issues)

To test this role locally please use [Molecule](https://github.com/metacloud/molecule):
```
pip install molecule
molecule test --scenario-name fedora-latest
```
There are many scenarios available, please have a look in the `molecule/` directory.

Context
-------
This role is a part of many compatible roles. Have a look at [the documentation of these roles](https://robertdebock.nl/) for further information.
Expand Down
1 change: 0 additions & 1 deletion meta/main.yml
Expand Up @@ -5,7 +5,6 @@ galaxy_info:
description: Provides gotop for your system.
license: Apache License, Version 2.0
min_ansible_version: 2.4
min_ansible_container_version: 0.2.0

platforms:
- name: Alpine
Expand Down
2 changes: 0 additions & 2 deletions molecule/alpine-edge/Dockerfile.j2
Expand Up @@ -5,5 +5,3 @@ FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}

RUN apk add --no-cache bash
1 change: 1 addition & 0 deletions molecule/alpine-edge/molecule.yml
Expand Up @@ -10,6 +10,7 @@ lint:
platforms:
- name: at-alpine-edge
image: alpine:edge
command: sh -c "while true ; do sleep 1 ; done"
provisioner:
name: ansible
lint:
Expand Down
2 changes: 0 additions & 2 deletions molecule/alpine-latest/Dockerfile.j2
Expand Up @@ -5,5 +5,3 @@ FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}

RUN apk add --no-cache bash
1 change: 1 addition & 0 deletions molecule/alpine-latest/molecule.yml
Expand Up @@ -10,6 +10,7 @@ lint:
platforms:
- name: gotop-alpine-latest
image: alpine:latest
command: sh -c "while true ; do sleep 1 ; done"
provisioner:
name: ansible
lint:
Expand Down
4 changes: 4 additions & 0 deletions molecule/archlinux/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/centos-6/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/centos-latest/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/debian-latest/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/debian-stable/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/debian-unstable/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
7 changes: 7 additions & 0 deletions molecule/default/Dockerfile.j2
@@ -0,0 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
50 changes: 50 additions & 0 deletions molecule/default/molecule.yml
@@ -0,0 +1,50 @@
---
dependency:
name: galaxy
options:
role-file: requirements.yml
driver:
name: docker
lint:
name: yamllint
platforms:
- name: gotop-alpine-edge
image: alpine:edge
command: sh -c "while true ; do sleep 1 ; done"
- name: gotop-alpine-latest
image: alpine:latest
command: sh -c "while true ; do sleep 1 ; done"
- name: gotop-archlinux
image: base/archlinux
- name: gotop-centos-6
image: centos:6
- name: gotop-centos-latest
image: centos:latest
- name: gotop-debian-latest
image: debian:latest
- name: gotop-debian-stable
image: debian:stable
- name: gotop-debian-unstable
image: debian:unstable
- name: gotop-fedora-latest
image: fedora:latest
- name: gotop-fedora-rawhide
image: fedora:rawhide
- name: gotop-opensuse-leap
image: opensuse:leap
- name: gotop-opensuse-tumbleweed
image: opensuse:tumbleweed
- name: gotop-ubuntu-artful
image: ubuntu:artful
- name: gotop-ubuntu-devel
image: ubuntu:devel
provisioner:
name: ansible
lint:
name: ansible-lint
scenario:
name: default
verifier:
name: goss
lint:
name: yamllint
12 changes: 12 additions & 0 deletions molecule/default/playbook.yml
@@ -0,0 +1,12 @@
---
- name: Converge
hosts: all
gather_facts: false
become: true

roles:
- role: ansible-role-bootstrap

tasks:
- name: test connection
ping:
7 changes: 7 additions & 0 deletions molecule/default/tests/test_default.yml
@@ -0,0 +1,7 @@
# Molecule managed
---
file:
/usr/bin/python:
exists: true
owner: root
group: root
53 changes: 53 additions & 0 deletions molecule/default/verify.yml
@@ -0,0 +1,53 @@
---
# This is an example playbook to execute goss tests.
# Tests need distributed to the appropriate ansible host/groups
# prior to execution by `goss validate`.

- name: Verify
hosts: all
become: true
vars:
goss_version: v0.3.2
goss_arch: amd64
goss_dst: /usr/local/bin/goss
goss_sha256sum: 2f6727375db2ea0f81bee36e2c5be78ab5ab8d5981f632f761b25e4003e190ec
goss_url: "https://github.com/aelsabbahy/goss/releases/download/{{ goss_version }}/goss-linux-{{ goss_arch }}"
goss_test_directory: /tmp
goss_format: documentation
tasks:
- name: Download and install Goss
get_url:
url: "{{ goss_url }}"
dest: "{{ goss_dst }}"
sha256sum: "{{ goss_sha256sum }}"
mode: 0755
register: download_goss
until: download_goss is succeeded
retries: 3

- name: Copy Goss tests to remote
copy:
src: "{{ item }}"
dest: "{{ goss_test_directory }}/{{ item | basename }}"
with_fileglob:
- "{{ lookup('env', 'MOLECULE_VERIFIER_TEST_DIRECTORY') }}/test_*.yml"

- name: Register test files
shell: "ls {{ goss_test_directory }}/test_*.yml"
register: test_files

- name: Execute Goss tests
command: "{{ goss_dst }} -g {{ item }} validate --format {{ goss_format }}"
register: test_results
with_items: "{{ test_files.stdout_lines }}"

- name: Display details about the Goss results
debug:
msg: "{{ item.stdout_lines }}"
with_items: "{{ test_results.results }}"

- name: Fail when tests fail
fail:
msg: "Goss failed to validate"
when: item.rc != 0
with_items: "{{ test_results.results }}"
4 changes: 4 additions & 0 deletions molecule/fedora-latest/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/opensuse-leap/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/opensuse-tumbleweed/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/ubuntu-artful/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}
4 changes: 4 additions & 0 deletions molecule/ubuntu-devel/Dockerfile.j2
@@ -1,3 +1,7 @@
# Molecule managed

{% if item.registry is defined %}
FROM {{ item.registry.url }}/{{ item.image }}
{% else %}
FROM {{ item.image }}
{% endif %}

0 comments on commit a0813ae

Please sign in to comment.