|
14 | 14 | # License for the specific language governing permissions and limitations |
15 | 15 | # under the License. |
16 | 16 |
|
17 | | -- name: Fail when edpm_network_config_tool=nmstate unless edpm_network_config_tool_nmstate_override=true |
18 | | - ansible.builtin.fail: |
19 | | - msg: | |
20 | | - edpm_network_config_tool=nmstate is experimental and not supported. |
21 | | - Set edpm_network_config_tool_nmstate_override=true to continue anyway. |
22 | | - when: |
23 | | - - edpm_network_config_tool == 'nmstate' |
24 | | - - not edpm_network_config_tool_nmstate_override|bool |
| 17 | +# Main orchestrator for network configuration |
| 18 | +# Supports three scenarios: |
| 19 | +# 1. Direct nmstate via linux-system-roles (edpm_network_config_tool: 'nmstate') |
| 20 | +# 2. os-net-config with nmstate provider (tool: 'os-net-config', edpm_network_config_nmstate: true) |
| 21 | +# 3. os-net-config with ifcfg provider (tool: 'os-net-config', edpm_network_config_nmstate: false) |
25 | 22 |
|
26 | | -- name: Install OVS NetworkManager plugin [nmstate and nmstate provider] |
27 | | - when: edpm_network_config_tool == 'nmstate' or edpm_network_config_nmstate | bool |
28 | | - become: true |
29 | | - block: |
30 | | - - name: Install OVS NetworkManager plugin [nmstate] |
31 | | - ansible.builtin.dnf: |
32 | | - name: "{{ edpm_network_config_systemrole_nmstate_dependencies }}" |
33 | | - state: present |
34 | | - register: nm_ovs_status |
35 | | - until: nm_ovs_status is succeeded |
36 | | - retries: "{{ edpm_network_config_download_retries }}" |
37 | | - delay: "{{ edpm_network_config_download_delay }}" |
38 | | - - name: Restart NetworkManager after plugin installation [nmstate] |
39 | | - ansible.builtin.systemd: |
40 | | - name: NetworkManager |
41 | | - state: restarted |
42 | | - when: nm_ovs_status.changed # noqa: no-handler |
| 23 | +- name: Setup common pre-configuration |
| 24 | + ansible.builtin.import_tasks: pre_config.yml |
43 | 25 |
|
44 | | -- name: Import DNS NetworkManager configs tasks |
45 | | - ansible.builtin.import_tasks: dns_nm_configs.yml |
| 26 | +- name: Install required packages |
| 27 | + ansible.builtin.import_tasks: package_management.yml |
46 | 28 |
|
47 | | -- name: Configure network with network role from system roles [nmstate] |
| 29 | +- name: Configure network with nmstate tool |
48 | 30 | when: edpm_network_config_tool == 'nmstate' |
49 | | - become: true |
50 | | - block: |
51 | | - - name: Render network_state variable |
52 | | - ansible.builtin.set_fact: |
53 | | - network_state: "{{ edpm_network_config_template | from_yaml }}" |
54 | | - - name: Load system-roles.network tasks [nmstate] |
55 | | - ansible.builtin.include_role: |
56 | | - name: "{{ lookup('ansible.builtin.env', 'EDPM_SYSTEMROLES', default='fedora.linux_system_roles') + '.network' }}" |
| 31 | + ansible.builtin.include_tasks: nmstate_tool.yml |
57 | 32 |
|
58 | | -- name: Disable auto-configuration of all interfaces by NetworkManager |
| 33 | +- name: Configure network with os-net-config tool |
59 | 34 | when: edpm_network_config_tool == 'os-net-config' |
60 | | - become: true |
61 | | - block: |
62 | | - - name: Set 'no-auto-default' in /etc/NetworkManager/NetworkManager.conf |
63 | | - community.general.ini_file: |
64 | | - path: /etc/NetworkManager/NetworkManager.conf |
65 | | - state: present |
66 | | - mode: "0644" |
67 | | - no_extra_spaces: true |
68 | | - section: main |
69 | | - option: no-auto-default |
70 | | - value: "*" |
71 | | - backup: true |
72 | | - register: nm_config_update |
73 | | - - name: Restart NetworkManager |
74 | | - ansible.builtin.systemd: |
75 | | - name: NetworkManager |
76 | | - state: restarted |
77 | | - when: nm_config_update.changed # noqa: no-handler |
78 | | - - name: Load edpm_network_config tasks for os-net-config tool |
79 | | - ansible.builtin.include_tasks: |
80 | | - file: network_config.yml |
| 35 | + ansible.builtin.include_tasks: os_net_config_tool.yml |
| 36 | + |
| 37 | +- name: Run post-configuration tasks |
| 38 | + ansible.builtin.include_tasks: post_config.yml |
0 commit comments