Table of Contents generated with DocToc
An Ansible role to manage Netplan
You probably want to run the role with become: true
This role dynamically supports all netplan configuration keys through YAML merging. You do not need to wait for role updates to use new netplan features.
Any valid netplan configuration can be specified in netplan_configuration under
the network key. The role automatically merges your configuration with sensible defaults.
netplan_configuration:
network:
version: 2
openvswitch: # Any valid netplan key works
ports:
- [patch0-1, patch1-0]The role merges your configuration with defaults. User-provided values in
netplan_configuration take precedence over role-level variables like
netplan_renderer.
The following is a trivial example of a playbook that sets a single network interface. See defaults/main.yml for a full list of values that can be set for this role.
---
- hosts: ...your hosts...
any_errors_fatal: true
roles:
- role: mrlesmithjr.netplan
become: yes
# This role will do nothing unless netplan_enabled is true.
netplan_enabled: true
# This should point to an existing netplan configuration file
# on your system which this role will overwrite,
# or to a nonexistent file which netplan is aware of.
#
# The default is /etc/netplan/config.yaml.
netplan_config_file: /etc/netplan/my-awesome-netplan.yaml
# Ubuntu 18.04, for example, defaults to using networkd.
netplan_renderer: networkd
# Simple network configuration to add a single network interface.
# Configuration defined bellow will be written to the file defined
# above in `netplan_config_file`.
netplan_configuration:
network:
version: 2
ethernets:
enp28s0f7:
addresses:
- 10.11.12.99/24Vault encrypted variables need to be defined outside the netplan_configuration variable to be evaluated.
netplan_configuration:
network:
version: 2
tunnels:
wg_test:
mode: wireguard
key: "{{ my_wireguard_private_key }}"
....
my_wireguard_private_key: !vault |
31366530666465373834386563636465636135323562303866363333333865376330303130363162
....MIT
Larry Smith Jr.
