--- - name: Ensure ansible_facts used by role ansible.builtin.setup: gather_subset: min when: not ansible_facts.keys() | list | intersect(__sshd_required_facts) == __sshd_required_facts - name: Set OS dependent variables ansible.builtin.include_vars: "{{ lookup('first_found', params) }}" vars: ansible_distribution_lts_offset: >- {{ ansible_distribution_major_version | int % 2 if ansible_distribution == "Ubuntu" else 0 }} ansible_distribution_lts_version: >- {{ ansible_distribution_major_version | int - ansible_distribution_lts_offset | int if ansible_distribution == "Ubuntu" else ansible_distribution_version }} params: files: - "{{ ansible_distribution }}_{{ ansible_distribution_lts_version }}.yml" - "{{ ansible_os_family }}_{{ ansible_distribution_major_version }}.yml" - "{{ ansible_distribution }}.yml" - "{{ ansible_os_family }}.yml" - main.yml # fallback, vars/main.yml is always loaded by Ansible paths: - "{{ role_path }}/vars" - "{{ playbook_dir }}/vars"