From 580805bc345f28f6d698ac3be284bf5031d789ff Mon Sep 17 00:00:00 2001 From: Jason Rothstein Date: Sun, 25 Jul 2021 03:23:32 +0000 Subject: [PATCH] Genericize the roal to look like the rest --- tasks/Debian-default.yml | 16 ++++++ tasks/default.yml | 3 ++ tasks/main.yml | 100 +++++++++++++++++++++++-------------- vars/CentOS-6-default.yml | 6 +++ vars/CentOS-7-default.yml | 6 +++ vars/CentOS-8-default.yml | 12 +++++ vars/Fedora-21-default.yml | 12 +++++ vars/Fedora-22-default.yml | 12 +++++ vars/Fedora-23-default.yml | 12 +++++ vars/Fedora-24-default.yml | 12 +++++ vars/Fedora-25-default.yml | 12 +++++ vars/Fedora-26-default.yml | 12 +++++ vars/Fedora-27-default.yml | 12 +++++ vars/Fedora-28-default.yml | 12 +++++ vars/Fedora-29-default.yml | 12 +++++ vars/Fedora-30-default.yml | 12 +++++ vars/Fedora-31-default.yml | 12 +++++ vars/Fedora-32-default.yml | 12 +++++ vars/Fedora-33-default.yml | 12 +++++ vars/Fedora-34-default.yml | 12 +++++ vars/default.yml | 2 + 21 files changed, 275 insertions(+), 38 deletions(-) create mode 100644 tasks/Debian-default.yml create mode 100644 tasks/default.yml create mode 100644 vars/CentOS-6-default.yml create mode 100644 vars/CentOS-7-default.yml create mode 100644 vars/CentOS-8-default.yml create mode 100644 vars/Fedora-21-default.yml create mode 100644 vars/Fedora-22-default.yml create mode 100644 vars/Fedora-23-default.yml create mode 100644 vars/Fedora-24-default.yml create mode 100644 vars/Fedora-25-default.yml create mode 100644 vars/Fedora-26-default.yml create mode 100644 vars/Fedora-27-default.yml create mode 100644 vars/Fedora-28-default.yml create mode 100644 vars/Fedora-29-default.yml create mode 100644 vars/Fedora-30-default.yml create mode 100644 vars/Fedora-31-default.yml create mode 100644 vars/Fedora-32-default.yml create mode 100644 vars/Fedora-33-default.yml create mode 100644 vars/Fedora-34-default.yml create mode 100644 vars/default.yml diff --git a/tasks/Debian-default.yml b/tasks/Debian-default.yml new file mode 100644 index 0000000..2d2f16a --- /dev/null +++ b/tasks/Debian-default.yml @@ -0,0 +1,16 @@ +--- +# tasks file for ensure_os_patch +- name: 'ensure Debian patch' + when: + - ansible_system == 'Linux' + - ansible_pkg_mgr == 'apt' + ansible.builtin.apt: + autoclean: 'yes' + autoremove: 'yes' + upgrade: 'dist' + notify: + - 'ensure_os_patch.package_facts' + - 'ensure_os_patch.service_facts' +- name: 'flush handlers' + meta: 'flush_handlers' + diff --git a/tasks/default.yml b/tasks/default.yml new file mode 100644 index 0000000..546bf13 --- /dev/null +++ b/tasks/default.yml @@ -0,0 +1,3 @@ +--- +# tasks file for ensure_os_patch + diff --git a/tasks/main.yml b/tasks/main.yml index da9a5b6..549359a 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,5 +1,42 @@ --- # tasks file for ensure_os_patch +- name: 'include vendor / version specific tasks' + when: + - ansible_system == 'Linux' + include_tasks: + file: '{{ lookup("first_found", findme ) }}' + 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' + errors: 'ignore' +- name: 'flush handlers' + meta: 'flush_handlers' +- name: 'include variables' + when: + - ansible_system == 'Linux' + include_vars: + file: '{{ lookup("first_found", findme ) }}' + name: 'ensure_os_patch' + 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' @@ -10,20 +47,25 @@ - ansible_system == 'Linux' - services is not defined ansible.builtin.service_facts: -- name: 'ensure patch' +- name: 'ensure packages' when: - ansible_system == 'Linux' - - ansible_pkg_mgr == 'dnf' or - ansible_pkg_mgr == 'yum' + - ensure_os_patch is defined + - ensure_os_patch.package_list is defined + - ensure_os_patch.package_list is iterable + - packages[item.name] is not defined ansible.builtin.package: - name: '*' - state: 'latest' - async: 900 - poll: 5 + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: '{{ ensure_os_patch.package_list }}' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' notify: - 'ensure_os_patch.package_facts' - 'ensure_os_patch.service_facts' -- name: 'ensure patch' +- name: 'flush handlers' + meta: 'flush_handlers' +- name: 'ensure Debian patch' when: - ansible_system == 'Linux' - ansible_pkg_mgr == 'apt' @@ -31,42 +73,24 @@ autoclean: 'yes' autoremove: 'yes' upgrade: 'dist' - async: 900 - poll: 5 notify: - 'ensure_os_patch.package_facts' - 'ensure_os_patch.service_facts' -- name: 'Ensure dnf-automatic installation' +- name: 'flush handlers' + meta: 'flush_handlers' +- name: 'ensure services' when: - ansible_system == 'Linux' - - ( - ansible_distribution == 'Fedora' and - ansible_distribution_major_version is version('21', '>=') - ) or ( - ansible_distribution == 'CentOS' and - ansible_distribution_major_version is version('8', '>=') - ) - ansible.builtin.package: - name: - - 'dnf-automatic' - state: 'present' - notify: - - 'ensure_os_patch.package_facts' - - 'ensure_os_patch.service_facts' -- name: 'Ensure dnf-automatic runs' - when: - - ansible_system == 'Linux' - - ( - ansible_distribution == 'Fedora' and - ansible_distribution_major_version is version('21', '>=') - ) or ( - ansible_distribution == 'CentOS' and - ansible_distribution_major_version is version('8', '>=') - ) + - ensure_os_patch is defined + - ensure_os_patch.service_list is defined + - ensure_os_patch.service_list is iterable ansible.builtin.service: - enabled: 'yes' - name: 'dnf-automatic-install.timer' - state: 'started' + enabled: '{{ item.enabled }}' + name: '{{ item.name }}' + state: '{{ item.state }}' + loop: '{{ ensure_os_patch.service_list }}' + loop_control: + label: '{{ item.name }} will be {{ item.state }}' notify: - 'ensure_os_patch.package_facts' - 'ensure_os_patch.service_facts' diff --git a/vars/CentOS-6-default.yml b/vars/CentOS-6-default.yml new file mode 100644 index 0000000..8db76e2 --- /dev/null +++ b/vars/CentOS-6-default.yml @@ -0,0 +1,6 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: '*' + state: 'latest' + diff --git a/vars/CentOS-7-default.yml b/vars/CentOS-7-default.yml new file mode 100644 index 0000000..8db76e2 --- /dev/null +++ b/vars/CentOS-7-default.yml @@ -0,0 +1,6 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: '*' + state: 'latest' + diff --git a/vars/CentOS-8-default.yml b/vars/CentOS-8-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/CentOS-8-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-21-default.yml b/vars/Fedora-21-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-21-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-22-default.yml b/vars/Fedora-22-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-22-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-23-default.yml b/vars/Fedora-23-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-23-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-24-default.yml b/vars/Fedora-24-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-24-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-25-default.yml b/vars/Fedora-25-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-25-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-26-default.yml b/vars/Fedora-26-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-26-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-27-default.yml b/vars/Fedora-27-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-27-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-28-default.yml b/vars/Fedora-28-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-28-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-29-default.yml b/vars/Fedora-29-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-29-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-30-default.yml b/vars/Fedora-30-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-30-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-31-default.yml b/vars/Fedora-31-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-31-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-32-default.yml b/vars/Fedora-32-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-32-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-33-default.yml b/vars/Fedora-33-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-33-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/Fedora-34-default.yml b/vars/Fedora-34-default.yml new file mode 100644 index 0000000..cc81fbf --- /dev/null +++ b/vars/Fedora-34-default.yml @@ -0,0 +1,12 @@ +--- +# vars file for ensure_os_patch +package_list: + - name: 'dnf-automatic' + state: 'present' + - name: '*' + state: 'latest' +service_list: + - name: 'dnf-automatic.timer' + state: 'started' + enabled: 'yes' + diff --git a/vars/default.yml b/vars/default.yml new file mode 100644 index 0000000..fcb2238 --- /dev/null +++ b/vars/default.yml @@ -0,0 +1,2 @@ +--- +# vars file for ensure_os_patch \ No newline at end of file