de0d4c738e2c2f3556f85f0c5d6156cbce3240dd
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
Bifrost
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.
Useful Links
- Bifrost's documentation can be found at:
- Release notes are at:
- The project source code repository is located at:
- Bugs can be filed in storyboard:
-
https://storyboard.openstack.org/#!/project/openstack/bifrost
Description
Languages
Python
57.4%
Jinja
24.5%
Shell
18.1%