Ansible role to manage systemd networkd
Go to file
Heba Naser acb43b8f2e Use tests repo for common role test requirements
Using tox for requirements management requires in-repo
requirements files for all our repositories. Rather than
do that, we make use of the tests repo to capture our
common requirements and use this to install them.

This reduces our review requirement rate and simplifies
maintenance for us for the tox config. It also makes it
usable with 'Depends-On', which is marvellous!

The tox requirements definitions for docs/releasenotes
builds are left in-place as those are standard entries
across the community. If that changes at some point, we
can re-assess those entries too.

Depends-On: https://review.openstack.org/579208
Change-Id: Ia5dfcf865ecbccd134f9146fa9caf3bcd3f93ef5
2018-09-08 16:56:38 +01:00
defaults Update cleanup process and set a file prefix 2018-05-19 05:40:48 +00:00
doc Follow the new PTI for document build 2018-07-02 19:59:03 +00:00
examples update example playbook to mirror a prod network 2018-03-16 02:11:38 -05:00
handlers Add async to the networkd start task 2018-08-18 17:36:50 -05:00
html-docs first commit 2018-03-13 23:09:48 -05:00
meta Add Bionic testing 2018-05-14 20:44:38 +02:00
releasenotes Update reno for stable/rocky 2018-08-10 16:44:17 +00:00
tasks Merge "Add async to the networkd start task" 2018-08-18 22:59:56 +00:00
templates Update cleanup process and set a file prefix 2018-05-19 05:40:48 +00:00
tests Remove pause to fix upstream bug 2018-07-02 13:32:08 -05:00
vars Make the networkd role distro agnostic 2018-05-14 15:28:08 -05:00
zuul.d Switch to using project-templates 2018-07-02 18:41:52 +00:00
.gitignore Updated from OpenStack Ansible Tests 2018-03-28 09:23:32 +00:00
.gitreview Fix gitreview repo name 2018-03-19 14:43:54 -05:00
CONTRIBUTING.rst first commit 2018-03-13 23:09:48 -05:00
LICENSE first commit 2018-03-13 23:09:48 -05:00
README.md Add release note link in README 2018-06-29 14:51:46 +08:00
Vagrantfile Updated from OpenStack Ansible Tests 2018-06-06 00:46:51 +00:00
ansible-role-requirements.yaml first commit 2018-03-13 23:09:48 -05:00
bindep.txt Add base role tests 2018-03-21 00:18:24 -05:00
manual-test.rc first commit 2018-03-13 23:09:48 -05:00
run_tests.sh Updated from OpenStack Ansible Tests 2018-04-30 05:18:31 +00:00
setup.cfg Add base role tests 2018-03-21 00:18:24 -05:00
setup.py first commit 2018-03-13 23:09:48 -05:00
tox.ini Use tests repo for common role test requirements 2018-09-08 16:56:38 +01:00

README.md

Ansible systemd_networkd

This Ansible role configures systemd-networkd link, network, and netdev files.

This role requires the openstack-ansible-plugins repository to be available on your local system. The Ansible galaxy resolver will not retrieve this role for you. To get the plugins role in place clone the plugins repository before running this role.

# git clone https://github.com/openstack/openstack-ansible-plugins /etc/ansible/roles/plugins

Release notes for the project can be found at: https://docs.openstack.org/releasenotes/ansible-role-systemd_networkd

You can also use the ansible-galaxy command on the ansible-role-requirements.yml file.

# ansible-galaxy install -r ansible-role-requirements.yml

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