ansible-role-systemd_networkd/defaults/main.yml
Dmitriy Rabotyagov 18b36137dc Ensure filename is always defined for network/netdev
Right now we define resulting filename in the loop itself, which limits
ability to predict expected filename for another loop where list might
get filtered.

So to get more expected behaviour between tasks we always add filename
to the elements in vars.

Change-Id: I579980ea3a5e9349d25885530c979649cb6dcb81
2023-12-08 17:51:16 +00:00

169 lines
6.9 KiB
YAML

---
# Copyright 2017, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Cleanup all known network interfaces. When this option is enabled the role
# will search for and remove all network interface files that match the prefix.
systemd_interface_cleanup: false
# Prefix for all networkd files created by this role. This prefix allows
# deployers to set specific file names reducing the chance of a collision
# and simplifies the network interface file cleanup operation should it ever
# be needed. By default, the prefix is "general" however this can be changed
# to meet the needs of the deployer.
systemd_networkd_prefix: "general"
# Enable systemd-networkd and (re)start the service
systemd_run_networkd: false
# The `systemd_link_config_overrides` option can be used on the default link.
# See the following link for all available options:
# https://www.freedesktop.org/software/systemd/man/systemd.link.html
# systemd_default_unit:
# Match:
# Driver=things other thing
systemd_link_config_overrides: {}
# All items listed in the `systemd_netdevs` array are craeted using the exact
# networkd syntax found here:
# https://www.freedesktop.org/software/systemd/man/systemd.netdev.html
# At an absolute minimum, the items must have "NetDev" and "Name" defined.
# Items generated will have an integer assigned to them so that they're loaded
# in the order specified.
# systemd_netdevs:
# - NetDev:
# Name: dummy0
# Kind: dummy
# - NetDev:
# Name: dummy1
# Kind: dummy
# filename: "{{ item.1.NetDev.Name }}.netdev"
# - NetDev:
# Name: bond0
# Kind: bond
# Bond:
# Mode: 802.3ad
# TransmitHashPolicy: layer3+4
# MIIMonitorSec: 1s
# LACPTransmitRate: fast
# - NetDev:
# Name: br-dummy
# Kind: bridge
systemd_netdevs: []
# The systemd networkd dictionary is a set of networks that will be created.
# items generated will have an integer assigned to them so that they're loaded
# in the order specified. The dictionary can contain the following options:
# `config_overrides` -- (optional) used to inject extra configuration options
# into the network file. A full list of all
# options can be found here:
# https://www.freedesktop.org/software/systemd/man/systemd.network.html
# `filename` -- (Optional, Recommended) Defines resulted filename for config
# to be placed in. For consistency and more
# expected behaviour when list of networks
# may change it is recommended to supply
# filename for each interface.
# `link_config_overrides` -- (Optional) Used to inject extra configuration
# options into link file. A full list
# of all options can be found here:
# https://www.freedesktop.org/software/systemd/man/systemd.link.html
# `interface` -- (required) Name of interface to match
# `address` -- (option) IP address the interface should be given. To make this
# interface use DHCP set this string to "dhcp"
# `netmask` -- (optional) Netmask to use for the interface
# `gateway` -- (optional) Gateway to use for the interface
# `bridge` -- (optional) Bridge name for a mapped interface
# `bond` -- (optional) Bond name for a mapped interface
# `vlan` -- (optional) VLAN name for a mapped interface
# `macvlan` -- (optional) MACVLAN name for a mapped interface
# `vxlan` -- (optional) VXLAN name for a mapped interface
# `mtu` -- (optional) MTU to use for the interface
# `usedns` -- (optional) When set to true the interface will accept DNS when
# running in dhcp mode
# `static_routes` -- (optional) list of routes to use for the network. This
# option requires a gateway and cidr to be set
# within the list item.
# `ipforward` -- (optional) When set to true forwarding will be enabled for
# interface. This setting will enable
# net.ipv4.ip_forward, net.ipv4.conf.all.forwarding
# and net.ipv4.conf.interface.forwarding
# systemd_networks:
# - interface: "dummy0"
# bridge: "bond0"
# mtu: 9000
# - interface: "dummy1"
# filename: "{{ item.1.interface }}.network"
# bridge: "bond0"
# mtu: 9000
# - interface: "bond0"
# bridge: "br-dummy"
# mtu: 9000
# - interface: "br-dummy"
# bridge: "br-dummy"
# address: "10.0.0.100"
# netmask: "255.255.255.0"
# gateway: "10.0.0.1"
# mtu: 9000
# usedns: true
# config_overrides:
# Network:
# ConfigureWithoutCarrier: true
systemd_networks: []
# The systemd resolved service can be setup using th following configuration.
# The generator is a Key=Value pair hash and will set whatever directives it's
# instructed to. For more information on all of the possible configuration see
# https://www.freedesktop.org/software/systemd/man/resolved.conf.html
# systemd_resolved:
# DNS: "10.127.83.1"
# FallbackDNS: "208.67.222.222 8.8.8.8"
# Cache: yes
systemd_resolved: {}
# Enable or Disable the availability of systemd-resolved. This option is a
# Boolean variable.
systemd_resolved_available: "{{ _systemd_resolved_available | default(true) }}"
# Specify the command used to update the initramfs. By default this will run
# "/bin/true" which is done because the command required to run should never
# be assumed. Distro specific config is available in vars otherwise deployers
# can set this as needed.
systemd_networkd_update_initramfs: "{{ _systemd_networkd_update_initramfs | default('true') }}"
# Provide a list of packages that are to be installed before this role is
# executed.
# _systemd_networkd_distro_packages:
# - systemd-networkd
# - systemd-resolved
systemd_networkd_distro_packages: "{{ _systemd_networkd_distro_packages | default([]) }}"
systemd_networkd_epel_mirror: "{{ centos_epel_mirror | default('http://download.fedoraproject.org/pub/epel') }}"
# The systemd networkd service can be used to set specific link configuration options.
# For more information on all of the possible configuration see
# https://www.freedesktop.org/software/systemd/man/systemd.link.html
systemd_networkd_link:
MACAddressPolicy: "persistent"