Files
@ e8fe43bf880e
Branch filter:
Location: majic-ansible-roles/roles/web_server/molecule/default/prepare.yml
e8fe43bf880e
3.0 KiB
text/x-yaml
MAR-233: Add IPv6 connectivity tests for the web_server role.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | ---
- name: Prepare, test fixtures
hosts: localhost
connection: local
gather_facts: false
tasks:
- name: Initialise CA hierarchy
ansible.builtin.command: "gimmecert init"
args:
creates: ".gimmecert/ca/level1.cert.pem"
chdir: "tests/data/"
- name: Generate server private keys and certificates
ansible.builtin.command:
args:
chdir: "tests/data/"
creates: ".gimmecert/server/{{ item.name }}.cert.pem"
argv:
- "gimmecert"
- "server"
- "{{ item.name }}"
- "{{ item.fqdn }}"
with_items:
- name: parameters-mandatory-bookworm_https
fqdn: parameters-mandatory-bookworm
- name: parameters-optional-bookworm_https
fqdn: parameters-optional-bookworm
- name: Set-up link to generated X.509 material
ansible.builtin.file:
src: ".gimmecert"
dest: "tests/data/x509"
state: link
- name: Prepare
hosts: all
become: true
gather_facts: false
tasks:
- name: Install python for Ansible
ansible.builtin.raw: test -e /usr/bin/python3 || (apt -y update && apt install -y python3-minimal)
changed_when: false
- name: Update all caches to avoid errors due to missing remote archives
ansible.builtin.apt:
update_cache: true
changed_when: false
- name: Install tools for testing
ansible.builtin.apt:
name:
- gnutls-bin
- nmap
state: present
- name: Prepare, test fixtures
hosts: all
become: true
tasks:
- name: Set-up the hosts file
ansible.builtin.lineinfile:
path: /etc/hosts
regexp: "^{{ item.key }}"
line: "{{ item.key }} {{ item.value }}"
owner: root
group: root
mode: "0644"
state: present
with_dict:
192.168.56.11: "client"
192.168.56.21: "parameters-mandatory-bookworm"
192.168.56.22: "parameters-optional-bookworm"
fd00::192:168:56:11: "client"
fd00::192:168:56:21: "parameters-mandatory-bookworm"
fd00::192:168:56:22: "parameters-optional-bookworm"
- name: Install curl for testing redirects and webpage content
ansible.builtin.apt:
name: curl
state: present
- name: Prepare, helpers
hosts: client
become: true
tasks:
- name: Install console-based web browser for interactive testing
ansible.builtin.apt:
name: lynx
state: present
- name: Deploy CA certificate
ansible.builtin.copy:
src: tests/data/x509/ca/level1.cert.pem
dest: /usr/local/share/ca-certificates/testca.crt
owner: root
group: root
mode: "0644"
notify:
- Update CA certificate cache
handlers:
- name: Update CA certificate cache # noqa no-changed-when
ansible.builtin.command: /usr/sbin/update-ca-certificates --fresh
# [no-changed-when] Commands should not change things if nothing needs doing
# Does not matter in test prepare stage.
|