Draft: HYPERFLEET-732 - feat: add UUID field to Cluster and NodePool resources#28
Draft: HYPERFLEET-732 - feat: add UUID field to Cluster and NodePool resources#2886254860 wants to merge 3 commits intoopenshift-hyperfleet:mainfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
WalkthroughThis PR introduces a new optional Sequence Diagram(s)Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
schemas/core/openapi.yaml (1)
832-839: Clarify create-time ownership semantics foruuid.The field is documented as “immutable, assigned at creation,” but create payloads also accept caller-provided
uuid. Please explicitly define behavior (service-generated when omitted vs caller-supplied allowed, and duplicate conflict behavior such as 409) to avoid integration ambiguity.Also applies to: 1112-1119
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@schemas/core/openapi.yaml` around lines 832 - 839, Update the "uuid" schema description to explicitly state create-time ownership and conflict behavior: indicate that the service will generate a RFC4122 UUID when the client omits the "uuid", that clients are allowed to supply their own "uuid" on create (caller-supplied accepted), and define the conflict semantics (e.g., a 409 Conflict is returned if a supplied UUID already exists). Apply the same clarification to the duplicate "uuid" occurrences noted (the block at 1112-1119) and ensure the wording mentions immutability after creation and that updates to "uuid" are rejected.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@schemas/core/openapi.yaml`:
- Around line 832-839: Update the "uuid" schema description to explicitly state
create-time ownership and conflict behavior: indicate that the service will
generate a RFC4122 UUID when the client omits the "uuid", that clients are
allowed to supply their own "uuid" on create (caller-supplied accepted), and
define the conflict semantics (e.g., a 409 Conflict is returned if a supplied
UUID already exists). Apply the same clarification to the duplicate "uuid"
occurrences noted (the block at 1112-1119) and ensure the wording mentions
immutability after creation and that updates to "uuid" are rejected.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 5b765f25-8c3d-444b-961b-b36adb12dd99
📒 Files selected for processing (10)
models-core/cluster/example_cluster.tspmodels-core/nodepool/example_nodepool.tspmodels-gcp/cluster/example_cluster.tspmodels-gcp/nodepool/example_nodepool.tspmodels/clusters/model.tspmodels/nodepools/model.tspschemas/core/openapi.yamlschemas/core/swagger.yamlschemas/gcp/openapi.yamlschemas/gcp/swagger.yaml
|
/hold This method might be replaced by the method that change the existing ID field to RFC4122. |
Summary
Add optional RFC4122 UUID identifier field to Cluster and NodePool models to support platform integrations requiring UUID format (e.g., Hypershift spec.clusterID). The UUID is immutable and assigned at creation time, providing a stable, standards-compliant identifier alongside the existing ID field. Updated TypeSpec models, examples, and regenerated OpenAPI/Swagger schemas.
Summary by CodeRabbit
New Features
Documentation