Deployment of containerised OpenStack to bare metal using kolla and bifrost
Go to file
Pierre Riteau 79be93baf5 Enable consistent network device naming
CentOS cloud images come with net.ifnames=0 on the kernel command line,
which disables consistent network device naming. This does not provide a
good experience on bare metal because NIC ordering can vary. This is
specific to cloud images: an ISO installation would use consistent
network device naming.

We now set net.ifnames=1 in the DIB default environment to use
consistent network device naming. The parameters `nofb nomodeset
gfxpayload=text` are also set to preserve defaults from DIB.

To restore the existing behaviour, set DIB_BOOTLOADER_DEFAULT_CMDLINE to
`nofb nomodeset gfxpayload=text net.ifnames=0` in the
kolla_bifrost_dib_env_vars_extra dictionary.

Change-Id: I20465eab4e0aec6620578a92d3bdbddcec0954df
2021-10-05 11:00:49 +02:00
.github Add an issue template. 2017-12-14 20:39:55 +00:00
ansible Enable consistent network device naming 2021-10-05 11:00:49 +02:00
dev Allow passing arguments to dev/environment-setup.sh 2021-09-08 15:43:30 +01:00
doc Enable consistent network device naming 2021-10-05 11:00:49 +02:00
etc/kayobe Enable consistent network device naming 2021-10-05 11:00:49 +02:00
kayobe Add support for infrastructure VMs 2021-10-04 12:40:54 +01:00
playbooks Ubuntu: add upgrade jobs in CI 2021-10-01 16:05:33 +02:00
releasenotes Enable consistent network device naming 2021-10-05 11:00:49 +02:00
roles CI: Remove IPA images from saved /etc/kolla 2021-09-17 14:28:02 +02:00
tools CI: Fix bashate ignores 2021-09-20 16:48:10 +02:00
zuul.d Ubuntu: add upgrade jobs in CI 2021-10-01 16:05:33 +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-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 Bump max Ansible version to 2.10 2021-03-24 07:25:28 +00:00
bindep.txt Add missing font for PDF generation 2021-07-27 07:33:20 +02: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
molecule-requirements.txt CI: Avoid molecule 3.5.x 2021-09-17 17:47:34 +02:00
README.rst docs: Update Freenode to OFTC 2021-05-31 10:02:04 +02:00
requirements.txt Bump up Ansible supported versions 2021-09-29 22:31:33 +02:00
requirements.yml Support Ansible collections 2021-09-27 09:10:50 +00:00
setup.cfg Add support for infrastructure VMs 2021-10-04 12:40:54 +01:00
setup.py Cleanup py27 support 2020-04-20 18:04:19 +00:00
test-requirements.txt CI: Fix multiple failures 2021-09-03 23:10:39 +02:00
tox.ini CI: Fix multiple failures 2021-09-03 23:10:39 +02:00
Vagrantfile Upgrade Vagrant VM to CentOS 8 2020-05-19 10:08:36 +01:00

Kayobe

image

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

Documentation

https://docs.openstack.org/kayobe/latest/

Release Notes

https://docs.openstack.org/releasenotes/kayobe/

Bugs

https://storyboard.openstack.org/#!/project/openstack/kayobe

Community

OFTC's IRC channel: #openstack-kolla

License

Kayobe is distributed under the Apache 2.0 License.