Skip to content

Upgrade twisted, kubernetes, pyyaml, Cython and Django to latest allowed versions#374

Merged
cigamit merged 1 commit into
ctrliq:mainfrom
blaipr:feature/deps-python-bumps
Jun 11, 2026
Merged

Upgrade twisted, kubernetes, pyyaml, Cython and Django to latest allowed versions#374
cigamit merged 1 commit into
ctrliq:mainfrom
blaipr:feature/deps-python-bumps

Conversation

@blaipr

@blaipr blaipr commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Merge PR #388 first — it makes full parallel Python test runs deterministic for reviewing everything else.

SUMMARY

Routine dependency refresh of the Python stack, taking each library to the latest version the dependency graph allows:

  • twisted 26.4.0rc2 → 26.4.0 — the rc we pinned for CVE-2026-42304 has been promoted to stable.
  • kubernetes 29.0.0 → 36.0.2 — pulls in its new dependency durationpy; google-auth and rsa are no longer needed by it and drop out of the lockfile (nothing in awx imports them directly).
  • pyyaml 6.0.1 → 6.0.3 — required by kubernetes 36.0.2.
  • Cython 0.29.37 → 3.2.5 — the <3 cap predated pyyaml 6.0.1 fixing Cython 3 source builds. Note: worth one offline-image-build test before a release, same caveat README applies to pip/setuptools/cryptography.
  • django 5.2.14 → 5.2.15 — latest 5.2 patch. The <6.0 cap stays and is now annotated: django-ansible-base@devel requires Django<6.0 and djangorestframework<3.16, so Django 6 is blocked upstream in DAB, not here.
  • licenses/: durationpy added, google-auth/rsa removed (keeps test_licenses green).

requirements.txt regenerated with ./updater.sh upgrade twisted kubernetes pyyaml cython django.

ISSUE TYPE

  • Bug, Docs Fix or other nominal change

COMPONENT NAME

  • API

ASCENDER VERSION

awx: 25.4.1.dev5+gcda0899.d20260610

ADDITIONAL INFORMATION

Full test suite run against this branch state (kubernetes client API usage in awx/main/scheduler/kubernetes.py and awx/main/dispatch/worker/task.py is unchanged across 29→36):

py.test --create-db -n auto --dist=loadfile awx/main/tests/unit awx/main/tests/functional awx/conf/tests awx/sso/tests
3475 passed, 6 skipped

(the one flaky failure seen during validation was the cross-test mock leak since root-caused and fixed in #388)

…wed versions

- twisted 26.4.0rc2 -> 26.4.0 (rc promoted to stable, CVE-2026-42304 line unchanged)
- kubernetes 29.0.0 -> 36.0.2 (new transitive dep durationpy added; google-auth
  and rsa are no longer required and drop out of the lockfile)
- pyyaml 6.0.1 -> 6.0.3 (required by kubernetes 36.0.2)
- Cython 0.29.37 -> 3.2.5 (the <3 cap predated pyyaml 6.0.1 fixing Cython 3
  source builds; comment updated)
- django 5.2.14 -> 5.2.15 (latest 5.2 patch; <6.0 cap kept and annotated:
  django-ansible-base requires Django<6.0 and djangorestframework<3.16)
- licenses/: add durationpy, remove google-auth and rsa (keeps test_licenses green)
@blaipr

blaipr commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

Update on the flaky-test caveat in this PR's ADDITIONAL INFORMATION: the test_secret_key_regeneration::test_job_start_args failure mentioned there is now fully explained and fixed in #388 — a cross-test mock leak (task.model.objects.get = mock.Mock(...) in six unit tests) poisoned whichever xdist worker the functional files landed on. Nothing to change in this PR; merging #388 first gives a fully deterministic suite for reviewing the rest (validated with five consecutive clean 3476-passed runs).

@cigamit cigamit left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tested and found no issues, even with offline build.

@cigamit cigamit merged commit 9b44420 into ctrliq:main Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Development

Successfully merging this pull request may close these issues.

2 participants