Use common package install via variables rather than hard code the task

This commit is contained in:
Jason Rothstein 2020-12-05 23:23:46 -06:00
parent 9e8e9c8cc6
commit 160ab64917
13 changed files with 124 additions and 91 deletions

View File

@ -1,38 +0,0 @@
---
# tasks file for ensure_ansible_prereq
- name: 'package states'
ansible.builtin.package:
name: '{{ item.name }}'
state: '{{ item.state }}'
loop:
- name: 'acpid'
state: 'present'
- name: 'libselinux-python'
state: 'present'
- name: 'pyOpenSSL'
state: 'present'
- name: 'python-pyasn1'
state: 'present'
- name: 'python-urllib3'
state: 'present'
- name: 'python2-ndg_httpsclient'
state: 'present'
loop_control:
label: '{{ item.name }} will be {{ item.state }}'
notify:
- 'ensure_ansible_prereq.package_facts'
- 'ensure_ansible_prereq.service_facts'
- name: 'service states'
ansible.builtin.service:
enabled: '{{ item.enabled }}'
name: '{{ item.name }}'
state: '{{ item.state }}'
loop:
- enabled: 'yes'
name: 'acpid'
state: 'started'
loop_control:
label: '{{ item.name }} will be {{ item.state }}'
notify:
- 'ensure_ansible_prereq.package_facts'
- 'ensure_ansible_prereq.service_facts'

View File

@ -3,18 +3,5 @@
- name: 'repository changes' - name: 'repository changes'
ansible.builtin.apt_repository: ansible.builtin.apt_repository:
repo: 'deb cdrom:*' repo: 'deb cdrom:*'
state: absent state: 'absent'
- name: 'package states'
ansible.builtin.package:
name: '{{ item.name }}'
state: '{{ item.state }}'
loop:
- name: 'python-apt'
state: 'present'
- name: 'sudo'
state: 'present'
loop_control:
label: '{{ item.name }} will be {{ item.state }}'
notify:
- 'ensure_ansible_prereq.package_facts'
- 'ensure_ansible_prereq.service_facts'

View File

@ -1,38 +0,0 @@
---
# tasks file for ensure_ansible_prereq
- name: 'package states'
ansible.builtin.package:
name: '{{ item.name }}'
state: '{{ item.state }}'
loop:
- name: 'acpid'
state: 'present'
- name: 'libselinux-python'
state: 'present'
- name: 'pyOpenSSL'
state: 'present'
- name: 'python-pyasn1'
state: 'present'
- name: 'python-urllib3'
state: 'present'
- name: 'python2-ndg_httpsclient'
state: 'present'
loop_control:
label: '{{ item.name }} will be {{ item.state }}'
notify:
- 'ensure_ansible_prereq.package_facts'
- 'ensure_ansible_prereq.service_facts'
- name: 'service states'
ansible.builtin.service:
enabled: '{{ item.enabled }}'
name: '{{ item.name }}'
state: '{{ item.state }}'
loop:
- enabled: 'yes'
name: 'acpid'
state: 'started'
loop_control:
label: '{{ item.name }} will be {{ item.state }}'
notify:
- 'ensure_ansible_prereq.package_facts'
- 'ensure_ansible_prereq.service_facts'

View File

@ -18,3 +18,45 @@
errors: 'ignore' errors: 'ignore'
- name: 'flush handlers' - name: 'flush handlers'
meta: 'flush_handlers' meta: 'flush_handlers'
- name: 'include vendor / version specific variables'
when:
- ansible_system == 'Linux'
include_vars:
file: '{{ lookup("first_found", findme ) }}'
name: 'ensure_ansible_prereq'
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: 'ensure packages'
when:
- ansible_system == 'Linux'
- ensure_ansible_prereq is defined
- ensure_ansible_prereq.package_list is defined
- ensure_ansible_prereq.package_list is iterable
ansible.builtin.package:
name: '{{ item.name }}'
state: '{{ item.state }}'
loop: '{{ ensure_ansible_prereq.package_list }}'
loop_control:
label: '{{ item.name }} will be {{ item.state }}'
notify:
- 'ensure_ansible_prereq.package_facts'
- 'ensure_ansible_prereq.service_facts'
- name: 'flush handlers'
meta: 'flush_handlers'

22
vars/CentOS-6-default.yml Normal file
View File

@ -0,0 +1,22 @@
---
# vars file for ensure_ansible_prereq
package_list:
- name: 'acpid'
state: 'present'
- name: 'libselinux-python'
state: 'present'
- name: 'libsemanage-python'
state: 'present'
- name: 'pyOpenSSL'
state: 'present'
- name: 'python-pyasn1'
state: 'present'
- name: 'python-urllib3'
state: 'present'
- name: 'python2-ndg_httpsclient'
state: 'present'
service_list:
- name: 'acpid'
state: 'started'
enabled: 'yes'

View File

@ -0,0 +1,8 @@
---
# vars file for ensure_ansible_prereq
package_list:
- name: 'libselinux-python'
state: 'present'
- name: 'libsemanage-python'
state: 'present'

View File

@ -0,0 +1,8 @@
---
# vars file for ensure_ansible_prereq
package_list:
- name: 'python3-libselinux'
state: 'present'
- name: 'python3-libsemanage'
state: 'present'

8
vars/Debian-default.yml Normal file
View File

@ -0,0 +1,8 @@
---
# vars file for ensure_ansible_prereq
package_list:
- name: 'python-apt'
state: 'present'
- name: 'sudo'
state: 'present'

View File

@ -0,0 +1,8 @@
---
# vars file for ensure_ansible_prereq
package_list:
- name: 'libselinux-python'
state: 'present'
- name: 'libsemanage-python'
state: 'present'

View File

@ -0,0 +1,8 @@
---
# vars file for ensure_ansible_prereq
package_list:
- name: 'python3-libselinux'
state: 'present'
- name: 'python3-libsemanage'
state: 'present'

View File

@ -0,0 +1,8 @@
---
# vars file for ensure_ansible_prereq
package_list:
- name: 'python3-libselinux'
state: 'present'
- name: 'python3-libsemanage'
state: 'present'

View File

@ -0,0 +1,8 @@
---
# vars file for ensure_ansible_prereq
package_list:
- name: 'python3-libselinux'
state: 'present'
- name: 'python3-libsemanage'
state: 'present'

2
vars/default.yml Normal file
View File

@ -0,0 +1,2 @@
---
# vars file for ensure_ansible_prereq