Files @ 36e1c9460cd6
Branch filter:

Location: majic-ansible-roles/roles/bootstrap/playbook.yml - annotation

branko
MAR-27: Added initial scaffolding for testing mail_forwarder role:

- Fixed issues reported by Ansible linting check (some mode-related syntax and
one ignore.
- Added Molecule configuration for testing mandatory and optional
parameters. Covers both Debian Jessie and Debian Stretch.
- Added test playbook for setting-up the test instances. A helper relay mail
server.
- Updated both mail_server and mail_forwarder to fall-back to using
native (/etc/hosts) resolving if DNS fails. Solves issue with test environment
not having proper DNS set-up for all domains etc.
- Added a number of data/config files associated with tests.
- Added dummy test file.
---

# Put Ansible key into root's authorized_keys to test its removal, but don't
# touch the file if it does not exist in order to properly test for idempotence.
- hosts: parameters-mandatory
  tasks:

    - name: Check if authorized_keys exists already
      stat:
        path: "/root/.ssh/authorized_keys"
      register: "authorized_keys"

    - name: Deploy authorized_keys to mimic set-up via preseed file
      authorized_key:
        user: root
        key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
      when: "not authorized_keys.stat.exists"

# Put Ansible key into root's authorized_keys to test its removal, but don't
# touch the file if it does not exist in order to properly test for idempotence.
- hosts: parameters-optional
  tasks:

    - name: Check if authorized_keys exists already
      stat:
        path: "/root/.ssh/authorized_keys"
      register: "authorized_keys"

    - name: Deploy authorized_keys to mimic set-up via preseed file
      authorized_key:
        user: root
        key: "{{ lookup('file', 'tests/data/ansible_key.pub') }}"
      when: "not authorized_keys.stat.exists"

- hosts: parameters-mandatory
  roles:
    - role: bootstrap

- hosts: parameters-optional
  roles:
    - role: bootstrap
      ansible_key: "{{ lookup('file', 'tests/data/ansible_key.pub') }}"