73df27677c
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 |
||
---|---|---|
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.