Skip to content

Align quality-on-demand and qos-provisioning with Commonalities r4.4 - #619

Open
hdamker wants to merge 3 commits into
camaraproject:mainfrom
hdamker:feat/618-commonalities-r4.4-alignment
Open

hdamker wants to merge 3 commits into
camaraproject:mainfrom
hdamker:feat/618-commonalities-r4.4-alignment

Conversation

@hdamker

@hdamker hdamker commented Sep 15, 2026 •

Copy link
Copy Markdown
Collaborator

What type of PR is this?

correction

What this PR does / why we need it:

Brings quality-on-demand and qos-provisioning into line with CAMARA Commonalities 0.9.0 (r4.4). Backward-compatible with the released 1.1.0 / 0.3.0: no response code set is narrowed and no existing error code value is renamed.

Highlights:

  • Set x-camara-commonalities: 0.9.0 in both specs and re-copy the drifted additional-error-responses info.description block.
  • Migrate off the deprecated Generic<status> responses onto the r4.4 catalogue: $ref the catalogue entry directly where its code set matches exactly (BadRequest400, BadRequestWithRange400, Unauthenticated401, PermissionDenied403, NotFound404, DeviceIdentifier422, SinkGone410); where it would narrow the declared set, keep a local response with the same codes and $ref the matching shared examples instead (a combined 404 for the device-identified operations, a combined 429 with QUOTA_EXCEEDED).
  • Source error examples from the new CAMARA_common.yaml / CAMARA_event_common.yaml example pools wherever a local response stays.
  • Reuse the new common SingleIpv4Address / SingleIpv6Address schemas in place of local duplicates (resolves quality-on-demand.yaml: replace local SingleIpv4Addr/SingleIpv6Addr with common $ref (after Commonalities r4.4) #585), and the new common Sink schema in place of the local inline definition.
  • Normalize the .feature test-definition OAS pointers to the #/ prefix used by the r4.4 test template.

Not carried in this PR, because both would require a new major version: adding 422 EVENT_NOTIFICATIONS_NOT_SUPPORTED for the optional sink on session/assignment creation, and replacing the deprecated 409 CONFLICT with INCOMPATIBLE_STATE.

Which issue(s) this PR fixes:

Fixes #618

Special notes for reviewers:

  • Backward compatibility: every declared response code set is unchanged; the two responses that would otherwise narrow (404, 429) stay local with their full existing code set rather than adopting the narrower catalogue entry.
  • Two example texts changed by adopting the common ones: INVALID_CREDENTIAL's message now says "Only Access token or Private key JWT are supported" (was stale from before Align quality-on-demand API and tests with Commonalities 0.8.0 (r4.3) #579 added PRIVATE_KEY_JWT), and INVALID_TOKEN's message now describes an invalid/expired token rather than "Only bearer token is supported". Only the code is contractual; the message text is not.
  • qos-provisioning's local sink schema's description already matched the new common Sink schema's description verbatim; quality-on-demand's kept its more specific session-termination wording via the sibling description next to the allOf.

Changelog input

 release-note
Align quality-on-demand and qos-provisioning with CAMARA Commonalities 0.9.0 (r4.4): migrate off the deprecated Generic<status> error responses onto the new catalogue and shared examples, reuse the new common SingleIpv4Address/SingleIpv6Address and Sink schemas, and fix the additional-error-responses template drift. Backward-compatible.

Additional documentation

This section can be blank.

docs

Update the additional-error-responses info.description block and the r4.3 Design Guide link to r4.4.
…chemas

Replace deprecated Generic<status> responses with the r4.4 catalogue where the code set matches exactly, or a local response with the same codes referencing the shared examples where it doesn't. Reuse the new common SingleIpv4Address/SingleIpv6Address and Sink schemas in place of local duplicates.
@hdamker

hdamker commented Sep 21, 2026

Copy link
Copy Markdown
Collaborator Author

@camaraproject/quality-on-demand_codeowners please let me know if there are any changes needed to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant