Ansible roles and playbooks to enable a standalone Ironic install
Go to file
Jakob Meng de0d4c738e Use openstacksdk<0.99.0 and a-c-o<2.0.0 on bifrost-*collections-* jobs
The latest release 1.9.1 of Ansible OpenStack Collection [1] is
compatible only to openstacksdk <0.99.0. Until the former has been
fixed, a workaround [2] is required in Bifrost to pin both the
Ansible OpenStack Collection as well as openstacksdk.

These pinned versions will be overwritten when their repositories
are listed in job.required-projects in .zuul.yaml, which we do in
the master branch of Ansible OpenStack collection [3] for both jobs
bifrost-collections-src and bifrost-keystone-collections-src.

This has two side effects: First, Bifrost's CI jobs use the master
branch of both openstacksdk and Ansible OpenStack Collection for
both bifrost-*collections-* jobs which thus differ from other
Bifrost jobs that use pinned releases.
Second, it causes a chicken-and-egg problem: Applying a breaking
change to module openstack.cloud.baremetal_node [4] will break
Bifrost but could easily be fixed [5]. The fix would be backward
compatible to previous releases of Ansible OpenStack Collection
and openstacksdk. But merging that fix [5] without patching
module openstack.cloud.baremetal_port [6] first would break the
bifrost-*collections-* jobs. The patch for openstack.cloud.\
baremetal_port [6] would break bifrost-*collections-* jobs
without the Bifrost fix [5].

The solution is to use the last known working releases of
Ansible OpenStack collection and openstacksdk in both
bifrost-*collections-* jobs like all other Bifrost jobs already
do.

Once we release Ansible OpenStack collection 2.0.0, we simply
have to revert Dmitry's workaround [2] and this patch.

[1] https://opendev.org/openstack/ansible-collections-openstack
[2] 03ddd02656
[3] 41f3007a80/.zuul.yaml (L286)
[4] https://review.opendev.org/c/openstack/ansible-collections-openstack/+/854113
[5] https://review.opendev.org/c/openstack/bifrost/+/859430/

Change-Id: I1bb2fc8057e769dafdbeb10b4874591c03c89d1e
2022-09-30 14:47:23 +02:00
bifrost Rename include_dhcp_server -> enable_dhcp for consistency 2022-09-16 12:56:40 +02:00
doc Rename include_dhcp_server -> enable_dhcp for consistency 2022-09-16 12:56:40 +02:00
playbooks Merge "Rename include_dhcp_server -> enable_dhcp for consistency" 2022-09-21 15:24:50 +00:00
releasenotes Update master for stable/zed 2022-09-23 08:41:05 +00:00
scripts Merge "Test redeploy-dynamic when cirros/tinyipa are used" 2022-07-15 15:58:51 +00:00
tools Make virtual environment owned by root 2022-01-25 15:59:42 +01:00
zuul.d Use openstacksdk<0.99.0 and a-c-o<2.0.0 on bifrost-*collections-* jobs 2022-09-30 14:47:23 +02:00
.ansible-lint Fix two CI issues 2020-12-08 17:09:05 +01:00
.gitignore Generate an environment file during bifrost-cli install 2022-01-06 15:36:47 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:42:51 +00:00
.mailmap Add my new address to .mailmap 2019-12-23 21:44:45 -08:00
.stestr.conf Switch to stestr 2020-03-17 07:48:42 +01:00
CONTRIBUTING.rst Add OFTC network channel to contributor docs 2021-05-31 11:26:28 +02:00
HACKING.rst Update and replace http with https for doc links 2017-09-19 15:08:48 +00:00
LICENSE Adding LICENSE file 2015-04-16 15:58:23 -04:00
README.rst More compact README.rst 2021-02-17 12:45:38 +01:00
ansible-collections-requirements.yml Fix upgrade on CentOS and with Keystone enabled 2022-07-08 16:28:37 +02:00
bifrost-cli Fix passing parameters with spaces to bifrost-cli 2021-01-09 16:05:07 +01:00
bindep.txt Enable epel repository only when needed 2022-02-01 11:04:15 +01:00
requirements.txt Support HTTP basic auth and switch bifrost-cli to it 2020-08-07 15:21:27 +02:00
setup.cfg Remove support for Python 3.6 and 3.7 2022-06-16 17:37:35 +02:00
setup.py Cleanup py27 support 2020-04-05 17:46:26 +02:00
test-requirements.txt Fix two CI issues 2020-12-08 17:09:05 +01:00
tox.ini Merge "Use Ansible 5.x" 2022-07-05 14:32:01 +00:00

README.rst

Bifrost

Team and repository tags

Bifrost (pronounced bye-frost) is a set of Ansible playbooks that automates the task of deploying a base image onto a set of known hardware using ironic. It provides modular utility for one-off operating system deployment with as few operational requirements as reasonably possible.

The mission of bifrost is to provide an easy path to deploy ironic in a stand-alone fashion, in order to help facilitate the deployment of infrastucture, while also being a configurable project that can consume other OpenStack components to allow users to easily customize the environment to fit their needs, and drive forward the stand-alone perspective.

Use cases include:

  • Installation of ironic in standalone/noauth mode without other OpenStack components.
  • Deployment of an operating system to a known pool of hardware as a batch operation.
  • Testing and development of ironic in the standalone mode.
Bifrost's documentation can be found at:

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

Release notes are at:

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

The project source code repository is located at:

https://opendev.org/openstack/bifrost/

Bugs can be filed in storyboard:

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