7eb8192a51
I don't believe Ansible v1 would even go as far as executing this sanity check, but.. Adding an extra defensive check for completeness.
49 lines
2.1 KiB
YAML
49 lines
2.1 KiB
YAML
---
|
|
|
|
# We generally support Ansible 2.5.2 and above.
|
|
#
|
|
# Ansible 2.5.0 and 2.5.1 are known to have a bug with `include_tasks` + `with_items`.
|
|
# The bug has been fixed in Ansible 2.5.2.
|
|
- name: Fail if running on Ansible < 2.5 or Ansible 2.5.x (lower than 2.5.2)
|
|
fail:
|
|
msg: "You are running on Ansible {{ ansible_version.string }}, which is not supported. See our guide about Ansible: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/ansible.md"
|
|
when: "(ansible_version.major < 2) or (ansible_version.major <= 2 and ansible_version.minor < 5) or (ansible_version.major == 2 and ansible_version.minor == 5 and ansible_version.revision < 2)"
|
|
|
|
- name: (Deprecation) Catch and report renamed settings
|
|
fail:
|
|
msg: >-
|
|
Your configuration contains a variable, which now has a different name.
|
|
Please change your configuration to rename the variable (`{{ item.old }}` -> `{{ item.new }}`).
|
|
when: "item.old in vars"
|
|
with_items:
|
|
- {'old': 'host_specific_hostname_identity', 'new': 'matrix_domain'}
|
|
- {'old': 'hostname_identity', 'new': 'matrix_domain'}
|
|
- {'old': 'hostname_matrix', 'new': 'matrix_server_fqn_matrix'}
|
|
- {'old': 'hostname_riot', 'new': 'matrix_server_fqn_element'}
|
|
- {'old': 'matrix_server_fqn_riot', 'new': 'matrix_server_fqn_element'}
|
|
|
|
- name: Fail if required variables are undefined
|
|
fail:
|
|
msg: "The `{{ item }}` variable must be defined and have a non-null value"
|
|
with_items:
|
|
- matrix_domain
|
|
- matrix_server_fqn_matrix
|
|
- matrix_server_fqn_element
|
|
when: "item not in vars or vars[item] is none"
|
|
|
|
- name: Fail if uppercase domain used
|
|
fail:
|
|
msg: "Detected that you're using an uppercase domain name - `{{ item }}`. This will cause trouble. Please use all-lowercase!"
|
|
with_items:
|
|
- "{{ matrix_domain }}"
|
|
- "{{ matrix_server_fqn_matrix }}"
|
|
- "{{ matrix_server_fqn_element }}"
|
|
when: "item != item|lower"
|
|
|
|
- name: Fail if using python2 on Archlinux
|
|
fail:
|
|
msg: "Detected that you're using python2 when installing onto Archlinux. Archlinux by default only supports python3."
|
|
when:
|
|
- ansible_distribution == 'Archlinux'
|
|
- ansible_python.version.major != 3
|