Files
@ 0a435b5ba2cf
Branch filter:
Location: majic-ansible-roles/roles/web_server/molecule/default/prepare.yml - annotation
0a435b5ba2cf
3.6 KiB
text/x-yaml
MAR-218: Upgrade test site for Ansible 10.x and fix linting errors:
- Disable name checks when importing playbooks into top-level playbook
to avoid naming duplication.
- Disable name checks when importing playbooks into top-level playbook
to avoid naming duplication.
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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | eee778bc2d7c eee778bc2d7c 694893c0259a 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 c10934519e18 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 c10934519e18 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 70ed9e45e116 70ed9e45e116 c10934519e18 70ed9e45e116 70ed9e45e116 70ed9e45e116 70ed9e45e116 eee778bc2d7c eee778bc2d7c 694893c0259a a5f4c1ec6853 eee778bc2d7c 694893c0259a eee778bc2d7c c10934519e18 a5f4c1ec6853 eee778bc2d7c eee778bc2d7c c10934519e18 a5f4c1ec6853 a5f4c1ec6853 eee778bc2d7c a8ad1fdf6f60 c10934519e18 f7c1f4c841f8 f7c1f4c841f8 f7c1f4c841f8 a8ad1fdf6f60 a8ad1fdf6f60 694893c0259a 694893c0259a ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 c10934519e18 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 ab20d5b216c4 7cabc17c71c3 ab20d5b216c4 ab20d5b216c4 694893c0259a 694893c0259a 34dffc4a5ea3 34dffc4a5ea3 34dffc4a5ea3 34dffc4a5ea3 c10934519e18 34dffc4a5ea3 34dffc4a5ea3 34dffc4a5ea3 34dffc4a5ea3 34dffc4a5ea3 7cabc17c71c3 34dffc4a5ea3 34dffc4a5ea3 fc2c40c98e0c ab20d5b216c4 ab20d5b216c4 34dffc4a5ea3 34dffc4a5ea3 c10934519e18 34dffc4a5ea3 34dffc4a5ea3 34dffc4a5ea3 694893c0259a 694893c0259a a5f4c1ec6853 eee778bc2d7c eee778bc2d7c eee778bc2d7c c10934519e18 eee778bc2d7c a5f4c1ec6853 eee778bc2d7c eee778bc2d7c c10934519e18 eee778bc2d7c a5f4c1ec6853 eee778bc2d7c eee778bc2d7c c10934519e18 70ed9e45e116 eee778bc2d7c eee778bc2d7c eee778bc2d7c 7cabc17c71c3 eee778bc2d7c eee778bc2d7c eee778bc2d7c eee778bc2d7c eee778bc2d7c 2d15529786b7 c10934519e18 2d15529786b7 2d15529786b7 | ---
- 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: bookworm
become: true
tasks:
- name: Enable TLSv1.0+ in global OpenSSL configuration file in order to be able to test the web_server_tls_protocols parameter
ansible.builtin.blockinfile:
path: "/etc/ssl/openssl.cnf"
block: |
[openssl_init]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
MinProtocol = TLSv1.1
CipherString = DEFAULT@SECLEVEL=0
owner: root
group: root
mode: "0644"
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"
- 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 tool for testing TCP connectivity
ansible.builtin.apt:
name: hping3
state: present
- 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.
|