# SPDX-License-Identifier: BSD-3-Clause
---
# set network provider and gather facts
- name: Run playbook 'playbooks/tests_checkpoint_cleanup.yml' with nm as
    provider
  hosts: all
  tasks:
    - name: Include the task 'el_repo_setup.yml'
      include_tasks: tasks/el_repo_setup.yml

    - name: Set network provider to 'nm'
      set_fact:
        network_provider: nm
    - name: Install NetworkManager
      package:
        name: NetworkManager
        state: present
        use: "{{ (__network_is_ostree | d(false)) |
                 ternary('ansible.posix.rhel_rpm_ostree', omit) }}"
    - name: Get package info
      package_facts:
    - name: Get NetworkManager version
      set_fact:
        networkmanager_version: "{{
          ansible_facts.packages['NetworkManager'][0]['version'] }}"

# workaround for: https://github.com/ansible/ansible/issues/27973
# There is no way in Ansible to abort a playbook hosts with specific OS
# releases Therefore we include the playbook with the tests only if the hosts
# would support it.
# The test requires NetworkManager, therefore it cannot run on RHEL/CentOS 6
- name: Import the playbook 'playbooks/tests_checkpoint_cleanup.yml'
  import_playbook: playbooks/tests_checkpoint_cleanup.yml
  when:
    - ansible_distribution_major_version != '6'
    # The test depends on behavior that is only visible with newer NM
    - networkmanager_version is version('1.22.0', '>=')
    - ansible_distribution not in ['RedHat', 'CentOS', 'Fedora'] or
      (ansible_distribution == 'Fedora' and
       ansible_distribution_major_version | int < 41) or
      ansible_distribution_major_version | int < 9
