Ansible role to manage systemd networkd
Go to file
Dmitriy Rabotyagov 0ae090b0d5 Add repos only when there're packages for install
At the moment we allow not to install packages by providing
systemd_networkd_distro_packages as an empty list. When that happens
it makes sense also to skip all tasks related to adding repositories
when no packages are going to be installed.

Not installing packages might be useful for containers creation or
in situations when there is no networking yet, but we know that
systemd-networkd is already present.

Change-Id: I5e12cb0eb07b5eb8dcca462dbe8239a926ef80e6
2022-10-14 18:21:37 +02:00
defaults Add CentOS 8 support 2020-06-23 12:44:21 +03:00
doc Switch sphinx language to en 2022-05-30 16:01:11 +02:00
examples Add integrated linters test 2022-01-25 11:29:12 +00:00
files/gpg Add centos-9 support 2022-01-11 14:14:55 +00:00
handlers Use ansible_facts[] instead of fact variables 2021-02-24 14:26:31 +00:00
html-docs first commit 2018-03-13 23:09:48 -05:00
meta Drop plugins from role requirements 2022-01-11 16:58:21 +02:00
releasenotes Use newer openstackdocstheme and reno versions 2020-06-03 18:57:45 +02:00
tasks Add repos only when there're packages for install 2022-10-14 18:21:37 +02:00
templates Change location of ipaddr filter 2022-03-02 14:59:43 -05:00
tests Use ansible_facts[] instead of fact variables 2021-02-24 14:26:31 +00:00
vars Add centos-9 support 2022-01-11 14:14:55 +00:00
zuul.d Add integrated linters test 2022-01-25 11:29:12 +00:00
.gitignore Updated from OpenStack Ansible Tests 2019-08-20 03:07:47 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:29:42 +00:00
CONTRIBUTING.rst [ussuri][goal] Update contributor documentation 2020-05-13 00:08:50 +03:00
LICENSE first commit 2018-03-13 23:09:48 -05:00
README.md Update documentation on role requirements 2022-05-13 10:42:11 +02:00
Vagrantfile Updated from OpenStack Ansible Tests 2021-12-17 16:50:36 +00:00
bindep.txt Updated from OpenStack Ansible Tests 2021-03-12 22:23:47 +00:00
manual-test.rc Update documentation on role requirements 2022-05-13 10:42:11 +02:00
requirements.yml Update documentation on role requirements 2022-05-13 10:42:11 +02:00
run_tests.sh Updated from OpenStack Ansible Tests 2022-04-04 09:22:59 +00:00
tox.ini Cleanup setup.py config 2022-04-04 10:22:21 +01:00

README.md

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"
              cidr: "10.1.0.0/24"
          config_overrides:
            Network:
              ConfigureWithoutCarrier: true