Do not compare ansible_distribution_major_version as a string

Fedora 35 is:

- `ansible_os_family = 'RedHat'`
- `ansible_distribution_major_version = '35'`

Our RedHat checks against v7/v8 are really for RHEL derivatives (CentOS, Rockylinux,
AlmaLinux), but the same checks (by coincidence) apply for Fedora 35.

The problem is that `'35' > '7'` (comparing these as strings) is
`false`.

This patch makes sure that we always cast
`ansible_distribution_major_version` to an integer.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1610
This commit is contained in:
Slavi Pantaleev
2022-02-09 16:16:59 +02:00
parent e09694f5ef
commit 7330992b20
2 changed files with 4 additions and 4 deletions

View File

@ -1,10 +1,10 @@
---
- include_tasks: "{{ role_path }}/tasks/server_base/setup_redhat.yml"
when: ansible_os_family == 'RedHat' and ansible_distribution_major_version < '8'
when: ansible_os_family == 'RedHat' and ansible_distribution_major_version|int < 8
- include_tasks: "{{ role_path }}/tasks/server_base/setup_redhat8.yml"
when: ansible_os_family == 'RedHat' and ansible_distribution_major_version > '7'
when: ansible_os_family == 'RedHat' and ansible_distribution_major_version|int > 7
- block:
# ansible_lsb is only available if lsb-release is installed.