mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
split out netplan2
This commit is contained in:
parent
93694e853b
commit
343d00848f
3 changed files with 107 additions and 23 deletions
66
roles/network/tasks/netplan.yml
Normal file
66
roles/network/tasks/netplan.yml
Normal file
|
@ -0,0 +1,66 @@
|
|||
# netplan.yml
|
||||
- name: Figure out netplan file name on Ubuntu 18
|
||||
shell: ls /etc/netplan
|
||||
register: netplan
|
||||
|
||||
- name: Remove stock netplan template
|
||||
file:
|
||||
state: absent
|
||||
dest: /etc/netplan/{{ netplan }}
|
||||
|
||||
# Was needed at one point retesting current needs
|
||||
#- name: Disable and mask systemd-networkd-wait-online
|
||||
# systemd:
|
||||
# name: systemd-networkd-wait-online
|
||||
# enabled: no
|
||||
# masked: yes
|
||||
# state: stopped
|
||||
|
||||
- name: Disable and mask cloud-init
|
||||
systemd:
|
||||
name: "{{ item }}"
|
||||
enabled: no
|
||||
masked: yes
|
||||
state: stopped
|
||||
with_items:
|
||||
- cloud-init-local
|
||||
- cloud-init
|
||||
when: "{{ netplan }}" == "50-cloud-init.yaml"
|
||||
|
||||
# ICO will always set gui_static_wan_ip away from the default of 'unset' while
|
||||
# gui_static_wan turns dhcp on/off through wan_ip in computed_network and
|
||||
# overrides gui_static_wan_ip that is present. Changing wan_ip in local_vars
|
||||
# is a oneway street to static.
|
||||
|
||||
- name: Static IP computing CIDR
|
||||
shell: netmask {{ wan_ip }}/{{ wan_netmask }} | awk -F "/" '{print $2}'
|
||||
register: CIDR
|
||||
when: wan_ip != "dhcp"
|
||||
|
||||
- name: Static IP setting CIDR
|
||||
set_fact:
|
||||
wan_cidr: "{{ CIDR.stdout }}"
|
||||
when: wan_ip != "dhcp"
|
||||
|
||||
- name: Supply netplan template
|
||||
template:
|
||||
dest: /etc/netplan/01-iiab-config
|
||||
src: network/netplan.j2
|
||||
backup: no
|
||||
|
||||
- name: Stopping services
|
||||
include_tasks: down-debian.yml
|
||||
|
||||
- name: generate netplan config
|
||||
shell: netplan generate --debug
|
||||
|
||||
# wants a controlling terminal so it fails
|
||||
- name: test netplan config
|
||||
shell: netplan try --debug --timeout=2
|
||||
register: test-netplan
|
||||
ignore_errors: True
|
||||
|
||||
# and does not apply this config until rebooted or ignore the above test
|
||||
- name: Reload netplan
|
||||
shell: netplan apply
|
||||
when: not no_net_restart and test-netplan == "Configuration accepted"
|
|
@ -1,23 +0,0 @@
|
|||
{% if wan_ip != "dhcp" %}
|
||||
network:
|
||||
ethernets:
|
||||
{{ iiab_wan_iface }}:
|
||||
addresses:
|
||||
- {{ wan_ip }}/{{ wan_cidr }}
|
||||
gateway4: {{ wan_gateway }}
|
||||
nameservers:
|
||||
addresses:
|
||||
- {{ wan_nameserver }}
|
||||
search:
|
||||
- {{ iiab_domain }}
|
||||
optional: true
|
||||
version: 2
|
||||
{% else %}
|
||||
network:
|
||||
ethernets:
|
||||
{{ iiab_wan_iface }}:
|
||||
addresses: []
|
||||
dhcp4: true
|
||||
optional: true
|
||||
version: 2
|
||||
{% endif %}
|
41
roles/network/templates/network/netplan.j2
Normal file
41
roles/network/templates/network/netplan.j2
Normal file
|
@ -0,0 +1,41 @@
|
|||
network:
|
||||
version: 2
|
||||
{% if network_manager_active %}
|
||||
renderer: NetworkManager
|
||||
{% else %}
|
||||
renderer: networkd
|
||||
{% endif %}
|
||||
ethernets:
|
||||
{% if wan_ip != "dhcp" %}
|
||||
{{ iiab_wan_iface }}:
|
||||
addresses:
|
||||
- {{ wan_ip }}/{{ wan_cidr }}
|
||||
gateway4: {{ wan_gateway }}
|
||||
nameservers:
|
||||
addresses:
|
||||
- {{ wan_nameserver }}
|
||||
search:
|
||||
- {{ iiab_domain }}
|
||||
optional: true
|
||||
{% else %}
|
||||
{{ iiab_wan_iface }}:
|
||||
addresses: []
|
||||
dhcp4: true
|
||||
optional: true
|
||||
{% endif %}
|
||||
{% if iiab_lan_iface == "br0" %}
|
||||
bridges:
|
||||
# the key name is the name for virtual (created) interfaces
|
||||
br0:
|
||||
# IDs of the components; switchports expands into multiple interfaces
|
||||
# interfaces: [switchports]
|
||||
# should really compute the netmask like the wan side
|
||||
addresses: [ {{ lan_ip }}/19]
|
||||
# there should really not be a gateway present testing to prove
|
||||
gateway4: {{ lan_ip }}
|
||||
nameservers:
|
||||
addresses: [{{ lan_ip }}]
|
||||
parameters:
|
||||
forward-delay: 0
|
||||
stp: false
|
||||
{% endif %}
|
Loading…
Add table
Add a link
Reference in a new issue