diff --git a/CHANGELOG.md b/CHANGELOG.md index fdc97b7..1bc5edb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.0.14] - 2026-05-15 + +### Removed + +- Deprecated `Ready` condition type from `ConditionType`, status model documentation, and all examples (HYPERFLEET-1052) +- `ExampleReadyReason` and `ExampleReadyMessage` constants + +### Changed + +- Search example updated from `status.conditions.Ready` to `status.conditions.Reconciled` +- `postCluster` documentation updated to list only `LastKnownReconciled` and `Reconciled` as mandatory conditions + ## [1.0.13] - 2026-05-13 ### Removed @@ -126,7 +138,8 @@ First official stable release of the HyperFleet API specification. - Interactive API documentation -[Unreleased]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.13...HEAD +[Unreleased]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.14...HEAD +[1.0.14]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.13...v1.0.14 [1.0.13]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.12...v1.0.13 [1.0.12]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.11...v1.0.12 [1.0.11]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.10...v1.0.11 diff --git a/main.tsp b/main.tsp index 2e6756f..741967c 100644 --- a/main.tsp +++ b/main.tsp @@ -21,7 +21,7 @@ using OpenAPI; */ @service(#{ title: "HyperFleet API" }) @info(#{ - version: "1.0.13", + version: "1.0.14", contact: #{ name: "HyperFleet Team", url: "https://github.com/openshift-hyperfleet", diff --git a/models-core/cluster/example_cluster.tsp b/models-core/cluster/example_cluster.tsp index 3cd476b..8e2afb2 100644 --- a/models-core/cluster/example_cluster.tsp +++ b/models-core/cluster/example_cluster.tsp @@ -12,16 +12,6 @@ const exampleCluster: Cluster = #{ generation: 1, status: #{ conditions: #[ - #{ - type: ConditionType.Ready, - status: ResourceConditionStatus.True, - reason: ExampleReadyReason, - message: ExampleReadyMessage, - observed_generation: 1, - created_time: "2021-01-01T10:00:00Z", - last_updated_time: "2021-01-01T10:00:00Z", - last_transition_time: "2021-01-01T10:00:00Z", - }, #{ type: ConditionType.Reconciled, status: ResourceConditionStatus.True, @@ -80,16 +70,6 @@ const exampleDeletedCluster: Cluster = #{ generation: 2, status: #{ conditions: #[ - #{ - type: ConditionType.Ready, - status: ResourceConditionStatus.True, - reason: ExampleReadyReason, - message: ExampleReadyMessage, - observed_generation: 2, - created_time: "2021-01-01T10:00:00Z", - last_updated_time: "2021-01-01T10:00:00Z", - last_transition_time: "2021-01-01T10:00:00Z", - }, #{ type: ConditionType.Reconciled, status: ResourceConditionStatus.True, diff --git a/models-core/nodepool/example_nodepool.tsp b/models-core/nodepool/example_nodepool.tsp index 99e4ada..83c30f1 100644 --- a/models-core/nodepool/example_nodepool.tsp +++ b/models-core/nodepool/example_nodepool.tsp @@ -17,16 +17,6 @@ const exampleNodePool: NodePool = #{ }, status: #{ conditions: #[ - #{ - type: ConditionType.Ready, - status: ResourceConditionStatus.True, - reason: ExampleReadyReason, - message: ExampleReadyMessage, - observed_generation: 1, - created_time: "2021-01-01T10:00:00Z", - last_updated_time: "2021-01-01T10:00:00Z", - last_transition_time: "2021-01-01T10:00:00Z", - }, #{ type: ConditionType.Reconciled, status: ResourceConditionStatus.True, @@ -90,16 +80,6 @@ const exampleDeletedNodePool: NodePool = #{ }, status: #{ conditions: #[ - #{ - type: ConditionType.Ready, - status: ResourceConditionStatus.True, - reason: ExampleReadyReason, - message: ExampleReadyMessage, - observed_generation: 2, - created_time: "2021-01-01T10:00:00Z", - last_updated_time: "2021-01-01T10:00:00Z", - last_transition_time: "2021-01-01T10:00:00Z", - }, #{ type: ConditionType.Reconciled, status: ResourceConditionStatus.True, diff --git a/models-gcp/cluster/example_cluster.tsp b/models-gcp/cluster/example_cluster.tsp index 596e0d7..603f58f 100644 --- a/models-gcp/cluster/example_cluster.tsp +++ b/models-gcp/cluster/example_cluster.tsp @@ -34,16 +34,6 @@ const exampleCluster: Cluster = #{ generation: 1, status: #{ conditions: #[ - #{ - type: ConditionType.Ready, - status: ResourceConditionStatus.True, - reason: ExampleReadyReason, - message: ExampleReadyMessage, - observed_generation: 1, - created_time: "2021-01-01T10:00:00Z", - last_updated_time: "2021-01-01T10:00:00Z", - last_transition_time: "2021-01-01T10:00:00Z", - }, #{ type: ConditionType.Reconciled, status: ResourceConditionStatus.True, @@ -124,16 +114,6 @@ const exampleDeletedCluster: Cluster = #{ generation: 2, status: #{ conditions: #[ - #{ - type: ConditionType.Ready, - status: ResourceConditionStatus.True, - reason: ExampleReadyReason, - message: ExampleReadyMessage, - observed_generation: 2, - created_time: "2021-01-01T10:00:00Z", - last_updated_time: "2021-01-01T10:00:00Z", - last_transition_time: "2021-01-01T10:00:00Z", - }, #{ type: ConditionType.Reconciled, status: ResourceConditionStatus.True, diff --git a/models-gcp/nodepool/example_nodepool.tsp b/models-gcp/nodepool/example_nodepool.tsp index b7e240d..ba6ce61 100644 --- a/models-gcp/nodepool/example_nodepool.tsp +++ b/models-gcp/nodepool/example_nodepool.tsp @@ -39,16 +39,6 @@ const exampleNodePool: NodePool = #{ }, status: #{ conditions: #[ - #{ - type: ConditionType.Ready, - status: ResourceConditionStatus.True, - reason: ExampleReadyReason, - message: ExampleReadyMessage, - observed_generation: 1, - created_time: "2021-01-01T10:00:00Z", - last_updated_time: "2021-01-01T10:00:00Z", - last_transition_time: "2021-01-01T10:00:00Z", - }, #{ type: ConditionType.Reconciled, status: ResourceConditionStatus.True, @@ -134,16 +124,6 @@ const exampleDeletedNodePool: NodePool = #{ }, status: #{ conditions: #[ - #{ - type: ConditionType.Ready, - status: ResourceConditionStatus.True, - reason: ExampleReadyReason, - message: ExampleReadyMessage, - observed_generation: 2, - created_time: "2021-01-01T10:00:00Z", - last_updated_time: "2021-01-01T10:00:00Z", - last_transition_time: "2021-01-01T10:00:00Z", - }, #{ type: ConditionType.Reconciled, status: ResourceConditionStatus.True, diff --git a/models/clusters/model.tsp b/models/clusters/model.tsp index 84466d1..4fd3035 100644 --- a/models/clusters/model.tsp +++ b/models/clusters/model.tsp @@ -32,8 +32,7 @@ model ClusterStatus { /** * List of status conditions for the cluster. * - * **Mandatory conditions**: - * - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation. + * **Mandatory conditions**: * - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. * - `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed. * diff --git a/models/common/model.tsp b/models/common/model.tsp index ad7d15f..a0489da 100644 --- a/models/common/model.tsp +++ b/models/common/model.tsp @@ -145,7 +145,7 @@ enum OrderDirection { model SearchParams { /** Filter results using TSL (Tree Search Language) query syntax. - * Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, `labels.region='us-east'` */ + * Examples: `status.conditions.Reconciled='True'`, `name in ('c1','c2')`, `labels.region='us-east'` */ @query search?: string; } @@ -176,7 +176,6 @@ model List { union ConditionType { string, Available: "Available", - Ready: "Ready", Reconciled: "Reconciled", LastKnownReconciled: "LastKnownReconciled" } @@ -246,8 +245,6 @@ model ResourceCondition { const ExampleLastKnownReconciledReason: string = "AllAdaptersReconciled"; const ExampleLastKnownReconciledMessage: string = "All required adapters report Available=True for the tracked generation"; - const ExampleReadyReason: string = "ReconciledAll"; - const ExampleReadyMessage: string = "All required adapters reported Available=True or Finalized=True at the current generation"; const ExampleReconciledReason: string = "ReconciledAll"; const ExampleReconciledMessage: string = "All required adapters reported Available=True or Finalized=True at the current generation"; const ExampleAdapter1: string = "adapter1"; diff --git a/models/nodepools/model.tsp b/models/nodepools/model.tsp index 3aa5829..59b10e1 100644 --- a/models/nodepools/model.tsp +++ b/models/nodepools/model.tsp @@ -29,8 +29,7 @@ model NodePoolStatus { /** * List of status conditions for the nodepool. * - * **Mandatory conditions**: - * - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation. + * **Mandatory conditions**: * - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. * - `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed. * diff --git a/schemas/core/openapi.yaml b/schemas/core/openapi.yaml index 96179c6..c85003a 100644 --- a/schemas/core/openapi.yaml +++ b/schemas/core/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: HyperFleet API - version: 1.0.13 + version: 1.0.14 contact: name: HyperFleet Team url: https://github.com/openshift-hyperfleet @@ -58,7 +58,7 @@ paths: **Note**: The `status` object in the response is read-only and computed by the service. It is NOT part of the request body. Initially, - status.conditions will include mandatory "LastKnownReconciled", "Ready" and "Reconciled" conditions. + status.conditions will include mandatory "LastKnownReconciled" and "Reconciled" conditions. parameters: [] responses: '201': @@ -188,14 +188,6 @@ paths: generation: 2 status: conditions: - - type: Ready - status: 'True' - reason: ReconciledAll - message: All required adapters reported Available=True or Finalized=True at the current generation - observed_generation: 2 - created_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - type: Reconciled status: 'True' reason: ReconciledAll @@ -401,14 +393,6 @@ paths: href: https://api.hyperfleet.com/v1/clusters/019466a0-8f8e-7abc-9def-0123456789ab status: conditions: - - type: Ready - status: 'True' - reason: ReconciledAll - message: All required adapters reported Available=True or Finalized=True at the current generation - observed_generation: 2 - created_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - type: Reconciled status: 'True' reason: ReconciledAll @@ -723,7 +707,7 @@ components: required: false description: |- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in ('c1','c2')`, `labels.region='us-east'` schema: type: string explode: false @@ -1089,14 +1073,6 @@ components: generation: 1 status: conditions: - - type: Ready - status: 'True' - reason: ReconciledAll - message: All required adapters reported Available=True or Finalized=True at the current generation - observed_generation: 1 - created_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - type: Reconciled status: 'True' reason: ReconciledAll @@ -1226,8 +1202,7 @@ components: description: |- List of status conditions for the cluster. - **Mandatory conditions**: - - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation. + **Mandatory conditions**: - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. - `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed. @@ -1388,14 +1363,6 @@ components: href: https://api.hyperfleet.com/v1/clusters/019466a0-8f8e-7abc-9def-0123456789ab status: conditions: - - type: Ready - status: 'True' - reason: ReconciledAll - message: All required adapters reported Available=True or Finalized=True at the current generation - observed_generation: 1 - created_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - type: Reconciled status: 'True' reason: ReconciledAll @@ -1592,8 +1559,7 @@ components: description: |- List of status conditions for the nodepool. - **Mandatory conditions**: - - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation. + **Mandatory conditions**: - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. - `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed. diff --git a/schemas/core/swagger.yaml b/schemas/core/swagger.yaml index c4804b6..b1ee316 100644 --- a/schemas/core/swagger.yaml +++ b/schemas/core/swagger.yaml @@ -17,7 +17,7 @@ info: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' title: HyperFleet API - version: 1.0.13 + version: 1.0.14 host: hyperfleet.redhat.com basePath: / schemes: @@ -32,8 +32,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -118,8 +118,8 @@ paths: It is NOT part of the request body. Initially, - status.conditions will include mandatory "LastKnownReconciled", "Ready" - and "Reconciled" conditions. + status.conditions will include mandatory "LastKnownReconciled" and + "Reconciled" conditions. operationId: postCluster summary: Create cluster '/api/hyperfleet/v1/clusters/{cluster_id}': @@ -155,16 +155,6 @@ paths: spec: {} status: conditions: - - created_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - message: >- - All required adapters reported Available=True or - Finalized=True at the current generation - observed_generation: 2 - reason: ReconciledAll - status: 'True' - type: Ready - created_time: '2021-01-01T10:00:00Z' last_transition_time: '2021-01-01T10:00:00Z' last_updated_time: '2021-01-01T10:00:00Z' @@ -234,8 +224,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -315,8 +305,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -446,16 +436,6 @@ paths: spec: {} status: conditions: - - created_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - message: >- - All required adapters reported Available=True or - Finalized=True at the current generation - observed_generation: 2 - reason: ReconciledAll - status: 'True' - type: Ready - created_time: '2021-01-01T10:00:00Z' last_transition_time: '2021-01-01T10:00:00Z' last_updated_time: '2021-01-01T10:00:00Z' @@ -610,8 +590,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -715,8 +695,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -811,8 +791,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -1170,16 +1150,6 @@ definitions: spec: {} status: conditions: - - created_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - message: >- - All required adapters reported Available=True or Finalized=True at - the current generation - observed_generation: 1 - reason: ReconciledAll - status: 'True' - type: Ready - created_time: '2021-01-01T10:00:00Z' last_transition_time: '2021-01-01T10:00:00Z' last_updated_time: '2021-01-01T10:00:00Z' @@ -1384,10 +1354,7 @@ definitions: List of status conditions for the cluster. - **Mandatory conditions**: - - - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all - adapters report successfully at the current generation. + **Mandatory conditions**: - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. @@ -1494,16 +1461,6 @@ definitions: spec: {} status: conditions: - - created_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - message: >- - All required adapters reported Available=True or Finalized=True at - the current generation - observed_generation: 1 - reason: ReconciledAll - status: 'True' - type: Ready - created_time: '2021-01-01T10:00:00Z' last_transition_time: '2021-01-01T10:00:00Z' last_updated_time: '2021-01-01T10:00:00Z' @@ -1775,10 +1732,7 @@ definitions: List of status conditions for the nodepool. - **Mandatory conditions**: - - - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all - adapters report successfully at the current generation. + **Mandatory conditions**: - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. @@ -1950,7 +1904,7 @@ x-components: description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, + Examples: `status.conditions.Reconciled='True'`, `name in ('c1','c2')`, `labels.region='us-east'` in: query name: search diff --git a/schemas/gcp/openapi.yaml b/schemas/gcp/openapi.yaml index f44ab5d..3b624a0 100644 --- a/schemas/gcp/openapi.yaml +++ b/schemas/gcp/openapi.yaml @@ -1,7 +1,7 @@ openapi: 3.0.0 info: title: HyperFleet API - version: 1.0.13 + version: 1.0.14 contact: name: HyperFleet Team url: https://github.com/openshift-hyperfleet @@ -58,7 +58,7 @@ paths: **Note**: The `status` object in the response is read-only and computed by the service. It is NOT part of the request body. Initially, - status.conditions will include mandatory "LastKnownReconciled", "Ready" and "Reconciled" conditions. + status.conditions will include mandatory "LastKnownReconciled" and "Reconciled" conditions. parameters: [] responses: '201': @@ -207,14 +207,6 @@ paths: generation: 2 status: conditions: - - type: Ready - status: 'True' - reason: ReconciledAll - message: All required adapters reported Available=True or Finalized=True at the current generation - observed_generation: 2 - created_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - type: Reconciled status: 'True' reason: ReconciledAll @@ -439,14 +431,6 @@ paths: href: https://api.hyperfleet.com/v1/clusters/019466a0-8f8e-7abc-9def-0123456789ab status: conditions: - - type: Ready - status: 'True' - reason: ReconciledAll - message: All required adapters reported Available=True or Finalized=True at the current generation - observed_generation: 2 - created_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - type: Reconciled status: 'True' reason: ReconciledAll @@ -687,7 +671,7 @@ components: required: false description: |- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in ('c1','c2')`, `labels.region='us-east'` schema: type: string explode: false @@ -1024,14 +1008,6 @@ components: generation: 1 status: conditions: - - type: Ready - status: 'True' - reason: ReconciledAll - message: All required adapters reported Available=True or Finalized=True at the current generation - observed_generation: 1 - created_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - type: Reconciled status: 'True' reason: ReconciledAll @@ -1262,8 +1238,7 @@ components: description: |- List of status conditions for the cluster. - **Mandatory conditions**: - - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation. + **Mandatory conditions**: - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. - `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed. @@ -1442,14 +1417,6 @@ components: href: https://api.hyperfleet.com/v1/clusters/019466a0-8f8e-7abc-9def-0123456789ab status: conditions: - - type: Ready - status: 'True' - reason: ReconciledAll - message: All required adapters reported Available=True or Finalized=True at the current generation - observed_generation: 1 - created_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - type: Reconciled status: 'True' reason: ReconciledAll @@ -1753,8 +1720,7 @@ components: description: |- List of status conditions for the nodepool. - **Mandatory conditions**: - - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation. + **Mandatory conditions**: - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. - `type: "LastKnownReconciled"`: Sticky cross-generation condition — stays True as long as all required adapters were reconciled at a common observed generation, even if a newer generation is being processed. diff --git a/schemas/gcp/swagger.yaml b/schemas/gcp/swagger.yaml index c72a1ad..c3801b6 100644 --- a/schemas/gcp/swagger.yaml +++ b/schemas/gcp/swagger.yaml @@ -17,7 +17,7 @@ info: name: Apache 2.0 url: 'https://www.apache.org/licenses/LICENSE-2.0' title: HyperFleet API - version: 1.0.13 + version: 1.0.14 host: hyperfleet.redhat.com basePath: / schemes: @@ -32,8 +32,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -118,8 +118,8 @@ paths: It is NOT part of the request body. Initially, - status.conditions will include mandatory "LastKnownReconciled", "Ready" - and "Reconciled" conditions. + status.conditions will include mandatory "LastKnownReconciled" and + "Reconciled" conditions. operationId: postCluster summary: Create cluster '/api/hyperfleet/v1/clusters/{cluster_id}': @@ -175,16 +175,6 @@ paths: version: 4.14.0 status: conditions: - - created_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - message: >- - All required adapters reported Available=True or - Finalized=True at the current generation - observed_generation: 2 - reason: ReconciledAll - status: 'True' - type: Ready - created_time: '2021-01-01T10:00:00Z' last_transition_time: '2021-01-01T10:00:00Z' last_updated_time: '2021-01-01T10:00:00Z' @@ -254,8 +244,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -335,8 +325,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -485,16 +475,6 @@ paths: type: gcp status: conditions: - - created_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - message: >- - All required adapters reported Available=True or - Finalized=True at the current generation - observed_generation: 2 - reason: ReconciledAll - status: 'True' - type: Ready - created_time: '2021-01-01T10:00:00Z' last_transition_time: '2021-01-01T10:00:00Z' last_updated_time: '2021-01-01T10:00:00Z' @@ -649,8 +629,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -708,8 +688,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -763,8 +743,8 @@ paths: - description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, - `labels.region='us-east'` + Examples: `status.conditions.Reconciled='True'`, `name in + ('c1','c2')`, `labels.region='us-east'` in: query name: search required: false @@ -1093,16 +1073,6 @@ definitions: version: 4.14.0 status: conditions: - - created_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - message: >- - All required adapters reported Available=True or Finalized=True at - the current generation - observed_generation: 1 - reason: ReconciledAll - status: 'True' - type: Ready - created_time: '2021-01-01T10:00:00Z' last_transition_time: '2021-01-01T10:00:00Z' last_updated_time: '2021-01-01T10:00:00Z' @@ -1408,10 +1378,7 @@ definitions: List of status conditions for the cluster. - **Mandatory conditions**: - - - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all - adapters report successfully at the current generation. + **Mandatory conditions**: - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. @@ -1534,16 +1501,6 @@ definitions: type: gcp status: conditions: - - created_time: '2021-01-01T10:00:00Z' - last_transition_time: '2021-01-01T10:00:00Z' - last_updated_time: '2021-01-01T10:00:00Z' - message: >- - All required adapters reported Available=True or Finalized=True at - the current generation - observed_generation: 1 - reason: ReconciledAll - status: 'True' - type: Ready - created_time: '2021-01-01T10:00:00Z' last_transition_time: '2021-01-01T10:00:00Z' last_updated_time: '2021-01-01T10:00:00Z' @@ -1922,10 +1879,7 @@ definitions: List of status conditions for the nodepool. - **Mandatory conditions**: - - - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all - adapters report successfully at the current generation. + **Mandatory conditions**: - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation. @@ -2120,7 +2074,7 @@ x-components: description: >- Filter results using TSL (Tree Search Language) query syntax. - Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, + Examples: `status.conditions.Reconciled='True'`, `name in ('c1','c2')`, `labels.region='us-east'` in: query name: search diff --git a/services/clusters.tsp b/services/clusters.tsp index ffca637..be45d27 100644 --- a/services/clusters.tsp +++ b/services/clusters.tsp @@ -40,7 +40,7 @@ interface Clusters { * * **Note**: The `status` object in the response is read-only and computed by the service. * It is NOT part of the request body. Initially, - * status.conditions will include mandatory "LastKnownReconciled", "Ready" and "Reconciled" conditions. + * status.conditions will include mandatory "LastKnownReconciled" and "Reconciled" conditions. * */ @route("")