Kevin Carter 1cb76ab4ca
Make the networkd role distro agnostic
To make this role distro agnostic all of the variable configs have
been moved into defaults which will source private variables when
available using distro specific configs. This change will make it
possible to run this role on any distro, even if there's no distro
specific variable files.

Change-Id: I547edd2052c7e136b79d99e1b8e75e3aee68689d
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2018-05-14 15:28:08 -05:00
2018-03-21 00:18:24 -05:00
2018-03-13 23:09:48 -05:00
2018-05-14 20:44:38 +02:00
2018-03-21 00:18:24 -05:00
2018-05-10 14:13:27 -05:00
2018-05-14 20:44:38 +02:00
2018-03-19 14:43:54 -05:00
2018-03-13 23:09:48 -05:00
2018-03-21 00:18:24 -05:00
2018-03-13 23:09:48 -05:00
2018-03-13 23:09:48 -05:00
2018-03-13 23:09:48 -05:00
2018-03-13 23:09:48 -05:00
2018-03-21 00:18:24 -05:00
2018-03-13 23:09:48 -05:00
2018-03-13 23:09:48 -05:00

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
Description
Ansible role to manage systemd networkd
Readme 1.5 MiB
Languages
Python 74.3%
Jinja 25.7%