Restructure role

Change default variables to include lookup table.
Change tasks to set variables based on distribution version.
This commit is contained in:
Sam Doran 2016-12-05 16:07:19 -05:00
parent 1d17b3fa93
commit 9c54c68858
4 changed files with 21 additions and 28 deletions

View file

@ -1,9 +1,9 @@
---
network_provider: "{{ network_providers[ansible_os_family][ansible_distribution_major_version] }}"
# The default network_provider is detected based on
# network_provider_default[ansible_distribution][ansible_distribution_major_version]
#
# If unspecified, the last default is 'nm'
network_provider_default:
network:
connections: []
network_providers:
RedHat:
"6": "initscripts"
"6": "initscripts"
"7": "nm"

View file

@ -1,30 +1,20 @@
- name: Detect network provider
set_fact:
network_provider: "{{ network.provider | default(network_provider_default[ansible_distribution][ansible_distribution_major_version] | default('nm')) }}"
when: network_provider is not defined
- name: Set version specific variables
include_vars: "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml"
- name: Install packages
yum:
name: "{{ network_packages | default([]) }}"
state: present
- name: Enable network service
service:
name: network
name: "{{ network_service_name }}"
state: started
enabled: yes
when: network_provider == 'initscripts'
- name: Install NetworkManager package
package:
name: NetworkManager
state: present
when: network_provider == 'nm'
- name: Enable NetworkManager service
service:
name: NetworkManager
state: running
enabled: yes
when: network_provider == 'nm'
- name: Configure networking connection profiles
network_connections:
provider: "{{ network_provider | mandatory }}"
provider: "{{ network.provider | default(network_provider) | mandatory }}"
name: "{{ item.name | mandatory }}"
state: "{{ item.state | default(omit) }}"
wait: "{{ item.wait | default(omit) }}"
@ -39,6 +29,5 @@
ip: "{{ item.ip | default(omit) }}"
with_items: "{{ network.connections | default([]) }}"
- name: Re-test connectivity
ping:

1
vars/RedHat-6.yml Normal file
View file

@ -0,0 +1 @@
network_service_name: network

3
vars/RedHat-7.yml Normal file
View file

@ -0,0 +1,3 @@
network_service_name: NetworkManager
network_packages:
- NetworkManager