Dmitriy Rabotyagov
b9554b1e7f
Install role pre-requisite packages
Historically we were assuming some subsystems like udev or dbus being part of the core images and never handled their installation. However such subsystems are a hard requirement for role to succeed and networkd to operate correctly. To ensure all required bits in place, we've adding installation of dbus and udev to the role in order to prevent failures on very minimal images Change-Id: Ie77a7064d17e6aef0be16b8a5d9be5cc121b665b
Ansible systemd_networkd
This Ansible role configures systemd-networkd link, network, and netdev files.
This role requires the ansible-config_template
collection to be available
on your local system.
To get collection you can use use the ansible-galaxy
command on the
requirements.yml
file.. You need to install collection before
running this role.
# ansible-galaxy install -r requirements.yml
Release notes for the project can be found at: https://docs.openstack.org/releasenotes/ansible-role-systemd_networkd
Example playbook
See the "defaults.yml" file for a full list of all available options.
- name: Create a systemd-networkd interfaces
hosts: localhost
become: true
roles:
- role: "systemd_networkd"
systemd_netdevs:
- NetDev:
Name: dummy0
Kind: dummy
- NetDev:
Name: dummy1
Kind: dummy
- NetDev:
Name: bond0
Kind: bond
Bond:
Mode: 802.3ad
TransmitHashPolicy: layer3+4
MIIMonitorSec: 1s
LACPTransmitRate: fast
- NetDev:
Name: br-dummy
Kind: bridge
systemd_networks:
- interface: "dummy0"
bond: "bond0"
mtu: 9000
- interface: "dummy1"
bond: "bond0"
mtu: 9000
- interface: "bond0"
bridge: "br-dummy"
mtu: 9000
- interface: "br-dummy"
address: "10.0.0.100"
netmask: "255.255.255.0"
gateway: "10.0.0.1"
mtu: 9000
usedns: true
static_routes:
- Gateway: "10.1.0.1"
Destination: "10.1.0.0/24"
- Gateway: "192.168.0.1"
Table: 100
routing_rules:
- IncomingInterface: bond1
Priority: 900
Table: 100
config_overrides:
Network:
ConfigureWithoutCarrier: true
Description
Languages
Python
74.3%
Jinja
25.7%