Transition 7.71.2 7.78.2#354
Open
LouisParkin wants to merge 4 commits into
Open
Conversation
The agent embeds Python 3.13.13 (omnibus/config/software/python3.rb). Our dev target was 3.11.10, so dep failures that only manifest under 3.13 (e.g. ddtrace 3.12.5 Cython compile of removed PyInt_Check) slipped past integrations CI and broke agent build_deb. Bump dev/CI Python to match runtime. Python: .python-version 3.11.10 -> 3.13.13 .gitlab-ci.yml PYTHON_VERSION 3.11.14 -> 3.13.13 Shared deps where DD 7.78.2 is ahead of us (take DD's pin): boto3 1.34.11 -> 1.42.54 ddtrace 3.12.5 -> 3.19.5 (also fixes Cython issue at Py3.13) kubernetes 33.1.0 -> 35.0.0 orjson 3.11.6 -> 3.11.7 prometheus-client 0.19.0 -> 0.24.1 protobuf 5.29.6 -> 6.33.5 (major bump — verify proto contracts) pydantic 2.9.1 -> 2.12.5 PyJWT 2.12.0 -> 2.12.1 Kept STS pins where we're ahead: cryptography 46.0.7 (DD: 46.0.6) STS-only deps left alone (orionsdk, pg8000, zeep, vsphere-automation-sdk, pynag, requests-ntlm, flatten-dict, iso8601, simplejson, uuid, pytz, deprecated, enum34, pywin32, psycopg2-binary). Image tag in .gitlab-ci.yml still says ...:20241120-py311. conda creates envs at PYTHON_VERSION on demand so the bump should work as-is, but the runner image should be rebuilt as py313 in a follow-up to avoid drift.
… shared dep bumps. Follow-up to f78ad27 — that commit only updated the central stackstate_checks_base/stackstate_checks/base/data/agent_requirements.in. This commit sweeps every other requirements.in / requirements-dev.txt for the same shared-dep pins (boto3, ddtrace, kubernetes, orjson, prometheus-client, protobuf, pydantic, pyjwt) and applies the same DD-7.78.2-derived bumps. Files touched: stackstate_checks_base/requirements.in (6 pins) splunk_base/requirements.in (pyjwt) splunk_metric/requirements.in (pydantic + pyjwt) dynatrace_base/requirements-dev.txt (pyjwt) dynatrace_health/requirements-dev.txt (pyjwt) dynatrace_topology/requirements-dev.txt (pyjwt)
Follow-up to 61e9d4f — the pipeline (2534428169) surfaced two blockers the earlier sweep missed: 1. stackstate_checks_dev/setup.py:36 still hard-pinned pydantic==2.9.1, causing dep resolution conflicts with stackstate_checks_base[deps]==2.12.5 in every check that has a tox env (11 of 12 failing test_* jobs). setup.py files weren't in the earlier sweep grep — only requirements*.in/txt were. Now bumped to 2.12.5. 2. Pydantic 2.9 -> 2.12 changed the docs URL embedded in ValidationError messages from errors.pydantic.dev/2.9/v/... to .../2.12/v/... Tests in 7 files asserted against the literal expected message string, so all 16 assertions in test_agent_check.py/test_agent_check_v2.py broke (with same brittleness in 5 other test files that never ran due to #1). Updated all 7 to /2.12/. NOTE: these are still version-pinned and will break again on the next pydantic bump — version-agnostic assertion helper would be the durable fix, deferred to a separate refactor.
…le growth. prometheus-client 0.24 added a `native_histogram` field to the Sample namedtuple (0.19: 5 fields, 0.24: 6). The test in test_kubelet.py:362 positional-unpacks Sample as a 5-tuple, breaking under the bump. Use a star-rest pattern so future prometheus-client releases that add fields don't break this assertion again. Note: this is the only positional-unpack call site for metric.samples in the repo — every other usage iterates as `for sample in metric.samples:` and accesses fields by attribute name, which is already version-robust.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Step 1: Link to Jira issue
Step 2: Description of changes
Step 3: Did you add / update tests for your changes in the right area?
Step 4: I'm confident that everything is properly tested:
I got a PO / QA Approval by:
Step 5: Can we ship this feature to production?