kayobe/ansible
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
..
action_plugins Performance: avoid set_fact in Kolla Ansible host vars 2020-10-01 09:49:28 +00:00
filter_plugins Ubuntu: support systemd-networkd 2021-04-21 08:23:44 +00:00
group_vars Ubuntu: support systemd-networkd 2021-04-21 08:23:44 +00:00
roles Ubuntu: support systemd-networkd 2021-04-21 08:23:44 +00:00
test_plugins Add a command to check network connectivity between hosts 2017-11-02 12:12:07 +00:00
baremetal-compute-inspect.yml Allow to customise hardware inspection timeouts 2020-06-22 12:24:00 +02:00
baremetal-compute-manage.yml Fix kayobe baremetal compute commands 2020-06-11 17:59:31 +01:00
baremetal-compute-provide.yml Fix kayobe baremetal compute commands 2020-06-11 17:59:31 +01:00
baremetal-compute-rename.yml Update packages in virtualenvs 2019-08-15 11:01:49 +00:00
baremetal-compute-serial-console-post-config.yml Fix baremetal serial console autoenable 2019-10-21 14:16:20 +01:00
baremetal-compute-serial-console.yml Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
bootstrap.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
compute-node-discovery.yml Ubuntu: update Apt cache before package installation 2021-03-01 18:00:49 +00:00
compute-node-provide.yml Improve bare metal compute node management 2017-12-13 11:30:26 +00:00
container-image-build.yml Ubuntu: container image build 2021-03-01 18:00:00 +00:00
container-image-builders-check.yml Add an ansible group for container image builders 2017-11-21 17:50:32 +00:00
dell-compute-node-boot-mode.yml use include_tasks and import_playbook instead of include 2019-01-18 12:22:38 +00:00
dell-compute-node-discovery.yml use include_tasks and import_playbook instead of include 2019-01-18 12:22:38 +00:00
dell-compute-node-inventory.yml Remove config-mgmt group, instead use localhost 2017-12-01 11:21:00 +00:00
dell-switch-bmp.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
dev-tools.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
disable-cloud-init.yml Don't restart cloud-init when disabling it 2018-03-20 10:43:02 +00:00
disable-glean.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
disable-selinux.yml Make Kayobe code compatible with Python 3 2020-02-27 11:10:29 +00:00
dnf.yml Stop using platform-python 2020-12-14 14:48:05 +00:00
docker-devicemapper.yml Fix failures in Docker storage driver check 2020-10-13 23:11:16 +02:00
docker-registry.yml Docker registry TLS 2020-07-24 09:11:45 +01:00
docker.yml Use docker_custom_config variable 2019-10-25 17:08:56 +01:00
drac-bios.yml Add support for monitoring nodes 2017-05-29 16:52:17 +01:00
drac-boot-order.yml Add support for monitoring nodes 2017-05-29 16:52:17 +01:00
drac-facts.yml Add support for monitoring nodes 2017-05-29 16:52:17 +01:00
dump-config.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
external-net.yml Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
host-command-run.yml Stop gathering facts for host command run 2019-11-05 11:59:28 +01:00
host-package-update.yml Fix implementation of kayobe seed hypervisor host package update 2020-12-21 10:29:41 +01:00
idrac-bootstrap-one.yml Updating Jinja filters to conform to Ansible 2.5+ 2019-06-28 16:34:24 +01:00
idrac-bootstrap.yml Ubuntu: update Apt cache before package installation 2021-03-01 18:00:49 +00:00
inspection-store.yml Add support for stopping overcloud services 2020-03-26 14:34:07 +00:00
ip-allocation.yml Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
ip-routing.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
kayobe-ansible-user.yml Merge "Add ensure-python task" 2020-12-18 16:47:42 +00:00
kayobe-target-venv.yml Ubuntu: update Apt cache before package installation 2021-03-01 18:00:49 +00:00
kolla-ansible-user.yml Run kolla-ansible bootstrap-servers as kolla user 2020-04-16 20:44:34 +01:00
kolla-ansible.yml Add variables for API VIP address and FQDN 2020-10-05 19:59:53 +00:00
kolla-bifrost-hostvars.yml Fix kayobe overcloud provision without seed in limit 2019-11-11 09:47:20 +00:00
kolla-bifrost.yml Remove legacy Ironic driver references 2018-11-06 11:34:11 +00:00
kolla-build.yml Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
kolla-host.yml Updating Jinja filters to conform to Ansible 2.5+ 2019-06-28 16:34:24 +01:00
kolla-openstack.yml Add missing barbican.conf support 2020-09-23 19:17:51 +00:00
kolla-pip.yml Stop using platform-python 2020-12-14 14:48:05 +00:00
kolla-target-venv.yml Ubuntu: update Apt cache before package installation 2021-03-01 18:00:49 +00:00
luks.yml Add support for encrypted block devices 2020-05-20 15:49:51 +00:00
lvm.yml Performance: skip LVM configuration if no groups configured 2020-09-16 13:22:04 +00:00
mdadm.yml Add support for configuring software RAID arrays using mdadm 2019-03-26 15:16:20 +00:00
network-connectivity.yml Add a command to check network connectivity between hosts 2017-11-02 12:12:07 +00:00
network.yml Ubuntu: refactor network.yml playbook 2021-04-07 10:54:55 +00:00
opensm.yml Add support for stopping overcloud services 2020-03-26 14:34:07 +00:00
overcloud-bios-raid.yml Adapt to changes from the Bifrost Victoria release 2021-01-27 11:00:36 +01:00
overcloud-deprovision.yml Adapt to changes from the Bifrost Victoria release 2021-01-27 11:00:36 +01:00
overcloud-docker-sdk-upgrade.yml Update packages in virtualenvs 2019-08-15 11:01:49 +00:00
overcloud-etc-hosts-fixup.yml RabbitMQ upgrade fails due to stale /etc/hosts 2018-08-20 17:08:46 +01:00
overcloud-extras.yml Add support for stopping overcloud services 2020-03-26 14:34:07 +00:00
overcloud-grafana-configure.yml Merge "Add variables for API VIP address and FQDN" 2021-01-21 20:14:37 +00:00
overcloud-hardware-inspect.yml Adapt to changes from the Bifrost Victoria release 2021-01-27 11:00:36 +01:00
overcloud-introspection-data-save.yml Adapt to changes from the Bifrost Victoria release 2021-01-27 11:00:36 +01:00
overcloud-introspection-rules-dell-lldp-workaround.yml Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
overcloud-introspection-rules.yml Ubuntu: Use . to source shell scripts 2020-12-22 13:22:30 +00:00
overcloud-inventory-discover.yml Sort overcloud inventory hosts and groups 2019-08-12 18:14:49 +01:00
overcloud-ipa-build.yml Add ipa_build_upper_constraints_file variable 2021-02-19 16:13:38 +01:00
overcloud-ipa-images.yml IPA: Switch to IPA builder and CentOS 8 2020-06-12 17:24:31 +01:00
overcloud-provision.yml Wait for overcloud manage and provide state transitions 2021-02-11 12:03:24 +00:00
overcloud-service-config-save.yml Support including and excluding files from config save 2019-02-04 09:21:07 +00:00
physical-network.yml Add support for configuring Cumulus switches with NCLU 2020-03-03 20:46:32 +00:00
pip.yml Stop using platform-python 2020-12-14 14:48:05 +00:00
provision-net.yml Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
public-openrc.yml Add variables for API VIP address and FQDN 2020-10-05 19:59:53 +00:00
seed-deploy-containers.yml Add framework to deploy user-defined containers on seed 2020-06-10 19:34:04 +01:00
seed-hypervisor-libvirt-host.yml Merge pull request #91 from stackhpc/libvirt-galaxy 2018-01-02 12:59:23 +00:00
seed-introspection-rules.yml Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
seed-ipa-build.yml Add ipa_build_upper_constraints_file variable 2021-02-19 16:13:38 +01:00
seed-service-upgrade-prep.yml IPA: Switch to IPA builder and CentOS 8 2020-06-12 17:24:31 +01:00
seed-vm-deprovision.yml Fix seed VM provision failure on Ansible 2.6 2019-01-29 18:55:50 +00:00
seed-vm-provision.yml Add seed VM provisioning CI job 2020-06-16 17:19:47 +01:00
snat.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
ssh-known-host.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
swift-block-devices.yml Support for Ceph and Swift storage networks, and improvements to Swift 2019-04-24 12:40:20 +00:00
swift-rings.yml Support for Ceph and Swift storage networks, and improvements to Swift 2019-04-24 12:40:20 +00:00
sysctl.yml Persistent sysctls broken due to missing .conf suffix 2018-07-13 19:36:21 +01:00
timezone.yml Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
users.yml Tag all (well, some of) the things (plays) 2017-12-19 16:58:21 +00:00
wipe-disks.yml Add support for encrypted block devices 2020-05-20 15:49:51 +00:00