From 16aeded91d76710e9a4e9879e47ddd4a3df64b07 Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 20 Dec 2020 17:06:38 -0600 Subject: [PATCH] Deploy podman for CentOS >= 8, Fedora >= 31 --- handlers/main.yml | 7 ++++- tasks/main.yml | 65 +++++++++++++++++++++++++++++++++++++++++++++- vars/CentOS-8.yml | 11 ++++++++ vars/Fedora-31.yml | 11 ++++++++ vars/Fedora-32.yml | 11 ++++++++ vars/Fedora-33.yml | 11 ++++++++ vars/default.yml | 2 ++ 7 files changed, 116 insertions(+), 2 deletions(-) create mode 100644 vars/CentOS-8.yml create mode 100644 vars/Fedora-31.yml create mode 100644 vars/Fedora-32.yml create mode 100644 vars/Fedora-33.yml create mode 100644 vars/default.yml diff --git a/handlers/main.yml b/handlers/main.yml index 998ed00..76d3161 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -1,2 +1,7 @@ --- -# handlers file for ensure_podman \ No newline at end of file +# handlers file for ensure_podman +- name: 'ensure_podman.package_facts' + ansible.builtin.package_facts: +- name: 'ensure_podman.service_facts' + ansible.builtin.service_facts: + diff --git a/tasks/main.yml b/tasks/main.yml index c60dda6..5e9f569 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,2 +1,65 @@ --- -# tasks file for ensure_podman \ No newline at end of file +# tasks file for ensure_podman +- name: 'include variables' + when: + - ansible_system == 'Linux' + include_vars: + file: '{{ lookup("first_found", findme ) }}' + name: 'ensure_podman' + vars: + findme: + files: + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' + - '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}-default.yml' + - '{{ ansible_distribution }}-default.yml' + - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-{{ ansible_architecture }}.yml' + - '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}-default.yml' + - '{{ ansible_os_family }}-default.yml' + - 'default.yml' + paths: + - '../vars/' + errors: 'ignore' +- name: 'package discovery' + when: + - ansible_system == 'Linux' + - packages is not defined + ansible.builtin.package_facts: +- name: 'service discovery' + when: + - ansible_system == 'Linux' + - services is not defined + ansible.builtin.service_facts: +- name: 'ensure packages' + when: + - ansible_system == 'Linux' + - ensure_podman is defined + - ensure_podman.package_list is defined + - ensure_podman.package_list is iterable + - packages[item.name] is not defined + ansible.builtin.package: + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: '{{ ensure_podman.package_list }}' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_podman.package_facts' + - 'ensure_podman.service_facts' +- name: 'ensure services' + when: + - ansible_system == 'Linux' + - ensure_podman is defined + - ensure_podman.service_list is defined + - ensure_podman.service_list is iterable + ansible.builtin.service: + enabled: '{{ item.enabled }}' + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: '{{ ensure_podman.service_list }}' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' + notify: + - 'ensure_podman.package_facts' + - 'ensure_podman.service_facts' +- name: 'flush handlers' + meta: 'flush_handlers' diff --git a/vars/CentOS-8.yml b/vars/CentOS-8.yml new file mode 100644 index 0000000..e911115 --- /dev/null +++ b/vars/CentOS-8.yml @@ -0,0 +1,11 @@ +--- +# vars file for ensure_podman +package_list: + - name: 'cockpit-podman' + state: 'present' + - name: 'podman' + state: 'present' +service_list: + - name: 'podman.socket' + state: 'started' + enabled: 'yes' diff --git a/vars/Fedora-31.yml b/vars/Fedora-31.yml new file mode 100644 index 0000000..e911115 --- /dev/null +++ b/vars/Fedora-31.yml @@ -0,0 +1,11 @@ +--- +# vars file for ensure_podman +package_list: + - name: 'cockpit-podman' + state: 'present' + - name: 'podman' + state: 'present' +service_list: + - name: 'podman.socket' + state: 'started' + enabled: 'yes' diff --git a/vars/Fedora-32.yml b/vars/Fedora-32.yml new file mode 100644 index 0000000..e911115 --- /dev/null +++ b/vars/Fedora-32.yml @@ -0,0 +1,11 @@ +--- +# vars file for ensure_podman +package_list: + - name: 'cockpit-podman' + state: 'present' + - name: 'podman' + state: 'present' +service_list: + - name: 'podman.socket' + state: 'started' + enabled: 'yes' diff --git a/vars/Fedora-33.yml b/vars/Fedora-33.yml new file mode 100644 index 0000000..e911115 --- /dev/null +++ b/vars/Fedora-33.yml @@ -0,0 +1,11 @@ +--- +# vars file for ensure_podman +package_list: + - name: 'cockpit-podman' + state: 'present' + - name: 'podman' + state: 'present' +service_list: + - name: 'podman.socket' + state: 'started' + enabled: 'yes' diff --git a/vars/default.yml b/vars/default.yml new file mode 100644 index 0000000..b70da1a --- /dev/null +++ b/vars/default.yml @@ -0,0 +1,2 @@ +--- +# vars file for ensure_podman \ No newline at end of file