Regenerate both clients with openapi-generator 7.25.0 - #2684
Merged
kubernetes-prow[bot] merged 2 commits intoAug 25, 2026
Merged
Conversation
Picks up the load_kube_config environment-proxy fix (#2681), native proxy_ssl_context support (#2387), content-type parameter handling, lowercase boolean query parameters, and null-preserving list and map serialization. Regenerate the local patches against the new output. The client-go retry patch now carries context lines: its zero-context hunks applied at fixed offsets, so lines added above them by the generator shift the insertion point without failing the apply.
Keeps the asyncio client on the same generator release as the synchronous one, as requested on #2681. Regenerate client_go_retry_asyncio_patch.diff with context lines and drop --unidiff-zero. Its hunks were pure insertions at fixed offsets, so generator drift above them moves the insertion point while git apply still reports success.
Contributor
Author
|
This PR in status Draft until kubernetes-client/gen#310 is merged |
yliaog
marked this pull request as ready for review
August 25, 2026 03:32
Contributor
|
thanks for the PR kubernetes-client/gen#310 has merged. /lgtm |
Contributor
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: yliaog, yurnov The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
kubernetes-prow
Bot
merged commit Aug 25, 2026
917b311
into
kubernetes-client:master
10 checks passed
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.
What type of PR is this?
/kind bug
/kind cleanup
What this PR does / why we need it:
Regenerates both clients with openapi-generator
v7.25.0(released 2026-08-24), up from the830e9d15master snapshot. Sync and asyncio move together, as @yliaog asked on #2681.The motivating fix is #24716:
Configurationresolved the environment proxy once in__init__, beforeload_kube_configassignshost. Because the scheme-specific proxy depends on the host,HTTPS_PROXYwas silently ignored — at constructionhostis"", sourlparse("").schemeis""and neitherhttpsnorhttpmatched. The proxy is now re-resolved whenhostis assigned, and an explicitly setproxystill wins.Upstream changes that reach the generated code:
hostis assigned — fixes #2681proxy_ssl_contextsupport (requested in #2387)Optional[...]instead of raisingAttributeError#24716 and #24539 land only on the sync side — they change the urllib3-based templates, which the aiohttp-based asyncio client does not use.
#24357 accounts for the bulk of the diff and is a behaviour fix, not churn. The old template dropped falsy items entirely, in both list and map serialization:
so a
0,"", orFalseelement silently vanished from the serialized output. It now emitsNoneonly for genuineNone:scripts/swagger.jsonis byte-identical, so every change here is generator-driven; no spec drift is mixed in.Which issue(s) this PR fixes:
Fixes #2681
Also delivers the
proxy_ssl_contextsupport requested in #2387 (already closed).Special notes for your reviewer:
Requires kubernetes-client/gen#310, which pins
openapi/python.shandopenapi/python-aio.shtov7.25.0. That merged on 2026-08-25, so both trees here reproduce from a clean checkout using gen's current defaults.Where to look. The diff is large (523 files over two commits) but almost entirely mechanical regeneration. The only hand-written changes are:
scripts/client_go_retry_patch.diffandscripts/client_go_retry_asyncio_patch.diff— regenerated with context linesscripts/rest_client_patch.diff— regenerated with context linesscripts/update-client.shandscripts/update-client-asyncio.sh— dropping--unidiff-zeroEverything else is generator output.
The local patches needed refreshing, and one case is worth showing.
rest_client_patch.difffailed loudly, because #23992 rewrote the line it anchored on — that is the good outcome.client_go_retry_patch.diffdid not. Its hunks were zero-context pure insertions (@@ -359,0 +360,16 @@), and with no context linesgit apply --unidiff-zerohas nothing to match — it inserts at the recorded offset unconditionally. This bump adds eight lines toconfiguration.pyabove that offset, so replaying the old patch on the new output gives:…while having inserted the block at line 360 instead of 368, in the middle of the
proxy_ssl_contextdocstring:Here the corruption happens to produce a
SyntaxError, so it would be caught — but bycompileallor the test run, pointing at generated code rather than at the patch that broke it. A smaller shift would just as easily produce valid code in the wrong scope.Both patches are regenerated with normal context and
--unidiff-zerois dropped fromupdate-client.shandupdate-client-asyncio.sh.On the asyncio patch specifically: it still applies correctly on this bump, because the changes above it are confined to the urllib3 templates. Refreshing it is hardening rather than a fix — happy to drop that hunk of the change if you would rather keep it minimal.
AI Assistance Disclosure: This code was developed with the assistance of Claude Opus 5 (claude-opus-5). The author has reviewed, tested, and takes full responsibility for the logic and changes
Verification
All run in a container:
compileallclean overkubernetes/(sync + asyncio)kubernetes/test+kubernetes/base: 246 passed, 14 skipped, 99 subtestskubernetes/aio/test: 951 passed, 6 subtestsOPENAPI_GENERATOR_COMMITunset, gives zero diff outsidedoc/— so the tree is reproducible and no hand-maintained content is lost on regenerationHTTP_PROXY/HTTPS_PROXYignored byload_kube_config(): proxy scheme resolved before the host is known #2681 confirmed end-to-end, with and without the environment set:Follow-ups deliberately left out
rest.pystill compares the content type by exact string when coercingapplication/json-patch+jsonto strategic merge; with #23992 available that could move tocontenttype_matches(), but it is a behaviour change and does not belong in a regeneration PR.Does this PR introduce a user-facing change?