kayobe/roles/kayobe-network-bootstrap
Mark Goddard 3bbf736d8d Ubuntu: support systemd-networkd
This change adds support for network configuration via systemd-networkd
on Ubuntu systems.

This is implemented via an Ansible Galaxy role,
stackhpc.systemd_networkd which was forked from
aruhier.systemd_networkd. Several improvements were made in
https://github.com/stackhpc/ansible-role-systemd-networkd/pull/1,
including:

* Add support for removing unexpected config files
* Use become where necessary
* Refactor config generation into a single task to improve performance

The systemd_networkd role does not add much abstraction on top of the
systemd-networkd configuration file format, which provides a lot of
flexibility at the expense of additional code in Kayobe. This code is
implemented as filter plugins, similarly to the existing
MichaelRigart.interfaces role.

This patch includes support for:

* Ethernet interfaces
* bridges
* bonds
* VLANs
* virtual Ethernet pairs (to connect Linux bridges and OVS bridges)
* static IP addresses
* static routes
* MTU

Some network attributes are currently not supported for
systemd-networkd:

* rules
* route options
* ethtool_opts
* zone
* allowed addresses

Story: 2004960
Task: 41881

Change-Id: I248b5bb9ce5a80a07a2a311cb3aca6daca920720
2021-04-21 08:23:44 +00:00
..
defaults CI: add Ubuntu overcloud deploy job 2021-03-01 17:57:51 +00:00
tasks Ubuntu: support systemd-networkd 2021-04-21 08:23:44 +00:00
README.md CI: add Ubuntu overcloud deploy job 2021-03-01 17:57:51 +00:00

Kayobe network bootstrap

Ansible role to bootstrap network configuration in CI.

The role creates a bridge interface and a dummy interface, and adds the dummy interface as a port in the bridge. The bridge is assigned an IP address.

Role variables

  • bridge_interface: name of the bridge interface
  • bridge_ip: IP address to assign to the bridge
  • bridge_prefix: CIDR prefix to assign to the bridge
  • bridge_port_interface: name of the bridge port dummy interface