---
- name: Checking host OS distribution
  assert:
    that: ansible_facts.distribution in host_os_distributions
    fail_msg: >-
      Host OS distribution {{ ansible_facts.distribution }} is not supported.
      Supported distributions are: {{ host_os_distributions.keys() | join(', ') }}

- name: Checking host OS release or version
  assert:
    that:
      - ansible_facts.distribution_release in host_os_distributions[ansible_facts.distribution] or
        ansible_facts.distribution_version in host_os_distributions[ansible_facts.distribution] or
        ansible_facts.distribution_major_version in host_os_distributions[ansible_facts.distribution]
    fail_msg: >-
      {{ ansible_facts.distribution }} release {{ ansible_facts.distribution_release }}
      version {{ ansible_facts.distribution_version }} is not supported.
      Supported releases are:
      {{ host_os_distributions[ansible_facts.distribution] | join(', ') }}

- name: Checking if CentOS is Stream
  become: true
  command: grep -q Stream /etc/os-release
  register: stream_status
  changed_when: false
  check_mode: false
  when:
    - ansible_facts.distribution == 'CentOS'

- name: Fail if not running on CentOS Stream
  fail:
    msg: CentOS Linux is not supported, you need to run CentOS Stream.
  when:
    - ansible_facts.distribution == 'CentOS'
    - stream_status.rc != 0
