Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Mark Goddard 73df27677c Use environment variables for plugin paths
Kayobe provides various roles and plugins in the ansible directory.
These are accessible to Kayobe playbooks in the same directory.

In some cases it can be useful to use these items from Kayobe custom
playbooks, however they cannot since they reside in a different
directory. Typically we work around this by symlinking to the relevant
directory from the directory containing the custom playbook. This is not
an elegant workaround, and has assumptions about the relative paths of
the Kayobe configuration and virtual environment in which Kayobe is
installed.

This change adds the Kayobe role, collection, and plugin paths to the
relevant Ansible lookup paths using environment variables. This allows
custom playbooks to use these items. Also added to the lookup paths are
roles, collections and plugins in Kayobe configuration in the
etc/kayobe/ansible/ directory. This removes the limitation of playbooks
needing to reside in the same directory as those items in order to use
them.

We import the Ansible configuration settings module directly, since it
avoids replicating the configuration logic.

Story: 2010280
Task: 46234

Change-Id: I2fb2b4d7ed937e0184a62b0f119659569448f8df
2022-12-14 22:52:41 +01:00
ansible Use environment variables for plugin paths 2022-12-14 22:52:41 +01:00
dev Use master upper constraints 2022-12-14 08:58:30 +01:00
doc Use environment variables for plugin paths 2022-12-14 22:52:41 +01:00
etc/kayobe Remove support for Monasca and its dependencies 2022-12-13 14:32:33 +01:00
kayobe Use environment variables for plugin paths 2022-12-14 22:52:41 +01:00
playbooks Use master upper constraints 2022-12-14 08:58:30 +01:00
releasenotes Use environment variables for plugin paths 2022-12-14 22:52:41 +01:00
roles Move to Rocky Linux 9 2022-12-12 22:24:47 +01:00
tools Move group_vars to an inventory directory 2022-09-08 10:11:23 +01:00
zuul.d Merge "CI: Add kayobe-seed-images-centos9s to experimental jobs" 2022-12-14 15:48:01 +00:00
.coveragerc Use stestr for running unit tests, add a coverage environment 2018-03-08 16:37:08 +00:00
.gitignore Add 'venvs' to list of things which we don't want git to track 2018-07-02 14:17:18 +01: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
bindep.txt Add missing font for PDF generation 2021-07-27 07:33:20 +02: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
molecule-requirements.txt CI: Fix molecule job on Ubuntu Jammy 2022-12-01 15:25:51 +00:00
README.rst Remove support for Monasca and its dependencies 2022-12-13 14:32:33 +01:00
requirements.txt Bump up Ansible supported versions to 5.x/6.x 2022-12-14 14:55:33 +00:00
requirements.yml Move to Rocky Linux 9 2022-12-12 22:24:47 +01:00
setup.cfg Update python testing classifier 2022-01-11 22:03:31 +08: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 Restore use of upper constraints for molecule 2022-12-14 10:01:46 +01:00
Vagrantfile Update base image for Vagrant vm 2022-09-02 15:59:52 +01:00

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.