Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Mark Goddard f618a2c4b8 Update seed VM image to CentOS 8.2
If using a CentOS 8.2 bifrost_deploy image on a CentOS 8.1 seed host, we
may see an error such as the following:

    TASK [Ensure the overcloud host image has bogus name server entries removed]
    fatal: [seed]: FAILED!

Running virt-customize with more debug in the Bifrost container, we see
this output:

qemu-kvm: error: failed to set MSR 0x48e to 0xfff9fffe04006172
qemu-kvm: /builddir/build/BUILD/qemu-4.2.0/target/i386/kvm.c:2695: kvm_buf_set_msrs: Assertion `ret == cpu->kvm_msr_buf->nmsrs' failed.

This appears to be an incompatibility between qemu/libvirt in CentOS 8.1
and 8.2.

This change fixes the issue for new deployments by updating the seed VM
image to CentOS 8.2.  Existing deployments will need to update packages
on the seed host to match the bifrost_deploy container.

Change-Id: Icf64b15e58c84f31a11cdefcdb79558b58737da1
Story: 2007942
Task: 40407
2020-07-21 14:16:21 +01:00
.github Add an issue template. 2017-12-14 20:39:55 +00:00
ansible Update seed VM image to CentOS 8.2 2020-07-21 14:16:21 +01:00
dev Merge "CI: Update IPA images during upgrade" 2020-06-17 19:08:41 +00:00
doc Allow to customise hardware inspection timeouts 2020-06-22 12:24:00 +02:00
etc/kayobe Update seed VM image to CentOS 8.2 2020-07-21 14:16:21 +01:00
kayobe Merge "Update openrc files after overcloud service upgrade" 2020-06-17 19:09:44 +00:00
playbooks Merge "IPA: Switch to IPA builder and CentOS 8" 2020-06-17 19:03:01 +00:00
releasenotes Update seed VM image to CentOS 8.2 2020-07-21 14:16:21 +01:00
roles Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
tools Update feature flags 2020-06-12 09:43:00 +02:00
zuul.d Add seed VM provisioning CI job 2020-06-16 17:19:47 +01: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 Run yamllint on etc/kayobe during pep8 tox env 2019-02-14 12:17:19 +00: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 Update docs after repo rename x/ to openstack/ 2019-09-16 17:39:29 +01:00
requirements.txt Fix multiple CI failures 2020-05-12 19:04:43 +02:00
requirements.yml Merge "Fix kayobe baremetal compute commands" 2020-06-18 12:49:01 +00:00
setup.cfg Add py38 package metadata 2020-07-15 17:32:50 +08:00
setup.py Cleanup py27 support 2020-04-20 18:04:19 +00:00
test-requirements.txt Remove sphinx from test-requirements.txt 2019-10-21 11:10:13 +02:00
tox.ini Revert "Use OpenStack Ussuri release" 2020-06-12 13:41:06 +01:00
Vagrantfile Upgrade Vagrant VM to CentOS 8 2020-05-19 10:08:36 +01: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
  • Control plane and workload monitoring and log aggregation using OpenStack monasca