Skip to content

feat: Start respecting MV response candidates#1744

Merged
gtema merged 1 commit intomainfrom
response-candidates
Apr 30, 2026
Merged

feat: Start respecting MV response candidates#1744
gtema merged 1 commit intomainfrom
response-candidates

Conversation

@gtema
Copy link
Copy Markdown
Owner

@gtema gtema commented Apr 29, 2026

Nova (in particular) has a strong deviations in responses across
microversions. Sometimes it uses "oneOf" as a second level of response
description. It causes cli/tui/(types) to actually fail in case it is
used against a cloud with a "bad" microversion. This madness can only be
handled with departing from the hope of having unified responses. Start
building all possible response candidates (per microversion and also for
the internal "oneOf"s where applicable (_a, _b, ... suffix). The cli in
such cases tries to deserialize into different supported schemas in a
row until something success (well, there is no other way to deal with
it). In a near future the CLI (on the codegenerator) would start using
the negotiated microversion to filter out response candidates that are
definitely not matching.

Copy link
Copy Markdown

@github-advanced-security github-advanced-security AI left a comment

Choose a reason for hiding this comment

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

clippy found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@gtema gtema force-pushed the response-candidates branch 3 times, most recently from f8c5aaf to 5041537 Compare April 30, 2026 10:38
Nova (in particular) has a strong deviations in responses across
microversions. Sometimes it uses "oneOf" as a second level of response
description. It causes cli/tui/(types) to actually fail in case it is
used against a cloud with a "bad" microversion. This madness can only be
handled with departing from the hope of having unified responses. Start
building all possible response candidates (per microversion and also for
the internal "oneOf"s where applicable (_a, _b, ... suffix). The cli in
such cases tries to deserialize into different supported schemas in a
row until something success (well, there is no other way to deal with
it). In a near future the CLI (on the codegenerator) would start using
the negotiated microversion to filter out response candidates that are
definitely not matching.
@gtema gtema force-pushed the response-candidates branch from 5041537 to b383d14 Compare April 30, 2026 10:55
@gtema gtema merged commit f0d589e into main Apr 30, 2026
20 checks passed
@gtema-release-plz gtema-release-plz Bot mentioned this pull request Apr 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants