1
0
Fork 0
mirror of https://github.com/iiab/iiab.git synced 2025-02-13 19:52:06 +00:00
iiab/roles/network/tasks/ifcfg_mods.yml

121 lines
4.4 KiB
YAML

- name: Stop the Access Point hostapd program
systemd:
name: hostapd
state: stopped
when: iiab_wireless_lan_iface != "none"
# might need an exclude for F18 here
- name: Now disconnect bridge slaves
shell: nmcli c delete id "System {{ item|trim }}"
ignore_errors: True
when: item|trim != iiab_wireless_lan_iface
with_items:
- "{{ ifcfg_slaves.stdout_lines }}"
# clear all bridge ifcfg files
- name: Now delete slave bridge ifcfg files
shell: rm -f /etc/sysconfig/network-scripts/ifcfg-"{{ item }}"
ignore_errors: True
when: num_lan_interfaces != 0 or iiab_wireless_lan_iface != "none"
with_items:
- "{{ ifcfg_slaves.stdout_lines }}"
- name: Now delete original ifcfg files
shell: rm -f /etc/sysconfig/network-scripts/ifcfg-"{{ item }}"
when: num_lan_interfaces == 1 and iiab_lan_iface != "br0"
with_items:
- "{{ discovered_lan_iface }}"
- name: bind may be affected
service: name={{ dns_service }} state=stopped
when: named_install and dnsmasq_enabled
- name: dhcpd_server may be affected - stopping dhcpd
service: name=dhcpd state=stopped
when: dhcpd_install
- name: dhcpd_server may be affected - stopping dnsmasq
service: name=dnsmasq state=stopped
when: dnsmasq_install
- name: Stop the LAN/Bridge deleting iiab-LAN
shell: nmcli con delete id iiab-LAN
ignore_errors: True
changed_when: False
when: (num_lan_interfaces != 0 or iiab_wireless_lan_iface != "none")
## vars/ users should set user_wan_iface to avoid messy redetect
- include_tasks: redetect.yml
when: discovered_wan_iface == "none" and user_wan_iface == "auto"
# move gateway if not WAN
# might have wifi info if wireless is used as uplink.
- include_tasks: edit_ifcfg.yml
when: has_wifi_gw == "none" and has_ifcfg_gw != "none" and has_ifcfg_gw != "/etc/sysconfig/network-scripts/ifcfg-WAN"
# create ifcfg-WAN if missing
# if we get here we have gateway but no ifcfg file
#- include_tasks: create_ifcfg.yml
# when: iiab_wan_iface != "none" and not has_WAN and has_ifcfg_gw == "none" and xo_model == "none" and not iiab_demo_mode
- name: Configuring LAN interface as iiab_lan_iface
template: src=network/ifcfg.j2
dest=/etc/sysconfig/network-scripts/ifcfg-LAN
when: iiab_lan_iface != "none"
# can be more than one wired interface
- name: Wired enslaving ## lan_list_result ## to Bridge
template: src=network/ifcfg-slave.j2
dest=/etc/sysconfig/network-scripts/ifcfg-{{ item|trim }}
when: iiab_lan_iface == "br0" and item|trim != iiab_wireless_lan_iface and item|trim != iiab_wan_iface
with_items:
- "{{ lan_list_result.stdout_lines }}"
- name: WiFi enslaving {{ iiab_wireless_lan_iface }} to Bridge
template: src=network/wifi-slave.j2
dest=/etc/sysconfig/network-scripts/ifcfg-{{ iiab_wireless_lan_iface }}
when: iiab_lan_iface == "br0" and iiab_wireless_lan_iface != "none"
tags:
- network
- include_tasks: enable_wan.yml
when: not installing and not iiab_demo_mode
- name: ask systemd to reread the unit files, picks up changes done
systemd:
daemon_reload: yes
when: not installing
# monitor-connection-files defaults to no with F21, F18-F20 defaults to yes
- name: Re-read network config files
shell: nmcli con reload
when: not installing and not no_NM_reload
# test point, we should always have one with any kind of starting point
# no ifcfg = supply
# had but not WAN = rename and edit if wired, skip wifi gateway.
# test point, confirm onboot=no is OK everywhere
- name: Enabling pre-existing ifcfg-WAN file
shell: nmcli conn up id iiab-WAN
when: has_WAN and iiab_wan_iface != "none" and not installing and not iiab_demo_mode
- name: Enabling ifcfg-LAN file
shell: nmcli conn up id iiab-LAN
ignore_errors: True
when: iiab_lan_iface != "none" and not installing and not iiab_demo_mode
# we could do the DEVICE name stuff for a cleaner looking nmcli
- name: Enabling ifcfg slaves
shell: nmcli conn up id "System {{ item|trim }}"
ignore_errors: True
when: iiab_lan_iface == "br0" and item|trim != iiab_wireless_lan_iface and item|trim != iiab_wan_iface and not iiab_demo_mode
with_items:
- "{{ lan_list_result.stdout_lines }}"
#- name: restart hostapd when wifi is present
# service: name=hostapd state=started
# when: iiab_wireless_lan_iface != "none" and hostapd_enabled and iiab_network_mode != "Appliance"
#- name: dhcp_server may be affected - starting - user choice
# service: name={{ dhcp_service2 }} state=started