Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Mark Goddard 35f30a61b1 Fix external API interface with out an IP address
Steps to reproduce:

* Define a separate network for the external API network
* Don't define a cidr field for the new network (prevents IPs being
  allocated to hosts on this network)
* Set the vip_address field for the network (and optionally fqdn)
* kayobe overcloud host configure
* kayobe overcloud service deploy
* kayobe overcloud host configure (again)

On the final command, keepalived will have created a VIP on the
interface, causing the command to fail with an error like the following:

    Interface eth0 has an IPv4 address but none was requested

This change fixes the issue by passing the VIP address as an allowed
address to the MichaelRigart.interfaces role. This depends on
https://github.com/michaelrigart/ansible-role-interfaces/pull/71.

Change-Id: Ic86c0ca1b8209c968cb20a11bb3f40da71f296d0
Story: 2007736
Task: 39902
2020-06-01 09:18:27 +00:00
.github Add an issue template. 2017-12-14 20:39:55 +00:00
ansible Fix external API interface with out an IP address 2020-06-01 09:18:27 +00:00
dev Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
doc Merge "Move timezone configuration from ntp.yml to time.yml" 2020-05-28 15:59:40 +00:00
etc/kayobe Move timezone configuration from ntp.yml to time.yml 2020-05-28 10:25:51 +01:00
kayobe Merge "Remove six" 2020-05-28 15:59:34 +00:00
playbooks Merge "CI: Encrypt passwords.yml in overcloud host configure job" 2020-05-28 17:51:58 +00:00
releasenotes Fix external API interface with out an IP address 2020-06-01 09:18:27 +00:00
roles Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
tools Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +01:00
zuul.d Remove support for CentOS 7 and Python 2 2020-05-28 10:25:51 +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 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 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 Fix external API interface with out an IP address 2020-06-01 09:18:27 +00:00
setup.cfg Add ability to run playbooks before and after a kayobe command 2020-05-26 14:16:02 +01: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 Cleanup py27 support 2020-04-20 18:04:19 +00: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