Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Mark Goddard 196d28e766 Quote and escape extra vars passed to ansible
Arguments passed as extra variables to Ansible require double escaping.
This can be seen when running the following command:

kayobe physical network configure --interface-description-limit 'interface 42'

This gets passed to ansible-playbook as:

['-e', 'physical_network_interface_description_limit=interface 42']

Ansible for some reason loses the 42 from the description. This can be
worked around via quoting:

kayobe physical network configure --interface-description-limit '"interface 42"'

Which results in:

['-e', 'physical_network_interface_description_limit="interface 42"']

This change adds quoting and escaping of variables passed to
ansible-playbook in this way.

Note that this change does not modify any extra variables passed to
kayobe via the -e argument, instead keeping the behaviour of this
argument the same as that of the Ansible -e argument.

Change-Id: I51d5112b8f94998f948fe5b8cb9a927ee7ed8cec
Story: 2004379
Task: 27993
2018-11-19 18:42:42 +00:00
.github Add an issue template. 2017-12-14 20:39:55 +00:00
ansible Merge "Add 'octavia' in to the list of paths to search for custom configs" 2018-11-16 18:37:50 +00:00
dev Test upgrades in CI 2018-11-05 12:02:31 +00:00
doc Merge "Support configuration of custom fluentd inputs" 2018-11-09 17:25:27 +00:00
etc/kayobe Remove legacy Ironic driver references 2018-11-06 11:34:11 +00:00
kayobe Quote and escape extra vars passed to ansible 2018-11-19 18:42:42 +00:00
playbooks Use zuul's install-docker role 2018-11-12 10:58:59 +00:00
releasenotes Quote and escape extra vars passed to ansible 2018-11-19 18:42:42 +00:00
roles Use zuul's install-docker role 2018-11-12 10:58:59 +00:00
tools Merge branch 'master' into molecule-kolla-openstack 2018-02-22 15:19:15 +00:00
zuul.d Test upgrades in CI 2018-11-05 12:02:31 +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
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 Support Ansible 2.5 2018-06-06 12:45:51 +01:00
requirements.yml Cleanup unused code 2018-08-29 09:25:41 +01:00
setup.cfg Summary should be a one liner 2018-10-29 13:52:19 +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 Use zuul's install-docker role 2018-11-12 10:58:59 +00: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: