diff --git a/defaults/main.yml b/defaults/main.yml index 7f1a737..ac00cc9 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -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" diff --git a/tasks/main.yml b/tasks/main.yml index 8461e37..e2ca824 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -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: diff --git a/vars/RedHat-6.yml b/vars/RedHat-6.yml new file mode 100644 index 0000000..f064b20 --- /dev/null +++ b/vars/RedHat-6.yml @@ -0,0 +1 @@ +network_service_name: network diff --git a/vars/RedHat-7.yml b/vars/RedHat-7.yml new file mode 100644 index 0000000..d5f93c2 --- /dev/null +++ b/vars/RedHat-7.yml @@ -0,0 +1,3 @@ +network_service_name: NetworkManager +network_packages: + - NetworkManager