Deployment of containerised OpenStack to bare metal using kolla and bifrost
40e43e235d
Previously, Kayobe used Kolla Ansible's bootstrap-servers command to create a user account and Python virtual environment for Kolla Ansible. In order to do this it used the Kayobe Ansible user and Python interpreter. This causes problems for Ansible fact caching, which needs separate caches for Kayobe and Kolla Ansible, since the different users and Python interpreters used result in different facts. Bootstrapping servers with the Kayobe user and interpreter resulted in the Kolla Ansible fact cache being populated with Kayobe's user and interpreter. This change disables user creation during Kolla Ansible's bootstrap-servers command, instead creating the user and virtual environment in Kayobe prior to running the command. This allows the bootstrap-servers command to be executed using the normal Kolla Ansible user and interpreter, which results in the correct facts being gathered. The downside here is some duplication of code and configuration, but a nice side effect is that we no longer need to dump configuration in the CLI for host configure in order to fetch the Ansible user and interpreter. Change-Id: I85670be7242bc436f73c689f027670b0938ba031 Story: 2007492 Task: 39444 |
||
---|---|---|
.github | ||
ansible | ||
dev | ||
doc | ||
etc/kayobe | ||
kayobe | ||
playbooks | ||
releasenotes | ||
roles | ||
tools | ||
zuul.d | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.stestr.conf | ||
.travis.yml | ||
.yamllint | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
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.
- Free software: Apache license
- Documentation: https://docs.openstack.org/kayobe/latest/
- Source: https://opendev.org/openstack/kayobe
- Bugs: https://storyboard.openstack.org/#!/project/openstack/kayobe
- Release Notes: https://docs.openstack.org/releasenotes/kayobe/
- IRC: #openstack-kolla
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 and workload monitoring and log aggregation using OpenStack monasca