Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Mark Goddard 749ef8243e Skip bare metal testing in CI
When first added, the bare metal deployment tests using Tenks were
fairly reliable (although not 100%). Recently though, jobs seem to be
failing at this step quite frequently, making it difficult to merge
patches. Looking at the historical zuul jobs, the failure rate per job
seems to be about 1/3:
http://zuul.openstack.org/builds?job_name=kayobe-overcloud-centos. With
two overcloud jobs and check and gate required to pass, the merge
success rate is around 20%.

Let's skip this testing for now, until we can make it more reliable.

Change-Id: Id0a05f8c5d227f8cd9424c7a5b138eddee93f827
Story: 2005316
Task: 30224
2019-03-28 08:03:01 +00:00
.github Add an issue template. 2017-12-14 20:39:55 +00:00
ansible Fix YAML code execution issue 2019-03-18 09:45:48 +00:00
dev Don't cd to /tmp in environment-setup.sh 2019-02-05 16:49:49 +00:00
doc Update release notes for stable/rocky 2019-02-15 11:23:43 +00:00
etc/kayobe Merge "Run yamllint on etc/kayobe during pep8 tox env" 2019-02-21 19:13:26 +00:00
kayobe Add missing space in argument description 2019-03-18 14:16:57 +00:00
playbooks Skip bare metal testing in CI 2019-03-28 08:03:01 +00:00
releasenotes Fix release note markup 2019-02-18 14:10:29 +00:00
roles use include_tasks and import_playbook instead of include 2019-01-18 12:22:38 +00:00
tools Update release notes for stable/rocky 2019-02-15 11:23:43 +00:00
zuul.d Update release notes for stable/rocky 2019-02-15 11:23:43 +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 Add .gitreview file 2018-03-08 16:37:08 +00:00
.stestr.conf Use stestr for running unit tests, add a coverage environment 2018-03-08 16:37:08 +00:00
.travis.yml Add a tox environment & dependencies for running molecule tests 2018-02-20 18:48:28 +00:00
.yamllint Run yamllint on etc/kayobe during pep8 tox env 2019-02-14 12:17:19 +00:00
CONTRIBUTING.rst Update README & CONTRIBUTING for OpenStack process 2018-03-13 14:14:26 +00:00
HACKING.rst Update README & CONTRIBUTING for OpenStack process 2018-03-13 14:14:26 +00:00
LICENSE License kayobe project under Apache2 2017-04-06 10:15:29 +01:00
README.rst Use readthedocs for release notes 2018-10-02 11:07:00 +01:00
requirements.txt Bump Ansible to 2.6.x 2018-11-07 09:18:33 +00:00
requirements.yml Merge "Update stackhpc.libvirt-vm and stackhpc.libvirt-host roles" 2019-02-01 19:04:24 +00:00
setup.cfg Add commands to run command on hosts 2019-02-04 16:17:37 +00:00
setup.py Use pbr to build the project 2018-03-08 16:37:08 +00:00
test-requirements.txt Run yamllint on etc/kayobe during pep8 tox env 2019-02-14 12:17:19 +00:00
tox.ini Run yamllint on etc/kayobe during pep8 tox env 2019-02-14 12:17:19 +00:00
Vagrantfile Support complete installation of Kayobe as a python package 2019-02-01 12:55:27 +00:00

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

In the near future we aim to add support for the following: