Skip to content

fix: replace deprecated 409 CONFLICT error code (#165) - #166

Merged
caubut-charter merged 1 commit into
camaraproject:mainfrom
cablelabs:165-replace-deprecated-409-conflict
Jul 24, 2026
Merged

caubut-charter merged 1 commit into
camaraproject:mainfrom
cablelabs:165-replace-deprecated-409-conflict

Conversation

@clundie-CL

Copy link
Copy Markdown
Contributor

What type of PR is this?

  • correction

What this PR does / why we need it:

Resolves the Commonalities non-conformance raised in #165 (release-review of #164). Commonalities
deprecated the 409 CONFLICT error code (PR #569, from r4.1 / 0.7.0, still deprecated at r4.3 /
0.8.0). HTTP status 409 is retained — only the body code: CONFLICT is deprecated — so NAM's
explicit CONFLICT references are replaced with the applicable non-deprecated 409 codes:

Operation Replacement code
createTrustDomain (duplicate name) ALREADY_EXISTS
createTrustDomainDevice (duplicate registration) ALREADY_EXISTS
createRebootRequest (duplicate pending reboot) ALREADY_EXISTS
updateRebootRequest (state conflict) INCOMPATIBLE_STATE

Changes:

  • API definitions — updated the reboot-request prose (network-access-devices.yaml) and added a
    one-line note to each 409-returning create/update operation naming the specific code.
  • Test — network-access-domains-createTrustDomain.feature now asserts $.code == "ALREADY_EXISTS".
  • User stories — the Trust Domain and Trust Domain Device Registration exception tables now name the
    specific code (409 Conflict (ALREADY_EXISTS) / (INCOMPATIBLE_STATE)).
  • README — applies the line-18 wording suggestion from the Release Review: NetworkAccessManagement r3.1 (rc Sync26) #164 review ("customer" → "API consumer").

The shared code/common/CAMARA_common.yaml Generic409 is unchanged — it is the canonical r4.3
artifact (it retains CONFLICT as a deprecated example, matching upstream).

Which issue(s) this PR fixes:

Fixes #165

Does this PR introduce a breaking change?

  • Yes
  • No

Special notes for reviewers:

  • Verified with the CAMARA r4 (release-review-strictness) Spectral ruleset locally: 0 errors / 0
    warnings
    ; redocly lint valid on both specs; no NAM-authored CONFLICT remains
    (grep confirms only the canonical deprecated example in CAMARA_common.yaml).
  • x-camara-commonalities is intentionally not touched here — /create-snapshot stamps the pinned
    release semver at snapshot time (the discarded r3.1 snapshot already showed 0.8.0).
  • A broader r4.3 (0.8.0) conformance sweep (per r3.1: error code 409 CONFLICT has been deprecated (alignment with Commonalities) #165's "check other Commonalities 0.8.0 changes") is
    being tracked separately as per-finding issues.

Changelog input

release-note Replaced the deprecated 409 CONFLICT error code with specific non-deprecated 409 codes (ALREADY_EXISTS, INCOMPATIBLE_STATE) per Commonalities.

Additional documentation

This section can be blank.

docs

Commonalities deprecated the 409 CONFLICT error code (PR #569); HTTP status
409 is retained. Replace NAM's explicit CONFLICT references with the
applicable non-deprecated 409 codes:
- createTrustDomain, createTrustDomainDevice, createRebootRequest -> ALREADY_EXISTS
- updateRebootRequest -> INCOMPATIBLE_STATE

Updates the API definitions, the createTrustDomain feature test, and the two
Trust Domain user stories, and applies the README wording fix from the camaraproject#164
review.

@caubut-charter caubut-charter 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.

LGTM

@caubut-charter
caubut-charter merged commit d1b328d into camaraproject:main Jul 24, 2026
2 checks passed
clundie-CL added a commit that referenced this pull request Jul 24, 2026
clundie-CL added a commit that referenced this pull request Jul 24, 2026
* Update README Release Information for r3.1

* Add CHANGELOG draft for r3.1

* Revise CHANGELOG for network-access APIs

Updated the changelog for the network-access-devices and network-access-domains APIs, detailing breaking changes, additions, modifications, and the new input-validation response.

* docs: add 409-code alignment (#166) to r3.1 CHANGELOG; trim unchanged ICM dependency

* docs: restructure 409 change per RM review (Breaking/Added/Removed); note deviceStatus; extend README scope

---------

Co-authored-by: camara-release-automation[bot] <261643975+camara-release-automation[bot]@users.noreply.github.com>
Co-authored-by: Cody Lundie <c.lundie@cablelabs.com>
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.

r3.1: error code 409 CONFLICT has been deprecated (alignment with Commonalities)

2 participants