3bbf736d8d
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 |
||
---|---|---|
.github | ||
ansible | ||
dev | ||
doc | ||
etc/kayobe | ||
kayobe | ||
playbooks | ||
releasenotes | ||
roles | ||
tools | ||
zuul.d | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.yamllint | ||
bindep.txt | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
README.rst | ||
requirements.txt | ||
requirements.yml | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini | ||
Vagrantfile |
Kayobe
Kayobe enables deployment of containerised OpenStack to bare metal.
Containers offer a compelling solution for isolating OpenStack services, but running the control plane on an orchestrator such as Kubernetes or Docker Swarm adds significant complexity and operational overheads.
The hosts in an OpenStack control plane must somehow be provisioned, but deploying a secondary OpenStack cloud to do this seems like overkill.
Kayobe stands on the shoulders of giants:
- OpenStack bifrost discovers and provisions the cloud
- OpenStack kolla builds container images for OpenStack services
- OpenStack kolla-ansible delivers painless deployment and upgrade of containerised OpenStack services
To this solid base, kayobe adds:
- Configuration of cloud host OS & flexible networking
- Management of physical network devices
- A friendly openstack-like CLI
All this and more, automated from top to bottom using Ansible.
Features
- Heavily automated using Ansible
- kayobe Command Line Interface (CLI) for cloud operators
- Deployment of a seed VM used to manage the OpenStack control plane
- Configuration of physical network infrastructure
- Discovery, introspection and provisioning of control plane hardware using OpenStack bifrost
- Deployment of an OpenStack control plane using OpenStack kolla-ansible
- Discovery, introspection and provisioning of bare metal compute hosts using OpenStack ironic and ironic inspector
- Virtualised compute using OpenStack nova
- Containerised workloads on bare metal using OpenStack magnum
- Big data on bare metal using OpenStack sahara
- Control plane and workload monitoring and log aggregation using OpenStack monasca
Documentation
https://docs.openstack.org/kayobe/latest/
Release Notes
https://docs.openstack.org/releasenotes/kayobe/
Bugs
https://storyboard.openstack.org/#!/project/openstack/kayobe
Community
Freenode's IRC channel: #openstack-kolla
License
Kayobe is distributed under the Apache 2.0 License.