diff --git a/.github/workflows/molecule.yml b/.github/workflows/molecule.yml index 78ab8b1..e99a897 100644 --- a/.github/workflows/molecule.yml +++ b/.github/workflows/molecule.yml @@ -19,17 +19,9 @@ jobs: matrix: scenario: - default - - default_alpine - - default_centos - module - - module_alpine - - module_centos - plus - - plus_alpine - - plus_centos - source - - source_alpine - - source_centos steps: - name: Check out the codebase if: "!(contains(matrix.scenario, 'plus') && github.event.pull_request.head.repo.full_name != github.repository)" diff --git a/.github/workflows/requirements/requirements_molecule.txt b/.github/workflows/requirements/requirements_molecule.txt index 0984b5d..7763222 100644 --- a/.github/workflows/requirements/requirements_molecule.txt +++ b/.github/workflows/requirements/requirements_molecule.txt @@ -1,5 +1,5 @@ ansible-base==2.10.7 -ansible-lint==4.3.7 +ansible-lint==5.0.4 yamllint==1.26.0 molecule[docker]==3.2.4 docker==4.4.4 diff --git a/CHANGELOG.md b/CHANGELOG.md index 08e786d..bec5c3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,8 @@ ENHANCEMENTS: * Specify GitHub actions Ubuntu release. * Minor GitHub template tweaks, including the creation of a SECURITY doc. * Update list of supported platforms. -* Update Ansible base to `2.10.7`, Molecule to `3.2.4`, yamllint to `1.26.0` and Docker Python SDK to `4.4.4`. +* Update Ansible base to `2.10.7`, Ansible Lint to `5.0.4`, Molecule to `3.2.4`, yamllint to `1.26.0` and Docker Python SDK to `4.4.4`. +* Consolidate Molecule testing scenarios to address changes introduced in Ansible Lint `5.*`. * Override of systemd `Restart` value by using proper `nginx_service_restart` variable. BUG FIXES: diff --git a/meta/main.yml b/meta/main.yml index 82a5fc7..c2f7bbe 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -3,6 +3,7 @@ galaxy_info: author: Alessandro Fael Garcia description: Official Ansible role for NGINX role_name: nginx + namespace: nginxinc # Ansible Lint requirement company: F5 Networks, Inc. license: Apache License, Version 2.0 diff --git a/molecule/common/playbooks/default_converge.yml b/molecule/default/converge.yml similarity index 100% rename from molecule/common/playbooks/default_converge.yml rename to molecule/default/converge.yml diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index ad780a3..6c0c314 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -6,6 +6,41 @@ lint: | yamllint . ansible-lint --force-color platforms: + - name: alpine-3.10 + image: alpine:3.10 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: alpine-3.11 + image: alpine:3.11 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: alpine-3.12 + image: alpine:3.12 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: centos-7 + image: centos:7 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/usr/sbin/init" + - name: centos-8 + image: centos:8 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/usr/sbin/init" - name: debian-stretch image: debian:stretch-slim dockerfile: ../common/Dockerfile.j2 @@ -44,5 +79,5 @@ platforms: provisioner: name: ansible playbooks: - converge: ../common/playbooks/default_converge.yml - verify: ../common/playbooks/default_verify.yml + converge: converge.yml + verify: verify.yml diff --git a/molecule/common/playbooks/default_verify.yml b/molecule/default/verify.yml similarity index 100% rename from molecule/common/playbooks/default_verify.yml rename to molecule/default/verify.yml diff --git a/molecule/default_alpine/molecule.yml b/molecule/default_alpine/molecule.yml deleted file mode 100644 index 84342fb..0000000 --- a/molecule/default_alpine/molecule.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint --force-color -platforms: - - name: alpine-3.10 - image: alpine:3.10 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" - - name: alpine-3.11 - image: alpine:3.11 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" - - name: alpine-3.12 - image: alpine:3.12 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" -provisioner: - name: ansible - playbooks: - converge: ../common/playbooks/default_converge.yml - verify: ../common/playbooks/default_verify.yml diff --git a/molecule/default_centos/molecule.yml b/molecule/default_centos/molecule.yml deleted file mode 100644 index 7ae1cde..0000000 --- a/molecule/default_centos/molecule.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint --force-color -platforms: - - name: centos-7 - image: centos:7 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/usr/sbin/init" - - name: centos-8 - image: centos:8 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/usr/sbin/init" -provisioner: - name: ansible - playbooks: - converge: ../common/playbooks/default_converge.yml - verify: ../common/playbooks/default_verify.yml diff --git a/molecule/common/playbooks/module_converge.yml b/molecule/module/converge.yml similarity index 100% rename from molecule/common/playbooks/module_converge.yml rename to molecule/module/converge.yml diff --git a/molecule/module/molecule.yml b/molecule/module/molecule.yml index d1f3cba..6c0c314 100644 --- a/molecule/module/molecule.yml +++ b/molecule/module/molecule.yml @@ -6,6 +6,41 @@ lint: | yamllint . ansible-lint --force-color platforms: + - name: alpine-3.10 + image: alpine:3.10 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: alpine-3.11 + image: alpine:3.11 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: alpine-3.12 + image: alpine:3.12 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: centos-7 + image: centos:7 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/usr/sbin/init" + - name: centos-8 + image: centos:8 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/usr/sbin/init" - name: debian-stretch image: debian:stretch-slim dockerfile: ../common/Dockerfile.j2 @@ -44,5 +79,5 @@ platforms: provisioner: name: ansible playbooks: - converge: ../common/playbooks/module_converge.yml - verify: ../common/playbooks/module_verify.yml + converge: converge.yml + verify: verify.yml diff --git a/molecule/common/playbooks/module_verify.yml b/molecule/module/verify.yml similarity index 100% rename from molecule/common/playbooks/module_verify.yml rename to molecule/module/verify.yml diff --git a/molecule/module_alpine/molecule.yml b/molecule/module_alpine/molecule.yml deleted file mode 100644 index 06140c8..0000000 --- a/molecule/module_alpine/molecule.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint --force-color -platforms: - - name: alpine-3.10 - image: alpine:3.10 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" - - name: alpine-3.11 - image: alpine:3.11 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" - - name: alpine-3.12 - image: alpine:3.12 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" -provisioner: - name: ansible - playbooks: - converge: ../common/playbooks/module_converge.yml - verify: ../common/playbooks/module_verify.yml diff --git a/molecule/module_centos/molecule.yml b/molecule/module_centos/molecule.yml deleted file mode 100644 index aaac71a..0000000 --- a/molecule/module_centos/molecule.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint --force-color -platforms: - - name: centos-7 - image: centos:7 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/usr/sbin/init" - - name: centos-8 - image: centos:8 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/usr/sbin/init" -provisioner: - name: ansible - playbooks: - converge: ../common/playbooks/module_converge.yml - verify: ../common/playbooks/module_verify.yml diff --git a/molecule/common/playbooks/plus_converge.yml b/molecule/plus/converge.yml similarity index 100% rename from molecule/common/playbooks/plus_converge.yml rename to molecule/plus/converge.yml diff --git a/molecule/plus/molecule.yml b/molecule/plus/molecule.yml index 6f3dbd5..4438875 100644 --- a/molecule/plus/molecule.yml +++ b/molecule/plus/molecule.yml @@ -6,6 +6,41 @@ lint: | yamllint . ansible-lint --force-color platforms: + - name: alpine-3.10 + image: python:alpine3.10 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: alpine-3.11 + image: python:alpine3.11 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: alpine-3.12 + image: alpine:3.12 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: centos-7 + image: centos:7 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/usr/sbin/init" + - name: centos-8 + image: centos:8 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/usr/sbin/init" - name: debian-stretch image: debian:stretch-slim dockerfile: ../common/Dockerfile.j2 @@ -44,6 +79,6 @@ platforms: provisioner: name: ansible playbooks: - prepare: ../common/playbooks/plus_prepare.yml - converge: ../common/playbooks/plus_converge.yml - verify: ../common/playbooks/plus_verify.yml + prepare: prepare.yml + converge: converge.yml + verify: verify.yml diff --git a/molecule/common/playbooks/plus_prepare.yml b/molecule/plus/prepare.yml similarity index 81% rename from molecule/common/playbooks/plus_prepare.yml rename to molecule/plus/prepare.yml index 594d5ee..053a98c 100644 --- a/molecule/common/playbooks/plus_prepare.yml +++ b/molecule/plus/prepare.yml @@ -6,13 +6,13 @@ - name: Create ephemeral license certificate file from b64 decoded env var copy: content: "{{ lookup('env','NGINX_CRT') | b64decode }}" - dest: ../../../files/license/nginx-repo.crt + dest: ../../files/license/nginx-repo.crt force: no mode: 0444 - name: Create ephemeral license key file from b64 decoded env var copy: content: "{{ lookup('env','NGINX_KEY') | b64decode }}" - dest: ../../../files/license/nginx-repo.key + dest: ../../files/license/nginx-repo.key force: no mode: 0444 diff --git a/molecule/common/playbooks/plus_verify.yml b/molecule/plus/verify.yml similarity index 100% rename from molecule/common/playbooks/plus_verify.yml rename to molecule/plus/verify.yml diff --git a/molecule/plus_alpine/molecule.yml b/molecule/plus_alpine/molecule.yml deleted file mode 100644 index 92956e1..0000000 --- a/molecule/plus_alpine/molecule.yml +++ /dev/null @@ -1,35 +0,0 @@ ---- -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint --force-color -platforms: - - name: alpine-3.10 - image: python:alpine3.10 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" - - name: alpine-3.11 - image: python:alpine3.11 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" - - name: alpine-3.12 - image: alpine:3.12 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" -provisioner: - name: ansible - playbooks: - prepare: ../common/playbooks/plus_prepare.yml - converge: ../common/playbooks/plus_converge.yml - verify: ../common/playbooks/plus_verify.yml diff --git a/molecule/plus_centos/molecule.yml b/molecule/plus_centos/molecule.yml deleted file mode 100644 index 40f02db..0000000 --- a/molecule/plus_centos/molecule.yml +++ /dev/null @@ -1,28 +0,0 @@ ---- -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint --force-color -platforms: - - name: centos-7 - image: centos:7 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/usr/sbin/init" - - name: centos-8 - image: centos:8 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/usr/sbin/init" -provisioner: - name: ansible - playbooks: - prepare: ../common/playbooks/plus_prepare.yml - converge: ../common/playbooks/plus_converge.yml - verify: ../common/playbooks/plus_verify.yml diff --git a/molecule/common/playbooks/source_converge.yml b/molecule/source/converge.yml similarity index 100% rename from molecule/common/playbooks/source_converge.yml rename to molecule/source/converge.yml diff --git a/molecule/source/molecule.yml b/molecule/source/molecule.yml index 75efa0f..6c0c314 100644 --- a/molecule/source/molecule.yml +++ b/molecule/source/molecule.yml @@ -6,6 +6,41 @@ lint: | yamllint . ansible-lint --force-color platforms: + - name: alpine-3.10 + image: alpine:3.10 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: alpine-3.11 + image: alpine:3.11 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: alpine-3.12 + image: alpine:3.12 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/sbin/init" + - name: centos-7 + image: centos:7 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/usr/sbin/init" + - name: centos-8 + image: centos:8 + dockerfile: ../common/Dockerfile.j2 + privileged: true + volumes: + - "/sys/fs/cgroup:/sys/fs/cgroup:rw" + command: "/usr/sbin/init" - name: debian-stretch image: debian:stretch-slim dockerfile: ../common/Dockerfile.j2 @@ -44,5 +79,5 @@ platforms: provisioner: name: ansible playbooks: - converge: ../common/playbooks/source_converge.yml - verify: ../common/playbooks/source_verify.yml + converge: converge.yml + verify: verify.yml diff --git a/molecule/common/playbooks/source_verify.yml b/molecule/source/verify.yml similarity index 100% rename from molecule/common/playbooks/source_verify.yml rename to molecule/source/verify.yml diff --git a/molecule/source_alpine/molecule.yml b/molecule/source_alpine/molecule.yml deleted file mode 100644 index a23bdaa..0000000 --- a/molecule/source_alpine/molecule.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint --force-color -platforms: - - name: alpine-3.10 - image: alpine:3.10 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" - - name: alpine-3.11 - image: alpine:3.11 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" - - name: alpine-3.12 - image: alpine:3.12 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/sbin/init" -provisioner: - name: ansible - playbooks: - converge: ../common/playbooks/source_converge.yml - verify: ../common/playbooks/source_verify.yml diff --git a/molecule/source_centos/molecule.yml b/molecule/source_centos/molecule.yml deleted file mode 100644 index 1e29674..0000000 --- a/molecule/source_centos/molecule.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -driver: - name: docker -lint: | - set -e - yamllint . - ansible-lint --force-color -platforms: - - name: centos-7 - image: centos:7 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/usr/sbin/init" - - name: centos-8 - image: centos:8 - dockerfile: ../common/Dockerfile.j2 - privileged: true - volumes: - - "/sys/fs/cgroup:/sys/fs/cgroup:rw" - command: "/usr/sbin/init" -provisioner: - name: ansible - playbooks: - converge: ../common/playbooks/source_converge.yml - verify: ../common/playbooks/source_verify.yml