Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Pierre Riteau 2c7deb4be7 Fix multiple CI failures
1. Use stable/queens as version of kolla-ansible in ansible tests

Instead of always checking out the master branch, use the kolla-ansible
branch with which this Kayobe version is meant to be used.

This is based on change I074d4b9d444649ecf956d3cd92748862e8c89a5c,
though we cannot use {{ openstack_branch }} which was introduced with
Stein. We hardcode stable/queens instead, as we did in stable/rocky with
change I344b1e90d34e0c8e2fb30331038b296ac89449b1.

2. Install python-openstackclient using upper constraints

Detect current branch from .gitreview and use upper constraints to
install python-openstackclient, to guarantee compatibility with the
Python version in use. This is cherry picked from commit
ef33e6ecb7.

3. Update packages in virtualenvs

Kayobe uses a number of virtual environments on the remote hosts for
python dependencies such as shade, python-openstackclient, docker, etc.
By default these are stored in /opt/kayobe/venvs/. Typically we do not
provide version restrictions when installing these packages, so over the
course of time they may become stale and incompatible.

This change installs the latest version of packages allowed by OpenStack
upper constraints.

It also adds a new variable, 'pip_upper_constraints_file', to set the
upper constraints file. The existing variable
'kolla_upper_constraints_file' now defaults to the value of
'pip_upper_constraints_file'.

This is cherry picked from commit
ddfd6b6202.

4. Remove upgrade jobs from Zuul configuration

Upgrade jobs are failing because stable/pike has the same issues fixed
in kolla-ansible for stable/queens:

- https://review.opendev.org/#/c/717276/
- https://review.opendev.org/#/c/717302/

Fixing kayobe for stable/pike would involve fixing kolla-ansible for
stable/pike, which is not maintained anymore. Drop upgrade jobs instead.

Change-Id: Ie44508fe3d3b08190afa5a43748e43548a63ff82
2020-04-07 10:18:55 +02:00
.github Add an issue template. 2017-12-14 20:39:55 +00:00
ansible Fix multiple CI failures 2020-04-07 10:18:55 +02:00
dev Fix multiple CI failures 2020-04-07 10:18:55 +02:00
doc Stop allocating network and broadcast addresses 2019-08-15 08:40:44 +00:00
etc/kayobe Fix multiple CI failures 2020-04-07 10:18:55 +02:00
kayobe Allocate IPs separately from configuring network 2019-08-30 08:49:32 +02:00
playbooks Fix multiple CI failures 2020-04-07 10:18:55 +02:00
releasenotes Fix multiple CI failures 2020-04-07 10:18:55 +02:00
roles Test upgrades in CI 2018-11-06 15:09:34 +00:00
tools Merge branch 'master' into molecule-kolla-openstack 2018-02-22 15:19:15 +00:00
zuul.d Fix multiple CI failures 2020-04-07 10:18:55 +02: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-17 09:03:44 +01: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
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 Update git.openstack.org to opendev.org 2019-04-25 18:56:55 +01:00
requirements.txt Restrict cliff to <2.15.0 2019-06-18 09:23:52 +00:00
requirements.yml Fix multiple CI failures 2020-04-07 10:18:55 +02:00
setup.cfg Add kayobe seed service upgrade command 2019-01-04 13:41:18 +00:00
setup.py Use pbr to build the project 2018-03-08 16:37:08 +00:00
test-requirements.txt Follow the new PTI for document build 2018-04-03 17:28:15 +01:00
tox.ini Update git.openstack.org to opendev.org 2019-04-25 18:56:55 +01:00
Vagrantfile Specify Vagrant box version 2018-05-22 17:15:06 +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

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