Compare commits
15 Commits
main
...
inuse-sepa
| Author | SHA1 | Date | |
|---|---|---|---|
| 10fd5b8668 | |||
| 26ef6cdc33 | |||
| 728a897fec | |||
| 120a2b5a93 | |||
| 9c43186e5a | |||
| 44e2634b6e | |||
| e92dbe3658 | |||
| 2c04241abb | |||
| fcbb8826cf | |||
| 4dc1d44aea | |||
| 97bfe982cf | |||
| 69c6be8453 | |||
| fa5fbb4c7d | |||
| 5b4e8e0147 | |||
| 714f7dc85f |
495
inventory.yml
495
inventory.yml
@@ -9,6 +9,14 @@ templates:
|
||||
- name: ath10k-firmware-qca988x
|
||||
state: present
|
||||
|
||||
package_ath10k_99x0_full: &package_ath10k_99x0_full
|
||||
- name: kmod-ath10k-ct
|
||||
state: present
|
||||
- name: ath10k-firmware-qca99x0-ct
|
||||
state: absent
|
||||
- name: ath10k-firmware-qca99x0-ct-full-htt
|
||||
state: present
|
||||
|
||||
package_wpad_mesh: &package_wpad_mesh
|
||||
- name: wpad-basic-wolfssl
|
||||
state: absent
|
||||
@@ -38,9 +46,9 @@ templates:
|
||||
|
||||
openwrt:
|
||||
hosts:
|
||||
ap3825i1:
|
||||
|
||||
ap3825i7:
|
||||
packages:
|
||||
ath10k: *package_ath10k_mesh
|
||||
wpad: *package_wpad_mesh
|
||||
|
||||
network:
|
||||
@@ -50,18 +58,288 @@ openwrt:
|
||||
ports:
|
||||
- eth0
|
||||
- eth1
|
||||
stp: 1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1.2
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
device: br-lan
|
||||
proto: dhcp
|
||||
|
||||
- key: vgolan
|
||||
device: br-vgolan
|
||||
proto: dhcp
|
||||
|
||||
wireless:
|
||||
wifi_device:
|
||||
|
||||
- name: radio0
|
||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||
template: qca9880_5
|
||||
template: ath9k_5
|
||||
channel: 149
|
||||
|
||||
- name: radio1
|
||||
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||
template: ath9k_2
|
||||
channel: 11
|
||||
|
||||
wifi_iface:
|
||||
- ifname: labb2
|
||||
device: radio1
|
||||
template: labb
|
||||
|
||||
- ifname: labb5
|
||||
device: radio0
|
||||
template: labb
|
||||
|
||||
- ifname: vgo2
|
||||
device: radio1
|
||||
template: vgo2
|
||||
|
||||
- ifname: vgo5
|
||||
device: radio0
|
||||
template: vgo5
|
||||
|
||||
- ifname: vgo2n
|
||||
device: radio1
|
||||
template: vgo2n
|
||||
|
||||
- ifname: vgo5n
|
||||
device: radio0
|
||||
template: vgo5n
|
||||
|
||||
ap3825i8:
|
||||
packages:
|
||||
wpad: *package_wpad_mesh
|
||||
|
||||
network:
|
||||
device:
|
||||
- name: br-lan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0
|
||||
- eth1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1.2
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
device: br-lan
|
||||
proto: dhcp
|
||||
|
||||
- key: vgolan
|
||||
device: br-vgolan
|
||||
proto: dhcp
|
||||
|
||||
wireless:
|
||||
wifi_device:
|
||||
|
||||
- name: radio0
|
||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||
template: ath9k_5
|
||||
channel: 157
|
||||
|
||||
- name: radio1
|
||||
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||
template: ath9k_2
|
||||
channel: 6
|
||||
|
||||
wifi_iface:
|
||||
- ifname: labb2
|
||||
device: radio1
|
||||
template: labb
|
||||
|
||||
- ifname: labb5
|
||||
device: radio0
|
||||
template: labb
|
||||
|
||||
- ifname: vgo2
|
||||
device: radio1
|
||||
template: vgo2
|
||||
|
||||
- ifname: vgo5
|
||||
device: radio0
|
||||
template: vgo5
|
||||
|
||||
- ifname: vgo2n
|
||||
device: radio1
|
||||
template: vgo2n
|
||||
|
||||
- ifname: vgo5n
|
||||
device: radio0
|
||||
template: vgo5n
|
||||
|
||||
ap3825i9:
|
||||
packages:
|
||||
wpad: *package_wpad_mesh
|
||||
|
||||
network:
|
||||
device:
|
||||
- name: br-lan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0
|
||||
- eth1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1.2
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
device: br-lan
|
||||
proto: dhcp
|
||||
|
||||
- key: vgolan
|
||||
device: br-vgolan
|
||||
proto: dhcp
|
||||
|
||||
wireless:
|
||||
wifi_device:
|
||||
|
||||
- name: radio0
|
||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||
template: ath9k_5
|
||||
channel: 161
|
||||
|
||||
- name: radio1
|
||||
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||
template: ath9k_2
|
||||
channel: 1
|
||||
|
||||
wifi_iface:
|
||||
- ifname: labb2
|
||||
device: radio1
|
||||
template: labb
|
||||
|
||||
- ifname: labb5
|
||||
device: radio0
|
||||
template: labb
|
||||
|
||||
- ifname: vgo2
|
||||
device: radio1
|
||||
template: vgo2
|
||||
|
||||
- ifname: vgo5
|
||||
device: radio0
|
||||
template: vgo5
|
||||
|
||||
- ifname: vgo2n
|
||||
device: radio1
|
||||
template: vgo2n
|
||||
|
||||
- ifname: vgo5n
|
||||
device: radio0
|
||||
template: vgo5n
|
||||
|
||||
ap3825i4:
|
||||
packages:
|
||||
wpad: *package_wpad_mesh
|
||||
|
||||
network:
|
||||
device:
|
||||
- name: br-lan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0
|
||||
- eth1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1.2
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
device: br-lan
|
||||
proto: dhcp
|
||||
|
||||
- key: vgolan
|
||||
device: br-vgolan
|
||||
proto: dhcp
|
||||
|
||||
wireless:
|
||||
wifi_device:
|
||||
|
||||
- name: radio0
|
||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||
template: ath9k_5
|
||||
channel: 36
|
||||
|
||||
- name: radio1
|
||||
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||
template: ath9k_2
|
||||
channel: 1
|
||||
|
||||
wifi_iface:
|
||||
- ifname: labb2
|
||||
device: radio1
|
||||
template: labb
|
||||
|
||||
- ifname: labb5
|
||||
device: radio0
|
||||
template: labb
|
||||
|
||||
- ifname: vgo2
|
||||
device: radio1
|
||||
template: vgo2
|
||||
|
||||
- ifname: vgo5
|
||||
device: radio0
|
||||
template: vgo5
|
||||
|
||||
- ifname: vgo2n
|
||||
device: radio1
|
||||
template: vgo2n
|
||||
|
||||
- ifname: vgo5n
|
||||
device: radio0
|
||||
template: vgo5n
|
||||
|
||||
ap3825i6:
|
||||
packages:
|
||||
wpad: *package_wpad_mesh
|
||||
|
||||
network:
|
||||
device:
|
||||
- name: br-lan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0
|
||||
- eth1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1.2
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
device: br-lan
|
||||
proto: dhcp
|
||||
|
||||
- key: vgolan
|
||||
device: br-vgolan
|
||||
proto: dhcp
|
||||
|
||||
wireless:
|
||||
wifi_device:
|
||||
|
||||
- name: radio0
|
||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||
template: ath9k_5
|
||||
channel: 48
|
||||
|
||||
- name: radio1
|
||||
@@ -70,19 +348,34 @@ openwrt:
|
||||
channel: 11
|
||||
|
||||
wifi_iface:
|
||||
- ifname: labbmesh5
|
||||
device: radio0
|
||||
template: labbmesh
|
||||
disabled: 0
|
||||
|
||||
- ifname: labb2
|
||||
device: radio1
|
||||
template: labb
|
||||
|
||||
ap3825i4:
|
||||
- ifname: labb5
|
||||
device: radio0
|
||||
template: labb
|
||||
|
||||
- ifname: vgo2
|
||||
device: radio1
|
||||
template: vgo2
|
||||
|
||||
- ifname: vgo5
|
||||
device: radio0
|
||||
template: vgo5
|
||||
|
||||
- ifname: vgo2n
|
||||
device: radio1
|
||||
template: vgo2n
|
||||
|
||||
- ifname: vgo5n
|
||||
device: radio0
|
||||
template: vgo5n
|
||||
|
||||
ap3825i10:
|
||||
packages:
|
||||
ath10k: *package_ath10k_mesh
|
||||
wpad: *package_wpad_mesh
|
||||
ath10k: *package_ath10k_mesh
|
||||
|
||||
network:
|
||||
device:
|
||||
@@ -90,84 +383,13 @@ openwrt:
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0
|
||||
- eth1.7
|
||||
stp: 1
|
||||
- eth1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1.2
|
||||
stp: 1
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
device: br-lan
|
||||
proto: dhcp
|
||||
|
||||
- key: vgolan
|
||||
device: br-vgolan
|
||||
proto: dhcp
|
||||
|
||||
wireless:
|
||||
wifi_device:
|
||||
- name: radio0
|
||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||
template: qca9880_5
|
||||
channel: 48
|
||||
|
||||
- name: radio1
|
||||
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||
template: ath9k_2
|
||||
channel: 6
|
||||
|
||||
wifi_iface:
|
||||
- ifname: vgo2
|
||||
device: radio1
|
||||
template: vgo2
|
||||
disabled: 0
|
||||
|
||||
- ifname: vgomesh2
|
||||
device: radio1
|
||||
template: vgomesh2
|
||||
disabled: 0
|
||||
|
||||
- ifname: vgo5
|
||||
device: radio0
|
||||
template: vgo5
|
||||
disabled: 0
|
||||
|
||||
- ifname: labb2
|
||||
device: radio1
|
||||
template: labb
|
||||
|
||||
- ifname: labbmesh5
|
||||
device: radio0
|
||||
template: labbmesh
|
||||
disabled: 0
|
||||
|
||||
- ifname: labb5
|
||||
device: radio0
|
||||
template: labb
|
||||
|
||||
- ifname: labbmesh2
|
||||
device: radio1
|
||||
template: labbmesh
|
||||
disabled: 0
|
||||
|
||||
ap3825i3:
|
||||
network:
|
||||
device:
|
||||
- name: br-lan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
@@ -191,84 +413,72 @@ openwrt:
|
||||
channel: 1
|
||||
|
||||
wifi_iface:
|
||||
- ifname: vgo2
|
||||
device: radio1
|
||||
template: vgo2
|
||||
|
||||
- ifname: vgo5
|
||||
- ifname: vgo5c
|
||||
device: radio0
|
||||
template: vgo5
|
||||
template: vgo5c
|
||||
|
||||
- ifname: labb2
|
||||
device: radio1
|
||||
template: labb
|
||||
ap3825i11:
|
||||
packages:
|
||||
wpad: *package_wpad_mesh
|
||||
ath10k: *package_ath10k_mesh
|
||||
|
||||
- ifname: labb5
|
||||
device: radio0
|
||||
template: labb
|
||||
|
||||
mr16_4:
|
||||
network:
|
||||
device:
|
||||
- name: br-lan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0
|
||||
stp: 1
|
||||
- eth1.2
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
device: br-lan
|
||||
proto: dhcp
|
||||
|
||||
- key: vgolan
|
||||
device: br-vgolan
|
||||
proto: dhcp
|
||||
|
||||
wireless:
|
||||
wifi_device:
|
||||
- name: radio0
|
||||
path: pci0000:00/0000:00:11.0
|
||||
template: ath9k_2
|
||||
hwmode:
|
||||
band: 2g
|
||||
channel: 6
|
||||
disabled: 1
|
||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||
template: qca9880_5
|
||||
channel: 157
|
||||
|
||||
- name: radio1
|
||||
path: pci0000:00/0000:00:12.0
|
||||
template: ath9k_5
|
||||
hwmode:
|
||||
band: 5g
|
||||
channel: 48
|
||||
path: ffe09000.pcie/pci9000:00/9000:00:00.0/9000:01:00.0
|
||||
template: ath9k_2
|
||||
channel: 1
|
||||
|
||||
wifi_iface:
|
||||
- ifname: labbmesh2
|
||||
- ifname: vgo5c
|
||||
device: radio0
|
||||
template: labbmesh
|
||||
template: vgo5c
|
||||
|
||||
- ifname: labbmesh5
|
||||
device: radio1
|
||||
template: labbmesh
|
||||
|
||||
ap3825i7:
|
||||
ap3825i12:
|
||||
packages:
|
||||
ath10k: *package_ath10k_mesh
|
||||
wpad: *package_wpad_mesh
|
||||
ath10k: *package_ath10k_mesh
|
||||
|
||||
network:
|
||||
device:
|
||||
- name: br-lan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.7
|
||||
- eth1.7
|
||||
- eth0
|
||||
- eth1
|
||||
stp: 1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1.2
|
||||
stp: 1
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
@@ -281,7 +491,6 @@ openwrt:
|
||||
|
||||
wireless:
|
||||
wifi_device:
|
||||
|
||||
- name: radio0
|
||||
path: ffe0a000.pcie/pcia000:02/a000:02:00.0/a000:03:00.0
|
||||
template: qca9880_5
|
||||
@@ -293,40 +502,28 @@ openwrt:
|
||||
channel: 1
|
||||
|
||||
wifi_iface:
|
||||
- ifname: labb2
|
||||
- ifname: vgo5c
|
||||
device: radio0
|
||||
template: labb
|
||||
template: vgo5c
|
||||
|
||||
- ifname: labb5
|
||||
device: radio1
|
||||
template: labb
|
||||
|
||||
- ifname: vgo2
|
||||
device: radio0
|
||||
template: vgo2
|
||||
|
||||
- ifname: vgo5
|
||||
device: radio1
|
||||
template: vgo5
|
||||
|
||||
ap3825i6:
|
||||
ap3825i13:
|
||||
packages:
|
||||
ath10k: *package_ath10k_mesh
|
||||
wpad: *package_wpad_mesh
|
||||
ath10k: *package_ath10k_mesh
|
||||
|
||||
network:
|
||||
device:
|
||||
- name: br-lan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0
|
||||
- eth1
|
||||
stp: 1
|
||||
|
||||
- name: br-vgolan
|
||||
type: bridge
|
||||
ports:
|
||||
- eth0.2
|
||||
- eth1.2
|
||||
stp: 1
|
||||
|
||||
interface:
|
||||
- key: lan
|
||||
@@ -350,20 +547,6 @@ openwrt:
|
||||
channel: 1
|
||||
|
||||
wifi_iface:
|
||||
- ifname: vgo2
|
||||
device: radio1
|
||||
template: vgo2
|
||||
disabled: 0
|
||||
|
||||
- ifname: vgo5
|
||||
- ifname: vgo5c
|
||||
device: radio0
|
||||
template: vgo5
|
||||
disabled: 0
|
||||
|
||||
- ifname: labb2
|
||||
device: radio1
|
||||
template: labb
|
||||
|
||||
- ifname: labb5
|
||||
device: radio0
|
||||
template: labb
|
||||
template: vgo5c
|
||||
|
||||
@@ -25,10 +25,14 @@
|
||||
- name: Update authorized keys
|
||||
lineinfile:
|
||||
path: /etc/dropbear/authorized_keys
|
||||
line: "{{ lookup('file', lookup('env', 'HOME') + '/.ssh/id_ed25519.pub') }}"
|
||||
line: "{{ item }}"
|
||||
state: present
|
||||
create: yes
|
||||
mode: 644
|
||||
loop:
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBEysezzehXkUOm8u8nXP+YloSE8JpKYevCslao5tB2l root@neo"
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILCYhh9Fjo8bV5rV6UfvwDgR+NlmCfKuR14iXgmILeDj hurricos@bielik"
|
||||
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPh3R8BXv9geqJMaxi134Y5hcOVZPQ/rfghjszYMFG5z hurricos@zephyr"
|
||||
|
||||
- name: Disable Root password authentication
|
||||
uci:
|
||||
|
||||
12
roles/netconfig/handlers/main.yml
Normal file
12
roles/netconfig/handlers/main.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
- name: reload odhcpd
|
||||
nohup:
|
||||
command: /etc/init.d/odhcpd reload
|
||||
delay: 1
|
||||
when: "'openwrt' in group_names"
|
||||
|
||||
- name: reload dnsmasq
|
||||
nohup:
|
||||
command: /etc/init.d/dnsmasq reload
|
||||
delay: 1
|
||||
when: "'openwrt' in group_names"
|
||||
@@ -1,75 +1,8 @@
|
||||
- name: Setup network devices
|
||||
uci:
|
||||
command: section
|
||||
config: network
|
||||
type: device
|
||||
find_by:
|
||||
name: "{{ item.name }}"
|
||||
value:
|
||||
type: "{{ item.type }}"
|
||||
ports: "{{ item.ports }}"
|
||||
stp: "{{ item.stp | default() }}"
|
||||
loop: "{{ network['device'] }}"
|
||||
- name: Setup dhcp
|
||||
ansible.builtin.import_tasks: setup_dhcp.yml
|
||||
|
||||
- name: Setup network interfaces
|
||||
uci:
|
||||
command: section
|
||||
config: network
|
||||
type: interface
|
||||
name: "{{ item.key }}"
|
||||
value:
|
||||
device: "{{ item.device }}"
|
||||
proto: "{{ item.proto }}"
|
||||
ifname: "{{ item.ifname | default() }}"
|
||||
loop: "{{ network['interface'] }}"
|
||||
- name: Setup network
|
||||
ansible.builtin.import_tasks: setup_network.yml
|
||||
|
||||
- name: commit changes
|
||||
uci:
|
||||
command: commit
|
||||
key: network
|
||||
notify: restart network
|
||||
|
||||
- name: Setup wireless devices (radios)
|
||||
uci:
|
||||
command: section
|
||||
config: wireless
|
||||
type: wifi-device
|
||||
find_by:
|
||||
path: "{{ item.path }}"
|
||||
name: "{{ item.name }}"
|
||||
value:
|
||||
type: "mac80211" # they'd BETTER be.
|
||||
band: "{{ item.band | default(wifi_device[item.template].band) | default() }}"
|
||||
channel: "{{ item.channel | default(wifi_device[item.template].channel) }}"
|
||||
country: "{{ item.country | default(wifi_device[item.template].country) }}"
|
||||
disabled: "{{ item.disabled | default(wifi_device[item.template].disabled) }}"
|
||||
hwmode: "{{ item.hwmode | default(wifi_device[item.template].hwmode) | default() }}"
|
||||
htmode: "{{ item.htmode | default(wifi_device[item.template].htmode) }}"
|
||||
log_level: "{{ item.log_level | default(wifi_device[item.template].log_level) | default() }}"
|
||||
loop: "{{ wireless['wifi_device'] }}"
|
||||
|
||||
- name: Setup wireless ifaces (VIFs)
|
||||
uci:
|
||||
command: section
|
||||
config: wireless
|
||||
type: wifi-iface
|
||||
name: "{{ item.ifname | default(wifi_iface[item.template].ifname) | default('') }}"
|
||||
value:
|
||||
ifname: "{{ item.ifname | default(wifi_iface[item.template].ifname) | default('') if not item.force_ifnameless | default(false) }}"
|
||||
mode: "{{ item.mode | default(wifi_iface[item.template].mode) }}"
|
||||
device: "{{ item.device | default(wifi_iface[item.template].device) }}"
|
||||
network: "{{ item.network | default(wifi_iface[item.template].network) }}"
|
||||
ssid: "{{ item.ssid | default(wifi_iface[item.template].ssid) | default() }}"
|
||||
mesh_id: "{{ item.mesh_id | default(wifi_iface[item.template].mesh_id) | default() }}"
|
||||
encryption: "{{ item.encryption | default(wifi_iface[item.template].encryption) }}"
|
||||
key: "{{ item.key | default(wifi_iface[item.template].key) }}"
|
||||
disabled: "{{ item.disabled | default(wifi_iface[item.template].disabled) | default(0) }}"
|
||||
skip_inactivity_poll: "{{ item.skip_inactivity_poll | default(wifi_iface[item.template].skip_inactivity_poll) | default() }}"
|
||||
disassoc_low_ack: "{{ item.disassoc_low_ack | default(wifi_iface[item.template].disassoc_low_ack) | default() }}"
|
||||
loop: "{{ wireless['wifi_iface'] }}"
|
||||
|
||||
- name: commit changes
|
||||
uci:
|
||||
command: commit
|
||||
key: wireless
|
||||
notify: reload wifi
|
||||
- name: Setup wireless
|
||||
ansible.builtin.import_tasks: setup_wireless.yml
|
||||
|
||||
8
roles/netconfig/tasks/setup_dhcp.yml
Normal file
8
roles/netconfig/tasks/setup_dhcp.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
- name: Totally eliminate DHCP configuration
|
||||
copy:
|
||||
content: ''
|
||||
dest: "/etc/config/dhcp"
|
||||
notify: # https://selivan.github.io/2017/01/15/ansible-multiple-handlers-subtlety.html
|
||||
- reload odhcpd
|
||||
- reload dnsmasq
|
||||
31
roles/netconfig/tasks/setup_network.yml
Normal file
31
roles/netconfig/tasks/setup_network.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
- name: Setup network devices
|
||||
uci:
|
||||
command: section
|
||||
config: network
|
||||
type: device
|
||||
find_by:
|
||||
name: "{{ item.name }}"
|
||||
value:
|
||||
type: "{{ item.type }}"
|
||||
ports: "{{ item.ports }}"
|
||||
stp: "{{ item.stp | default() }}"
|
||||
loop: "{{ network['device'] }}"
|
||||
|
||||
- name: Setup network interfaces
|
||||
uci:
|
||||
command: section
|
||||
config: network
|
||||
type: interface
|
||||
name: "{{ item.key }}"
|
||||
value:
|
||||
device: "{{ item.device }}"
|
||||
proto: "{{ item.proto }}"
|
||||
ifname: "{{ item.ifname | default() }}"
|
||||
loop: "{{ network['interface'] }}"
|
||||
|
||||
- name: commit changes
|
||||
uci:
|
||||
command: commit
|
||||
key: network
|
||||
notify: restart network
|
||||
58
roles/netconfig/tasks/setup_wireless.yml
Normal file
58
roles/netconfig/tasks/setup_wireless.yml
Normal file
@@ -0,0 +1,58 @@
|
||||
---
|
||||
- name: Tear down the default wifi-iface(s)
|
||||
uci:
|
||||
config: wireless
|
||||
command: absent
|
||||
section: "{{ item }}"
|
||||
loop:
|
||||
- default_radio0
|
||||
- default_radio1
|
||||
|
||||
- name: Setup wireless devices (radios)
|
||||
uci:
|
||||
command: section
|
||||
config: wireless
|
||||
type: wifi-device
|
||||
find_by:
|
||||
path: "{{ item.path }}"
|
||||
name: "{{ item.name }}"
|
||||
value:
|
||||
type: "mac80211" # they'd BETTER be.
|
||||
band: "{{ item.band | default(wifi_device[item.template].band) | default() }}"
|
||||
channel: "{{ item.channel | default(wifi_device[item.template].channel) }}"
|
||||
country: "{{ item.country | default(wifi_device[item.template].country) }}"
|
||||
disabled: "{{ item.disabled | default(wifi_device[item.template].disabled) }}"
|
||||
hwmode: "{{ item.hwmode | default(wifi_device[item.template].hwmode) | default() }}"
|
||||
htmode: "{{ item.htmode | default(wifi_device[item.template].htmode) }}"
|
||||
log_level: "{{ item.log_level | default(wifi_device[item.template].log_level) | default() }}"
|
||||
loop: "{{ wireless['wifi_device'] }}"
|
||||
|
||||
- name: Setup wireless ifaces (VIFs)
|
||||
uci:
|
||||
command: section
|
||||
config: wireless
|
||||
type: wifi-iface
|
||||
name: "{{ item.ifname | default(wifi_iface[item.template].ifname) | default('') }}"
|
||||
value:
|
||||
ifname: "{{ item.ifname | default(wifi_iface[item.template].ifname) | default('') if not item.force_ifnameless | default(false) }}"
|
||||
mode: "{{ item.mode | default(wifi_iface[item.template].mode) }}"
|
||||
device: "{{ item.device | default(wifi_iface[item.template].device) }}"
|
||||
network: "{{ item.network | default(wifi_iface[item.template].network) }}"
|
||||
ssid: "{{ item.ssid | default(wifi_iface[item.template].ssid) | default() }}"
|
||||
bss_transition: "{{ item.bss_transition | default(wifi_iface[item.template].bss_transition) | default() }}"
|
||||
ieee80211k: "{{ item.ieee80211k | default(wifi_iface[item.template].ieee80211k) | default() }}"
|
||||
ieee80211r: "{{ item.ieee80211r | default(wifi_iface[item.template].ieee80211r) | default() }}"
|
||||
ieee80211v: "{{ item.ieee80211v | default(wifi_iface[item.template].ieee80211v) | default() }}"
|
||||
mesh_id: "{{ item.mesh_id | default(wifi_iface[item.template].mesh_id) | default() }}"
|
||||
encryption: "{{ item.encryption | default(wifi_iface[item.template].encryption) }}"
|
||||
key: "{{ item.key | default(wifi_iface[item.template].key) }}"
|
||||
disabled: "{{ item.disabled | default(wifi_iface[item.template].disabled) | default(0) }}"
|
||||
skip_inactivity_poll: "{{ item.skip_inactivity_poll | default(wifi_iface[item.template].skip_inactivity_poll) | default() }}"
|
||||
disassoc_low_ack: "{{ item.disassoc_low_ack | default(wifi_iface[item.template].disassoc_low_ack) | default() }}"
|
||||
loop: "{{ wireless['wifi_iface'] }}"
|
||||
|
||||
- name: commit changes
|
||||
uci:
|
||||
command: commit
|
||||
key: wireless
|
||||
notify: reload wifi
|
||||
@@ -7,6 +7,10 @@ wifi_iface:
|
||||
key: 'password'
|
||||
skip_inactivity_poll: '1'
|
||||
disassoc_low_ack: '0'
|
||||
ieee80211k: 1
|
||||
ieee80211r: 1
|
||||
ieee80211v: 1
|
||||
bss_transition: 1
|
||||
|
||||
vgo: &vgo_wifi_iface
|
||||
<<: *default_wifi_iface
|
||||
@@ -27,12 +31,21 @@ wifi_iface:
|
||||
<<: *vgo_wifi_iface
|
||||
ssid: 'Vermont Green Offices 5G'
|
||||
|
||||
mesh: &mesh_wifi_iface
|
||||
ssid:
|
||||
mode: 'mesh'
|
||||
encryption: 'psk2+ccmp'
|
||||
skip_inactivity_poll: 1
|
||||
disassoc_low_ack:
|
||||
vgo2n:
|
||||
<<: *vgo_wifi_iface
|
||||
ssid: 'Vermont Green Offices'
|
||||
|
||||
vgo5n:
|
||||
<<: *vgo_wifi_iface
|
||||
ssid: 'Vermont Green Offices'
|
||||
|
||||
vgo5c:
|
||||
<<: *vgo_wifi_iface
|
||||
ssid: 'Vermont Green Offices 5AC'
|
||||
ieee80211k: 0
|
||||
ieee80211r: 0
|
||||
ieee80211v: 0
|
||||
bss_transition: 0
|
||||
|
||||
labb: &labb_wifi_iface
|
||||
<<: *default_wifi_iface
|
||||
@@ -50,16 +63,6 @@ wifi_iface:
|
||||
<<: *labb_wifi_iface
|
||||
encryption: 'sae'
|
||||
|
||||
labbmesh:
|
||||
<<: *labb_wifi_iface
|
||||
<<: *mesh_wifi_iface
|
||||
mesh_id: 'Laboratory B_Mesh'
|
||||
|
||||
vgomesh2:
|
||||
<<: *vgo_wifi_iface
|
||||
<<: *mesh_wifi_iface
|
||||
mesh_id: 'Vermont Green Offices 2G_Mesh'
|
||||
|
||||
wifi_device:
|
||||
|
||||
default: &default_wifi_device
|
||||
|
||||
@@ -3,3 +3,15 @@
|
||||
argv:
|
||||
- touch
|
||||
- /tmp/test_proof
|
||||
|
||||
- name: Restart prometheus-ucode
|
||||
service:
|
||||
name: prometheus-node-exporter-ucode
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
- name: Restart prometheus-lua
|
||||
service:
|
||||
name: prometheus-node-exporter-lua
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
||||
@@ -27,3 +27,60 @@
|
||||
state: "{{ item.state }}"
|
||||
loop: "{{ packages.ath10k | default([]) }}"
|
||||
notify: "{{ item.notify | default([]) }}"
|
||||
|
||||
# - name: Install prometheus-ucode packages
|
||||
# opkg:
|
||||
# name: "{{ item }}"
|
||||
# state: present
|
||||
# loop:
|
||||
# - prometheus-node-exporter-ucode
|
||||
# - prometheus-node-exporter-ucode-wifi
|
||||
# - prometheus-node-exporter-ucode-netstat
|
||||
# - prometheus-node-exporter-ucode-openwrt
|
||||
# notify: Restart prometheus-ucode
|
||||
|
||||
# - name: Setup prometheus-ucode properly
|
||||
# uci:
|
||||
# command: set
|
||||
# key: 'prometheus-node-exporter-ucode.main'
|
||||
# value:
|
||||
# listen_interface: 'lan'
|
||||
# notify: Restart prometheus-ucode
|
||||
|
||||
# - name: commit changes to prometheus-node-exporter-ucode
|
||||
# uci:
|
||||
# command: commit
|
||||
# key: prometheus-node-exporter-ucode
|
||||
|
||||
- name: Install prometheus-lua packages
|
||||
opkg:
|
||||
name: "{{ item }}"
|
||||
state: present
|
||||
loop:
|
||||
- prometheus-node-exporter-lua
|
||||
- prometheus-node-exporter-lua-wifi
|
||||
- prometheus-node-exporter-lua-wifi_stations
|
||||
- prometheus-node-exporter-lua-hostapd_stations
|
||||
- prometheus-node-exporter-lua-hostapd_ubus_stations
|
||||
- prometheus-node-exporter-lua-netstat
|
||||
- prometheus-node-exporter-lua-dawn
|
||||
notify: Restart prometheus-lua
|
||||
|
||||
- name: Setup prometheus-lua properly
|
||||
uci:
|
||||
command: set
|
||||
key: 'prometheus-node-exporter-lua.main'
|
||||
value:
|
||||
listen_interface: 'lan'
|
||||
notify: Restart prometheus-lua
|
||||
|
||||
- name: commit changes to prometheus-node-exporter-lua
|
||||
uci:
|
||||
command: commit
|
||||
key: prometheus-node-exporter-lua
|
||||
|
||||
- name: Install dawn
|
||||
opkg:
|
||||
name: dawn
|
||||
state: present
|
||||
|
||||
|
||||
Reference in New Issue
Block a user