c9f8d80ba6
The 'kayobe * host configure' commands no longer use the 'kolla-ansible bootstrap-servers' command, and associated 'baremetal' role in Kolla Ansible. The functionality provided by the 'baremetal' role has been extracted into the openstack.kolla Ansible collection, and split into separate roles. This allows Kayobe to use it directly, and only the necessary parts. This change improves failure handling in these Kayobe commands, and aims to reduce confusion over which '--limit' and '--tags' arguments to provide. This ensures that if a host fails during a host configuration command, other hosts are able to continue to completion. Previously, if any host failed during the Kayobe playbooks, the 'kolla-ansible bootstrap-servers' command would not run. This is useful at scale, where host failures occur more frequently. This change has implications for configuration of Kayobe, since some variables that were previously in Kolla Ansible are now in Kayobe. Several parts of the baremetal role have been split out and used here: * apparmor-libvirt: disable AppArmor rules for libvirt on Ubuntu. * docker: Docker installation & configuration. The docker role in openstack.kolla combines functionality from kolla-ansible and kayobe. * etc-hosts: it proved difficult to generalise this, so we have some almost duplicated the code from kolla-ansible here. Requires delegated fact gathering for the case when --limit is used. * firewall: support to disable UFW, for feature parity. * kolla-packages: miscellaneous package installs & removals. The addition of the stack user to the docker group has been moved to the user bootstrapping playbook, and the docker SDK installation has been moved to the virtualenv setup playbook. Depends-On: https://review.opendev.org/c/openstack/ansible-collection-kolla/+/829587 Story: 2009854 Task: 44505 Change-Id: I61a61ca59652b13687c2247d5881012b51f666a7 |
||
---|---|---|
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 | ||
molecule-requirements.txt | ||
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 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://storyboard.openstack.org/#!/project/openstack/kayobe
Community
OFTC's IRC channel: #openstack-kolla
License
Kayobe is distributed under the Apache 2.0 License.