Ansible role to manage systemd networkd
Go to file
Logan V b9b135ab9a Allow networkd filename override
- Allow configuring the default filename format
- Allow configuring a filename override on a per netdev/network
  basis.

Change-Id: I801fe5604d543ae36daf5bd1764ef1035644ea44
2018-03-19 14:54:35 -05:00
defaults Allow networkd filename override 2018-03-19 14:54:35 -05:00
doc first commit 2018-03-13 23:09:48 -05:00
examples update example playbook to mirror a prod network 2018-03-16 02:11:38 -05:00
handlers first commit 2018-03-13 23:09:48 -05:00
html-docs first commit 2018-03-13 23:09:48 -05:00
meta first commit 2018-03-13 23:09:48 -05:00
releasenotes first commit 2018-03-13 23:09:48 -05:00
tasks Allow networkd filename override 2018-03-19 14:54:35 -05:00
templates Allow networkd filename override 2018-03-19 14:54:35 -05:00
tests first commit 2018-03-13 23:09:48 -05:00
.gitignore first commit 2018-03-13 23:09:48 -05:00
.gitreview first commit 2018-03-13 23:09:48 -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 first commit 2018-03-13 23:09:48 -05:00
Vagrantfile first commit 2018-03-13 23:09:48 -05:00
ansible-role-requirements.yaml first commit 2018-03-13 23:09:48 -05:00
bindep.txt first commit 2018-03-13 23:09:48 -05:00
manual-test.rc first commit 2018-03-13 23:09:48 -05:00
run_tests.sh first commit 2018-03-13 23:09:48 -05:00
setup.cfg first commit 2018-03-13 23:09:48 -05:00
setup.py first commit 2018-03-13 23:09:48 -05:00
test-requirements.txt first commit 2018-03-13 23:09:48 -05:00
tox.ini first commit 2018-03-13 23:09:48 -05: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

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