ansible-sshd/tasks/variables.yml
Rich Megginson 4543f0c679 feat: support for ostree systems
Feature: Allow running and testing the role with ostree managed nodes.

Reason: We have users who want to use the role to manage ostree
systems.

Result: Users can use the role to manage ostree managed nodes.
Signed-off-by: Rich Megginson <rmeggins@redhat.com>
2023-11-28 09:40:18 -07:00

45 lines
1.6 KiB
YAML

---
- 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: Determine if system is ostree and set flag
when: not __sshd_is_ostree is defined
block:
- name: Check if system is ostree
ansible.builtin.stat:
path: /run/ostree-booted
register: __ostree_booted_stat
- name: Set flag to indicate system is ostree
ansible.builtin.set_fact:
__sshd_is_ostree: "{{ __ostree_booted_stat.stat.exists }}"
- name: Set OS dependent variables
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
vars:
_distribution_lts_offset: >-
{{
ansible_facts['distribution_major_version'] | int % 2
if ansible_facts['distribution'] == "Ubuntu"
else 0
}}
_distribution_lts_version: >-
{{
ansible_facts['distribution_major_version'] | int -
_distribution_lts_offset | int
if ansible_facts['distribution'] == "Ubuntu"
else ansible_facts['distribution_version']
}}
params:
files:
- "{{ ansible_facts['distribution'] }}_{{ _distribution_lts_version }}.yml"
- "{{ ansible_facts['os_family'] }}_{{ ansible_facts['distribution_major_version'] }}.yml"
- "{{ ansible_facts['distribution'] }}.yml"
- "{{ ansible_facts['os_family'] }}.yml"
- main.yml # fallback, vars/main.yml is always loaded by Ansible
paths:
- "{{ role_path }}/vars"
- "{{ playbook_dir }}/vars"