Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Mark Goddard 0b4b6cb79d Ignore --limit for localhost plays
If using the kayobe --limit <hosts> argument, only those hosts matching
the limit will have an inventory generated for Kolla Ansible. This can
cause problems for Kolla Ansible, even when using a similar limit via
--kolla-limit <hosts>, since it gathers facts for all hosts, and expects
all host variables to be defined.

This change adds a new 'ignore_limit' argument to the playbook running
methods, which allows us to override and ignore the --limit argument
provided by the user, ensuring that we always run these plays.

Change-Id: I104d6af48ddd916460ee454e17a50a2475de6bff
Story: 2004805
Task: 28960
2019-07-16 10:34:53 +01:00
.github Add an issue template. 2017-12-14 20:39:55 +00:00
ansible Disable chrony container by default 2019-07-15 09:29:25 +01:00
dev CI: Don't create an external network in init-runonce 2019-07-11 06:58:35 +00:00
doc Disable chrony container by default 2019-07-15 09:29:25 +01:00
etc/kayobe Disable chrony container by default 2019-07-15 09:29:25 +01:00
kayobe Ignore --limit for localhost plays 2019-07-16 10:34:53 +01:00
playbooks Restrict cliff to <2.15.0 2019-06-17 19:29:26 +01:00
releasenotes Disable chrony container by default 2019-07-15 09:29:25 +01:00
roles Improve diagnostics for seed jobs 2019-06-06 10:28:55 +00:00
tools Add retries to ansible galaxy install for all envs 2019-07-04 13:02:04 +00:00
zuul.d Use OpenStack Stein release 2019-05-29 17:20:25 +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 OpenDev Migration Patch 2019-04-19 19:50:44 +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 Sync Sphinx requirement 2019-06-25 02:24:45 +00: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 Add welcome page overview doc 2019-05-22 09:30:55 +01:00
requirements.txt Merge "Adds support for Ansible 2.7, bump mimimum to 2.5" 2019-07-12 21:28:37 +00:00
requirements.yml Add support for configuring software RAID arrays using mdadm 2019-03-26 15:16:20 +00:00
setup.cfg Add commands for database backup and recovery 2019-05-23 10:48:04 +01:00
setup.py Use pbr to build the project 2018-03-08 16:37:08 +00:00
test-requirements.txt Move paramiko cap to test-requirements.txt 2019-07-08 14:15:19 +00:00
tox.ini Add retries to ansible galaxy install for all envs 2019-07-04 13:02:04 +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
  • Control plane and workload monitoring and log aggregation using OpenStack monasca