mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
running - double check after rebase
This commit is contained in:
parent
37b8e3fdb6
commit
8e37472fbf
5 changed files with 61 additions and 35 deletions
|
@ -8,18 +8,23 @@ gui_static_wan: False
|
||||||
# Set defaults for discovery process as strings
|
# Set defaults for discovery process as strings
|
||||||
wifi1: "not found-1"
|
wifi1: "not found-1"
|
||||||
wifi2: "not found-2"
|
wifi2: "not found-2"
|
||||||
discovered_lan_iface: "none"
|
ap_device: "none"
|
||||||
discovered_wireless_iface: "none"
|
|
||||||
#Redhat
|
|
||||||
iiab_lan_iface: "none"
|
|
||||||
iiab_wan_iface: "none"
|
|
||||||
iiab_wireless_lan_iface: "none"
|
|
||||||
device_gw: "none"
|
device_gw: "none"
|
||||||
device_gw2: ""
|
device_gw2: ""
|
||||||
|
|
||||||
|
iiab_wan_iface: "none"
|
||||||
|
iiab_lan_iface: "none"
|
||||||
|
discovered_lan_iface: "none"
|
||||||
|
discovered_wired_iface: "none"
|
||||||
|
discovered_wireless_iface: "none"
|
||||||
|
iiab_wired_lan_iface: "none"
|
||||||
|
iiab_wireless_lan_iface: "none"
|
||||||
|
|
||||||
|
#Redhat
|
||||||
has_WAN: False
|
has_WAN: False
|
||||||
has_ifcfg_gw: "none"
|
has_ifcfg_gw: "none"
|
||||||
has_wifi_gw: "none"
|
has_wifi_gw: "none"
|
||||||
ap_device: "none"
|
|
||||||
#Debian
|
#Debian
|
||||||
dhcpcd_result: ""
|
dhcpcd_result: ""
|
||||||
wan_in_interfaces: False
|
wan_in_interfaces: False
|
||||||
|
|
|
@ -32,7 +32,8 @@
|
||||||
- name: Supply dhcpcd.conf
|
- name: Supply dhcpcd.conf
|
||||||
template: dest=/etc/dhcpcd.conf
|
template: dest=/etc/dhcpcd.conf
|
||||||
src=network/dhcpcd.conf.j2
|
src=network/dhcpcd.conf.j2
|
||||||
when: dhcpcd_result == "enabled" and (iiab_lan_iface == "br0" or wan_ip != "dhcp")
|
when: dhcpcd_result == "enabled"
|
||||||
|
#and (iiab_lan_iface == "br0" or wan_ip != "dhcp")
|
||||||
|
|
||||||
- name: Copy the bridge script
|
- name: Copy the bridge script
|
||||||
template: dest=/etc/network/interfaces.d/iiab
|
template: dest=/etc/network/interfaces.d/iiab
|
||||||
|
@ -42,7 +43,7 @@
|
||||||
|
|
||||||
- name: If this was a change, things need to shift
|
- name: If this was a change, things need to shift
|
||||||
service: name=hostapd state=stopped
|
service: name=hostapd state=stopped
|
||||||
when: interface.changed
|
# when: interface.changed
|
||||||
|
|
||||||
- name: bind may be affected
|
- name: bind may be affected
|
||||||
service: name={{ dns_service }} state=stopped
|
service: name={{ dns_service }} state=stopped
|
||||||
|
@ -63,7 +64,7 @@
|
||||||
# now pick up denyinterfaces
|
# now pick up denyinterfaces
|
||||||
- name: restart dhcpcd
|
- name: restart dhcpcd
|
||||||
service: name=dhcpcd state=restarted
|
service: name=dhcpcd state=restarted
|
||||||
when: interface.changed and dhcpcd_result == "enabled"
|
when: dhcpcd_result == "enabled"
|
||||||
|
|
||||||
- name: restart the networking service
|
- name: restart the networking service
|
||||||
service: name=networking state=restarted
|
service: name=networking state=restarted
|
||||||
|
|
|
@ -73,6 +73,7 @@
|
||||||
shell: "ls -la /sys/class/net/*/phy80211 | awk -F / '{print $5}' | wc -l"
|
shell: "ls -la /sys/class/net/*/phy80211 | awk -F / '{print $5}' | wc -l"
|
||||||
register: count_wifi_interfaces
|
register: count_wifi_interfaces
|
||||||
|
|
||||||
|
# facts are apparently all stored as text, so do text comparisons from here on
|
||||||
- name: Remember number of WiFi devices
|
- name: Remember number of WiFi devices
|
||||||
set_fact:
|
set_fact:
|
||||||
num_wifi_interfaces: "{{ count_wifi_interfaces.stdout|int }}"
|
num_wifi_interfaces: "{{ count_wifi_interfaces.stdout|int }}"
|
||||||
|
@ -98,22 +99,12 @@
|
||||||
ignore_errors: True
|
ignore_errors: True
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
# Select an adapter that is not WAN and not wireless
|
|
||||||
# if there is more than one the last one wins
|
|
||||||
- name: Set IIAB discovered_lan_iface fact
|
|
||||||
set_fact:
|
|
||||||
discovered_lan_iface: "{{ item|trim }}"
|
|
||||||
when: item|trim != discovered_wireless_iface and item|trim != discovered_wan_iface
|
|
||||||
with_items:
|
|
||||||
- "{{ lan_list_result.stdout_lines }}"
|
|
||||||
|
|
||||||
- name: Count LAN ifaces
|
- name: Count LAN ifaces
|
||||||
shell: ls /sys/class/net | grep -v -e wwlan -e ppp -e lo -e br0 -e tun -e {{ device_gw }} -e {{ ap_device }} | wc -l
|
shell: ls /sys/class/net | grep -v -e wwlan -e ppp -e lo -e br0 -e tun -e {{ device_gw }} -e {{ ap_device }} | wc -l
|
||||||
register: num_lan_interfaces_result
|
register: num_lan_interfaces_result
|
||||||
ignore_errors: True
|
ignore_errors: True
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
# facts are apparently all stored as text, so do text comparisons from here on
|
|
||||||
- name: Calulate number of LAN interfaces including WiFi
|
- name: Calulate number of LAN interfaces including WiFi
|
||||||
set_fact:
|
set_fact:
|
||||||
num_lan_interfaces: "{{ num_lan_interfaces_result.stdout|int }}"
|
num_lan_interfaces: "{{ num_lan_interfaces_result.stdout|int }}"
|
||||||
|
@ -126,20 +117,39 @@
|
||||||
# num_lan_interfaces: "1"
|
# num_lan_interfaces: "1"
|
||||||
# when: iiab_lan_enabled and iiab_wan_enabled and num_lan_interfaces == "2" and discovered_wireless_iface != "none" and iiab_wan_iface == "none"
|
# when: iiab_lan_enabled and iiab_wan_enabled and num_lan_interfaces == "2" and discovered_wireless_iface != "none" and iiab_wan_iface == "none"
|
||||||
|
|
||||||
- name: Set variable discovered_wireless_iface if present
|
# if there is more than one the last one wins
|
||||||
|
# Select an adapter that is not WAN and not wireless
|
||||||
|
- name: Set discovered_wired_iface fact if present
|
||||||
|
set_fact:
|
||||||
|
discovered_wired_iface: "{{ item|trim }}"
|
||||||
|
when: item|trim != discovered_wireless_iface and item|trim != discovered_wan_iface
|
||||||
|
with_items:
|
||||||
|
- "{{ lan_list_result.stdout_lines }}"
|
||||||
|
|
||||||
|
- name: Set discovered_wireless_lan_iface fact if present
|
||||||
set_fact:
|
set_fact:
|
||||||
iiab_wireless_lan_iface: "{{ discovered_wireless_iface }}"
|
iiab_wireless_lan_iface: "{{ discovered_wireless_iface }}"
|
||||||
when: discovered_wireless_iface != "none" and discovered_wireless_iface != iiab_wan_iface
|
when: discovered_wireless_iface is defined and discovered_wireless_iface != "none" and discovered_wireless_iface != iiab_wan_iface
|
||||||
|
|
||||||
|
- name: Set variable discovered_wired_lan_iface if present
|
||||||
|
set_fact:
|
||||||
|
iiab_wired_lan_iface: "{{ discovered_wired_iface }}"
|
||||||
|
when: discovered_wired_iface is defined and discovered_wired_iface != "none" and discovered_wired_iface != iiab_wan_iface
|
||||||
|
|
||||||
#unused
|
#unused
|
||||||
#- name: Get a list of ifcfg files to delete
|
#- name: Get a list of ifcfg files to delete
|
||||||
# moved to detected_redhat
|
# moved to detected_redhat
|
||||||
|
|
||||||
# use value only if present
|
# use value only if present
|
||||||
- name: Setting detected LAN
|
- name: Setting wired LAN as only interface
|
||||||
set_fact:
|
set_fact:
|
||||||
iiab_lan_iface: "{{ discovered_lan_iface }}"
|
iiab_lan_iface: "{{ iiab_wired_lan_iface }}"
|
||||||
when: 'discovered_lan_iface != "none" and num_lan_interfaces == "1"'
|
when: iiab_wired_lan_iface is defined and num_lan_interfaces == "1"
|
||||||
|
|
||||||
|
- name: Setting wireless LAN as only interface
|
||||||
|
set_fact:
|
||||||
|
iiab_lan_iface: "{{ iiab_wireless_lan_iface }}"
|
||||||
|
when: iiab_wireless_lan_iface is defined and num_lan_interfaces == "1"
|
||||||
|
|
||||||
# big hammer for now
|
# big hammer for now
|
||||||
#- name: For Debian, always use bridging
|
#- name: For Debian, always use bridging
|
||||||
|
@ -159,7 +169,7 @@
|
||||||
|
|
||||||
- name: in VM disable bridging
|
- name: in VM disable bridging
|
||||||
set_fact:
|
set_fact:
|
||||||
iiab_lan_iface: none
|
iiab_lan_iface: none
|
||||||
when: is_VM is defined
|
when: is_VM is defined
|
||||||
|
|
||||||
# OK try old gw this is a best guess based on what's in
|
# OK try old gw this is a best guess based on what's in
|
||||||
|
@ -195,7 +205,11 @@
|
||||||
value: '{{ iiab_wireless_lan_iface }}'
|
value: '{{ iiab_wireless_lan_iface }}'
|
||||||
- option: 'num_lan_interfaces'
|
- option: 'num_lan_interfaces'
|
||||||
value: '{{ num_lan_interfaces }}'
|
value: '{{ num_lan_interfaces }}'
|
||||||
- option: 'discovered_lan_iface'
|
- option: 'discovered_wired_iface'
|
||||||
value: '{{ discovered_lan_iface }}'
|
value: '{{ discovered_wired_iface }}'
|
||||||
- option: 'gui_static_wan'
|
- option: 'gui_static_wan'
|
||||||
value: '{{ gui_static_wan }}'
|
value: '{{ gui_static_wan }}'
|
||||||
|
- option: 'dhcpcd_result'
|
||||||
|
value: '{{ dhcpcd_result }}'
|
||||||
|
- option: 'iiab_lan'
|
||||||
|
value: '{{ iiab_lan_iface }}'
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
|
||||||
|
- include_vars: roles/network/defaults/main.yml
|
||||||
|
|
||||||
- include_tasks: detected_network.yml
|
- include_tasks: detected_network.yml
|
||||||
when: not installing
|
when: not installing
|
||||||
tags:
|
tags:
|
||||||
|
@ -62,12 +65,13 @@
|
||||||
- include_tasks: debian.yml
|
- include_tasks: debian.yml
|
||||||
tags:
|
tags:
|
||||||
- network
|
- network
|
||||||
when: is_debuntu and not is_rpi and not installing
|
when: is_debuntu
|
||||||
|
#and not is_rpi and not installing
|
||||||
|
|
||||||
- include_tasks: rpi_debian.yml
|
#- include_tasks: rpi_debian.yml
|
||||||
tags:
|
# tags:
|
||||||
- network
|
# - network
|
||||||
when: is_debuntu and is_rpi and not installing
|
# when: is_debuntu and is_rpi and not installing
|
||||||
|
|
||||||
- name: Record iiab_wan_device
|
- name: Record iiab_wan_device
|
||||||
lineinfile: dest=/etc/iiab/iiab.env
|
lineinfile: dest=/etc/iiab/iiab.env
|
||||||
|
|
|
@ -40,9 +40,11 @@ slaac private
|
||||||
|
|
||||||
# supplied by IIAB
|
# supplied by IIAB
|
||||||
|
|
||||||
denyinterfaces {% if gui_static_wan == true %} {{ iiab_wan_iface }} {% endif %} {% if iiab_wireless_lan_iface != "none" %} {{ iiab_wireless_lan_iface }} {% endif %} {% if discovered_lan_iface != "none" %} {{ discovered_lan_iface }} {% endif %}
|
#{% if gui_static_wan == true %}
|
||||||
|
#denyinterfaces {{ iiab_wan_iface }}
|
||||||
|
#{% endif %}
|
||||||
|
|
||||||
{% if dhcpcd_result == "enabled" and iiab_lan_iface == "br0" %}
|
{% if dhcpcd_result == "enabled" and iiab_lan_iface != "none" %}
|
||||||
interface {{ iiab_lan_iface }}
|
interface {{ iiab_lan_iface }}
|
||||||
static ip_address={{ lan_ip }}/19
|
static ip_address={{ lan_ip }}/19
|
||||||
static routers={{ lan_ip }}
|
static routers={{ lan_ip }}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue