Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Mark Goddard d6aa4ea16e Ubuntu: simplify OS distro selection
Adds a new 'os_distribution' variable which can be used to select the OS
distribution, with sensible defaults for other variables. The default
value is 'centos'.

This patch changes the default value for the '*_bootstrap_user'
variables from using the $USER environment variable to using fixed
defaults equal to the os_distribution variable. This aligns with the
standard user configured in most cloud images, and images created via
DIB.

Note that we are continuing to use a CentOS based IPA image, since we
have been unable to get IPA to build for Ubuntu.

Depends-On: https://review.opendev.org/c/openstack/kayobe-config-dev/+/788234

Change-Id: I9e10239f58fe209867116fa2e10f1ce74220b966
Story: 2004960
Task: 42323
2021-04-29 11:16:42 +01:00
.github Add an issue template. 2017-12-14 20:39:55 +00:00
ansible Ubuntu: simplify OS distro selection 2021-04-29 11:16:42 +01:00
dev CI: use retries for control host bootstrap in seed VM jobs 2021-04-12 15:58:10 +00:00
doc Merge "Add release note for multiple environments" 2021-04-26 07:24:28 +00:00
etc/kayobe Ubuntu: simplify OS distro selection 2021-04-29 11:16:42 +01:00
kayobe Merge "Ubuntu: support policy-based routing in systemd-networkd" 2021-04-23 11:50:29 +00:00
playbooks Merge "Ubuntu: support policy-based routing in systemd-networkd" 2021-04-23 11:50:29 +00:00
releasenotes Ubuntu: simplify OS distro selection 2021-04-29 11:16:42 +01:00
roles Ubuntu: support systemd-networkd 2021-04-21 08:23:44 +00:00
tools CI: increase Ansible Galaxy retries & add delay 2021-03-26 17:34:40 +00:00
zuul.d Merge "zuul: add more irrelevant files" 2021-04-26 07:44:09 +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 Update hacking for Python3 2020-09-11 15:44:17 +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
README.rst [docs] Update main documentation page 2021-01-29 22:00:08 +01:00
requirements.txt Bump max Ansible version to 2.10 2021-03-24 07:25:28 +00:00
requirements.yml Use released version of mrlesmithjr.mdadm 2021-04-26 10:04:45 +02:00
setup.cfg Add a command to create a new Kayobe environment 2021-03-31 17:01:35 +02:00
setup.py Cleanup py27 support 2020-04-20 18:04:19 +00:00
test-requirements.txt Remove stale comment 2021-03-29 12:19:09 +02:00
tox.ini Merge "Fix ansible-lint star expansion" 2020-12-18 15:28:33 +00:00
Vagrantfile Upgrade Vagrant VM to CentOS 8 2020-05-19 10:08:36 +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

  • 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

Documentation

https://docs.openstack.org/kayobe/latest/

Release Notes

https://docs.openstack.org/releasenotes/kayobe/

Bugs

https://storyboard.openstack.org/#!/project/openstack/kayobe

Community

Freenode's IRC channel: #openstack-kolla

License

Kayobe is distributed under the Apache 2.0 License.