From de0d4c738e2c2f3556f85f0c5d6156cbce3240dd Mon Sep 17 00:00:00 2001 From: Jakob Meng Date: Tue, 27 Sep 2022 14:33:29 +0200 Subject: [PATCH] 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] https://opendev.org/openstack/bifrost/commit/03ddd026567f7b61b89d83b0e7e7cb35ed466ae6 [3] https://opendev.org/openstack/ansible-collections-openstack/src/commit/41f3007a80ea4410bc7a91ed616276d654a8a97f/.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 --- zuul.d/project.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index b6d6cbe1c..b87a1d7ae 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -33,8 +33,20 @@ voting: false - bifrost-collections-src: voting: false + # FIXME(dtantsur): downgrade ansible-collections-openstack + # and openstacksdk because the former has not been ported + # yet to openstacksdk >=0.99.0 + required-projects: &bifrost_collections_required_projects + - name: openstack/ansible-collections-openstack + override-checkout: stable/1.0.0 + - name: openstack/openstacksdk + override-checkout: stable/yoga - bifrost-keystone-collections-src: voting: false + # FIXME(dtantsur): downgrade ansible-collections-openstack + # and openstacksdk because the former has not been ported + # yet to openstacksdk >=0.99.0 + required-projects: *bifrost_collections_required_projects - kolla-ansible-ubuntu-source-bifrost: voting: false # NOTE(yoctozepto): to override from job definition