From c5a34a1b0e4c7a2a773f0ae979d0046e66f9449b Mon Sep 17 00:00:00 2001 From: Stanislav Popov Date: Fri, 1 May 2020 21:30:51 +0500 Subject: [PATCH] test: molecule 3 --- .travis.yml | 2 +- README.md | 2 + meta/main.yml | 5 +- molecule/default/Dockerfile.j2 | 7 --- .../default/{playbook.yml => converge.yml} | 0 molecule/default/create.yml | 47 ------------------- molecule/default/destroy.yml | 16 ------- molecule/default/molecule.yml | 13 +++-- molecule/default/prepare.yml | 4 ++ 9 files changed, 19 insertions(+), 77 deletions(-) delete mode 100644 molecule/default/Dockerfile.j2 rename molecule/default/{playbook.yml => converge.yml} (100%) delete mode 100644 molecule/default/create.yml delete mode 100644 molecule/default/destroy.yml diff --git a/.travis.yml b/.travis.yml index b97fd89..76476d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ --- language: python -python: "2.7" +python: "3.8" sudo: required services: - docker diff --git a/README.md b/README.md index dca41c0..ff3ffd2 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ [![Build Status](https://travis-ci.org/viasite-ansible/ansible-role-site-discovery.svg?branch=master)](https://travis-ci.org/viasite-ansible/ansible-role-site-discovery) Install [viasite/site-discovery](https://github.com/viasite/site-discovery). + +Tested on Ubuntu 16.04, 18.04, 20.04. Requires Python 3. diff --git a/meta/main.yml b/meta/main.yml index ed7a736..eed83a6 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -4,12 +4,13 @@ galaxy_info: company: Viasite description: Site discovery tools for virtual hostings license: MIT - min_ansible_version: 2.0 + min_ansible_version: 2.8 platforms: - name: Ubuntu versions: - - trusty - xenial + - bionic + - focal galaxy_tags: - system - drupal diff --git a/molecule/default/Dockerfile.j2 b/molecule/default/Dockerfile.j2 deleted file mode 100644 index cbeeffa..0000000 --- a/molecule/default/Dockerfile.j2 +++ /dev/null @@ -1,7 +0,0 @@ -FROM {{ item.image }} - -RUN if [ $(command -v apt-get) ]; then apt-get update && apt-get upgrade -y && apt-get install -y python sudo bash ca-certificates && apt-get clean; \ - elif [ $(command -v yum) ]; then yum makecache fast && yum update -y && yum install -y python sudo yum-plugin-ovl bash && sed -i 's/plugins=0/plugins=1/g' /etc/yum.conf && yum clean all; \ - elif [ $(command -v zypper) ]; then zypper refresh && zypper update -y && zypper install -y python sudo bash python-xml && zypper clean -a; \ - elif [ $(command -v apk) ]; then apk update && apk add --no-cache python sudo bash ca-certificates; \ - elif [ $(command -v dnf) ]; then dnf makecache && dnf --assumeyes install python python-devel python2-dnf bash && dnf clean all; fi diff --git a/molecule/default/playbook.yml b/molecule/default/converge.yml similarity index 100% rename from molecule/default/playbook.yml rename to molecule/default/converge.yml diff --git a/molecule/default/create.yml b/molecule/default/create.yml deleted file mode 100644 index ac0110b..0000000 --- a/molecule/default/create.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- -- name: Create - hosts: localhost - connection: local - gather_facts: False - no_log: "{{ not lookup('env', 'MOLECULE_DEBUG') | bool }}" - vars: - molecule_file: "{{ lookup('env', 'MOLECULE_FILE') }}" - molecule_ephemeral_directory: "{{ lookup('env', 'MOLECULE_EPHEMERAL_DIRECTORY') }}" - molecule_scenario_directory: "{{ lookup('env', 'MOLECULE_SCENARIO_DIRECTORY') }}" - molecule_yml: "{{ lookup('file', molecule_file) | from_yaml }}" - tasks: - - name: Create Dockerfiles from image names - template: - src: "{{ molecule_scenario_directory }}/Dockerfile.j2" - dest: "{{ molecule_ephemeral_directory }}/Dockerfile_{{ item.image | regex_replace('[^a-zA-Z0-9_]', '_') }}" - with_items: "{{ molecule_yml.platforms }}" - register: platforms - - - name: Discover local Docker images - docker_image_facts: - name: "molecule_local/{{ item.item.name }}" - with_items: "{{ platforms.results }}" - register: docker_images - - - name: Build an Ansible compatible image - docker_image: - path: "{{ molecule_ephemeral_directory }}" - name: "molecule_local/{{ item.item.image }}" - dockerfile: "{{ item.item.dockerfile | default(item.invocation.module_args.dest) }}" - force: "{{ item.item.force | default(True) }}" - with_items: "{{ platforms.results }}" - when: platforms.changed or docker_images.results | map(attribute='images') | select('equalto', []) | list | count >= 0 - - - name: Create molecule instance(s) - docker_container: - name: "{{ item.name }}" - hostname: "{{ item.name }}" - image: "molecule_local/{{ item.image }}" - state: started - recreate: False - log_driver: syslog - command: "{{ item.command | default('sleep infinity') }}" - privileged: "{{ item.privileged | default(omit) }}" - volumes: "{{ item.volumes | default(omit) }}" - capabilities: "{{ item.capabilities | default(omit) }}" - with_items: "{{ molecule_yml.platforms }}" diff --git a/molecule/default/destroy.yml b/molecule/default/destroy.yml deleted file mode 100644 index 63b5edf..0000000 --- a/molecule/default/destroy.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: Destroy - hosts: localhost - connection: local - gather_facts: False - no_log: "{{ not lookup('env', 'MOLECULE_DEBUG') | bool }}" - vars: - molecule_file: "{{ lookup('env', 'MOLECULE_FILE') }}" - molecule_yml: "{{ lookup('file', molecule_file) | from_yaml }}" - tasks: - - name: Destroy molecule instance(s) - docker_container: - name: "{{ item.name }}" - state: absent - force_kill: "{{ item.force_kill | default(True) }}" - with_items: "{{ molecule_yml.platforms }}" diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 08d89f9..9eb288b 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -3,11 +3,16 @@ driver: name: docker platforms: - name: ansible-role-site-discovery-1604 - image: ubuntu:16.04 + image: geerlingguy/docker-ubuntu1604-ansible + pre_build_image: true -lint: - name: yamllint - enabled: False + - name: ansible-role-site-discovery-1804 + image: geerlingguy/docker-ubuntu1804-ansible + pre_build_image: true + + - name: ansible-role-site-discovery-2004 + image: geerlingguy/docker-ubuntu2004-ansible + pre_build_image: true provisioner: name: ansible diff --git a/molecule/default/prepare.yml b/molecule/default/prepare.yml index 36cc455..8cbde12 100644 --- a/molecule/default/prepare.yml +++ b/molecule/default/prepare.yml @@ -8,3 +8,7 @@ content: "Acquire::http::Proxy \"{{ lookup('env', 'APT_PROXY') }}\"; Acquire::https::Proxy \"false\";" dest: /etc/apt/apt.conf.d/01proxy failed_when: False + - name: Update apt cache + apt: + update_cache: yes + cache_valid_time: 86400