Using Ansible roles you may wish to set the package and service name per OS. Within roles we can import them within tasks from the appropriate vars.
tasks/main.yml
- name: Obtain OS Specific Variables
include_vars: "{{ item }}"
with_first_found:
- "../vars/{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml"
- "../vars/{{ ansible_distribution }}.yml"
- "../vars/{{ ansible_os_family }}.yml"
- "../vars/defaults.yml"
Then you can set values within /vars as appropriate e.g. Apache
vars/default.yml
apache_package_name: apache2
apache_service_name: apache2
/vars/RedHat.yml
apache_package_name: httpd
apache_service_name: httpd
/vars/Debian.yml
apache_package_name: apache2
apache_service_name: apache2
No comments:
Post a Comment