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.

@berendt berendt closed this Jul 24, 2026
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Human Board Jul 24, 2026
@berendt
berendt deleted the fix-cap-openstacksdk-below-4.11 branch July 24, 2026 06:58
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