diff --git a/defaults/main.yml b/defaults/main.yml index ccbd58d979304d904fc283b0d3f161a2e389e14b..9708f5c15581c83eae2b9459a06a924f0e488149 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -23,3 +23,19 @@ users: # passwordless_sudo: yes # # https://docs.ansible.com/ansible/latest/collections/ansible/posix/authorized_key_module.html#examples # keys_url: https://git.sch.bme.hu/xy.keys + +# netplan: +# network: +# ethernets: +# ens192: +# dhcp4: no +# addresses: +# - 152.66.208.666/24 +# nameservers: +# search: [sch.bme.hu] +# addresses: [152.66.208.1, 8.8.8.8] +# gateway4: 152.66.208.254 +# ens224: +# dhcp4: no +# addresses: +# - 192.168.1.254/24 diff --git a/tasks/main.yml b/tasks/main.yml index 051d931642b61279a7803d620ef062b646b17694..99844df386f25558ddbf1e3d2116705e587732e1 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -34,3 +34,7 @@ - name: Fix multipath UUID VMWare errors include_tasks: multipath.yaml + +- name: Update netplan config + include_tasks: netplan.yaml + when: netplan is defined diff --git a/tasks/netplan.yaml b/tasks/netplan.yaml new file mode 100644 index 0000000000000000000000000000000000000000..981aa98d33a5421819db8bb86e6e508145a0c334 --- /dev/null +++ b/tasks/netplan.yaml @@ -0,0 +1,23 @@ +--- +- name: Disable cloud init networking + template: + src: etc/cloud/cloud.cfg.d/99-disable-network-config.cfg.j2 + dest: /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg + mode: 0644 + +- name: Add netplan network config + template: + src: etc/netplan/01-netcfg.yaml.j2 + dest: /etc/netplan/01-netcfg.yaml + mode: 0644 + register: netplan_config + +- name: Remove old netplan config + ansible.builtin.file: + path: /etc/netplan/50-cloud-init.yaml + state: absent + when: netplan_config.changed + +- name: Apply Netplan Configuration + command: netplan apply + when: netplan_config.changed diff --git a/tasks/packages.yml b/tasks/packages.yml index 68ef1f9fa0e16c83e143245e43ebdf5698381d6a..653d5101d64c43360b41be362ad62162b4168c0c 100644 --- a/tasks/packages.yml +++ b/tasks/packages.yml @@ -19,6 +19,7 @@ - strace - tcpdump - xxd + - traceroute # Editors - nano diff --git a/templates/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg.j2 b/templates/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg.j2 new file mode 100644 index 0000000000000000000000000000000000000000..c12ad7873d81d28f981ea4ee75ee56ac8534c9fa --- /dev/null +++ b/templates/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg.j2 @@ -0,0 +1,7 @@ +# +# !!! +# {{ ansible_managed }} +# !!! + +# Disable cloudinit network config +network: {config: disabled} diff --git a/templates/etc/netplan/01-netcfg.yaml.j2 b/templates/etc/netplan/01-netcfg.yaml.j2 new file mode 100644 index 0000000000000000000000000000000000000000..8cd0c6fc27b86cbe37b4a1b3985bcf7cc306c289 --- /dev/null +++ b/templates/etc/netplan/01-netcfg.yaml.j2 @@ -0,0 +1,10 @@ +# +# !!! +# {{ ansible_managed }} +# !!! + +network: + version: 2 + renderer: networkd + ethernets: +{{ netplan['network']['ethernets']|to_nice_yaml|indent(4, true) }}