Skip to content

Cap openstacksdk <4.11 to fix openstack.cloud collection break#2501

Closed
ideaship wants to merge 1 commit into
mainfrom
fix-cap-openstacksdk-below-4.11
Closed

Cap openstacksdk <4.11 to fix openstack.cloud collection break#2501
ideaship wants to merge 1 commit into
mainfrom
fix-cap-openstacksdk-below-4.11

Conversation

@ideaship

Copy link
Copy Markdown
Contributor

Problem

openstacksdk 4.17.0 is incompatible with the galaxy-pinned
openstack.cloud 2.5.0 ansible collection. The collection's shared
openstack_cloud_from_module helper references openstack.version, which the
newer sdk no longer exposes, so every openstack.cloud module in the
osism-ansible manager container fails with:

AttributeError: module 'openstack' has no attribute 'version'

This broke all testbed periodic-midnight jobs on 2026-07-22 (they passed
the night before). The sdk bump rode in via:

Change

Revert to the proven-good set that matches collection 2.5.0, and cap it so it
cannot silently drift again:

  • requirements.txt + Pipfile + Pipfile.lock: openstacksdk 4.17.04.10.0,
    python-openstackclient 10.2.19.0.0 (openstackclient 10.x requires
    openstacksdk >=4.16, so the two must move together).
  • .github/renovate.json: allowedVersions caps (openstacksdk <4.11,
    python-openstackclient <10) covering all managers, so neither
    requirements.txt (pip_requirements) nor the Pipfile (pipenv) can outrun the
    collection again.

Pipfile.lock was regenerated with pipenv lock (re-adds requestsexceptions
for the 4.10.0 tree; incidentally refreshes certifi and platformdirs).

Follow-up

The caps are the compatibility contract: raise them only together with an
openstack.cloud bump in osism/release. Longer term, the sdk is pinned
redundantly in both requirements.txt and the Pipfile (two Renovate managers,
no generation link) — that duplication should be single-sourced.

🤖 Generated with Claude Code

openstacksdk 4.17.0 (merged via #2292 on 2026-07-20) is incompatible
with the galaxy-pinned openstack.cloud 2.5.0 ansible collection: its
openstack_cloud_from_module helper references openstack.version, which
the newer sdk no longer exposes. Every openstack.cloud module in the
osism-ansible manager container then fails with "module 'openstack' has
no attribute 'version'", which broke all testbed periodic-midnight jobs
on 2026-07-22 (they passed the night before).

The sdk is pinned in two files that separate Renovate managers keep in
sync: requirements.txt (the pip_requirements manager; also the wheel's
install_requires via setup.cfg) and Pipfile/Pipfile.lock (the pipenv
manager). Revert both to the proven-good set for collection 2.5.0:
openstacksdk 4.10.0 and python-openstackclient 9.0.0. openstackclient
10.x requires openstacksdk >=4.16, so it must move together with the
sdk. Regenerating Pipfile.lock also re-added requestsexceptions (needed
by the 4.10.0 tree) and refreshed two unrelated transitive deps
(certifi, platformdirs).

Add Renovate allowedVersions caps (openstacksdk <4.11,
python-openstackclient <10) covering all managers so neither
requirements.txt nor the Pipfile can silently drift past the collection
compatibility boundary again. Raise the caps only together with an
openstack.cloud bump in osism/release.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Roger Luethi <luethi@osism.tech>
@ideaship
ideaship marked this pull request as ready for review July 22, 2026 06:41
@ideaship
ideaship requested a review from berendt July 22, 2026 06:41
@ideaship ideaship moved this from New to In review in Human Board Jul 22, 2026

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@berendt berendt added the on hold Is on hold label Jul 22, 2026
@ideaship
ideaship marked this pull request as draft July 22, 2026 12:08
@ideaship
ideaship removed the request for review from berendt July 23, 2026 09:25
@ideaship ideaship moved this from In review to Backlog in Human Board Jul 23, 2026
@berendt

berendt commented Jul 24, 2026

Copy link
Copy Markdown
Member

Not required. Bump of the OpenStack collection was sufficient.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

on hold Is on hold

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants