When using the custom playbook feature, it is possible to affect the behaviour of internal kayobe playbooks by installing newer versions of roles, collections, or plugins. This is almost always undesirable. It occurs because ansible extensions in kayobe config currently have precedence over the kayobe internal variants. We can prevent users accidentally breaking kayobe internal playbooks by searching for extensions in paths in the kayobe install first, followed by kayobe config (but only when running internal playbooks). The behaviour when running external playbooks is unchanged. This method still allows you to install additional plugins, which can be useful in kayobe config e.g processing a variable with a custom filter plugin. Change-Id: I34f0351dbcb50104c9a4d6706d94a349c3ea3b9f Closes-Bug: #2056473 Co-Authored-By: Matt Crees <mattc@stackhpc.com>
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
- Control plane monitoring using Prometheus and Grafana.
- Log aggregation using OpenSearch and OpenSearch Dashboards.
Documentation
https://docs.openstack.org/kayobe/latest/
Release Notes
https://docs.openstack.org/releasenotes/kayobe/
Bugs
https://bugs.launchpad.net/kayobe
Community
OFTC's IRC channel: #openstack-kolla
License
Kayobe is distributed under the Apache 2.0 License.