1.x.x releases of Ansible OpenStack collection are compatible to openstacksdk<0.99.0 only. The upcoming 1.9.0 release will declare its incompatibility and raise an error with SDK >=0.99.0 [1].

Our current 1.8.0 release on Ansible Galaxy is partially broken with the new SDK but some parts still work (without any warranty). Once we release 1.9.0 it will refuse to work with latest SDK and we might immediately break use cases which kinda-work-with-new-sdk. We had this situation with our master branch where this safety check broke TripleO [2] which is why we shy away from releasing 1.9.0 for now. This is open for discussion, feedback is appreciated!

[1] https://opendev.org/openstack/ansible-collections-openstack/commit/75558c5c2e970d40133273432ac77bbb161ff4ed
[2] https://opendev.org/openstack/ansible-collections-openstack/commit/1b59c19a24c55aa236d80552dcbf70c9c7b5088e

Best,
Jakob

On 30.05.22 17:53, Pierre Riteau wrote:
Thank you Jakob for describing the evolution of the collection.

Are you planning to release an updated 1.x.x version soon, given that new installs of 1.8.0 will use openstacksdk 0.99.0 which breaks image upload?

Thanks,
Pierre Riteau (priteau)

On Fri, 27 May 2022 at 14:14, Jakob Meng <jmeng@redhat.com> wrote:
Hello contributors and users of the Ansible OpenStack collection [1]!

This week a release candidate of the upcoming first major release of
OpenStack SDK has been released [2],[3]. It streamlined and improved
large parts of its codebase. For example, its Connection interface now
consistently uses the Resource interfaces under the hood. This required
breaking changes from older SDK releases though.

The Ansible OpenStack collection is heavily based on OpenStack SDK. With
OpenStack SDK becoming backward incompatible (for the better), so does
our Ansible OpenStack collection. We simply lack the devpower to
maintain a backward compatible interface in Ansible OpenStack collection
across several SDK releases.

We already split our codebase into two separate git branches: master and
stable/1.0.0. The former will track the upcoming 2.x.x releases of
Ansible OpenStack collection which will be compatible with OpenStack SDK
1.x.x (and its rcs 0.99.x) *only*. Our stable/1.0.0 branch will track
the current 1.x.x releases of Ansible OpenStack collection which is
compatible with OpenStack SDK prior to 0.99.0 *only*. Both branches will
be developed in parallel for the time being.

Our 2.0.0 release is currently under development and we still have a
long way to go. "We" mainly are a couple of Red Hat employees working
part-time on the collection. If you use modules of Ansible OpenStack
collection and want to help us with porting them to the new SDK, please
contact us!

If you want to help, please reach out to us (e.g. [7],[8]) and we can
give you a quick introduction into everything. We have extensive
documentation on why, what and how we are adopting and reviewing the new
modules [4], how to set up a working DevStack environment for hacking on
the collection [5] and, most importantly, a list of modules where we are
coordinating our porting efforts [6]. We are also hanging around on
irc.oftc.net/#openstack-ansible-sig and #oooq 😎

[1] https://opendev.org/openstack/ansible-collections-openstack
[2] https://github.com/openstack/openstacksdk/releases/tag/0.99.0
[3] https://pypi.org/project/openstacksdk/0.99.0/
[4] https://hackmd.io/szgyWa5qSUOWw3JJBXLmOQ?view
[5] https://hackmd.io/PI10x-iCTBuO09duvpeWgQ?view
[6] https://hackmd.io/7NtovjRkRn-tKraBXfz9jw?view
[7] Rafael Castillo <rcastill@redhat.com> (rcastillo)
[8] Jakob Meng <mail@jakobmeng.de>, <jmeng@redhat.com> (jm1)

Best,
Jakob