Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Mark Goddard c9f8d80ba6 Stop using kolla-ansible bootstrap-servers
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
2023-03-30 13:52:54 +00:00
ansible Stop using kolla-ansible bootstrap-servers 2023-03-30 13:52:54 +00:00
dev Use master upper constraints 2022-12-14 08:58:30 +01:00
doc Stop using kolla-ansible bootstrap-servers 2023-03-30 13:52:54 +00:00
etc/kayobe Merge "Add Hashi Vault support for Kolla passwords" 2023-01-23 20:09:53 +00:00
kayobe Stop using kolla-ansible bootstrap-servers 2023-03-30 13:52:54 +00:00
playbooks Stop using kolla-ansible bootstrap-servers 2023-03-30 13:52:54 +00:00
releasenotes Stop using kolla-ansible bootstrap-servers 2023-03-30 13:52:54 +00:00
roles CI: get repo directories from nodes for troubleshooting 2023-03-08 11:28:54 +01:00
tools Move group_vars to an inventory directory 2022-09-08 10:11:23 +01:00
zuul.d Stop using kolla-ansible bootstrap-servers 2023-03-30 13:52:54 +00:00
.coveragerc Use stestr for running unit tests, add a coverage environment 2018-03-08 16:37:08 +00:00
.gitignore Stop using kolla-ansible bootstrap-servers 2023-03-30 13:52:54 +00:00
.gitreview Fix after x/kayobe rename 2019-09-16 16:26:27 +02:00
.stestr.conf Use stestr for running unit tests, add a coverage environment 2018-03-08 16:37:08 +00:00
.yamllint Bump max Ansible version to 2.10 2021-03-24 07:25:28 +00:00
CONTRIBUTING.rst [Community goal] Update the contributor guide 2020-06-05 15:58:35 +02:00
HACKING.rst Sync Sphinx requirement 2019-06-25 02:24:45 +00:00
LICENSE License kayobe project under Apache2 2017-04-06 10:15:29 +01:00
README.rst Remove support for Monasca and its dependencies 2022-12-13 14:32:33 +01:00
Vagrantfile Update base image for Vagrant vm 2022-09-02 15:59:52 +01:00
bindep.txt Add missing font for PDF generation 2021-07-27 07:33:20 +02:00
molecule-requirements.txt CI: Fix molecule job on Ubuntu Jammy 2022-12-01 15:25:51 +00:00
requirements.txt Add Hashi Vault support for Kolla passwords 2022-12-21 18:27:13 +00:00
requirements.yml Revert "Use OpenStack Zed release" 2023-01-12 10:46:49 +00:00
setup.cfg Add command to run config validation 2023-01-10 16:08:25 +00:00
setup.py Cleanup py27 support 2020-04-20 18:04:19 +00:00
test-requirements.txt CI: Fix multiple failures 2021-09-03 23:10:39 +02:00
tox.ini Stop using kolla-ansible bootstrap-servers 2023-03-30 13:52:54 +00:00

README.rst

Kayobe

image

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

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.