Skip to content

Commit d4ddc21

Browse files
committed
HYPERFLEET-1052 - chore: remove deprecated Ready condition type
1 parent dc7687c commit d4ddc21

14 files changed

Lines changed: 65 additions & 297 deletions

File tree

CHANGELOG.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.0.14] - 2026-05-15
11+
12+
### Removed
13+
14+
- Deprecated `Ready` condition type from `ConditionType`, status model documentation, and all examples (HYPERFLEET-1052)
15+
- `ExampleReadyReason` and `ExampleReadyMessage` constants
16+
17+
### Changed
18+
19+
- Search example updated from `status.conditions.Ready` to `status.conditions.Reconciled`
20+
- `postCluster` documentation updated to list only `LastKnownReconciled` and `Reconciled` as mandatory conditions
21+
1022
## [1.0.13] - 2026-05-13
1123

1224
### Removed
@@ -126,7 +138,8 @@ First official stable release of the HyperFleet API specification.
126138
- Interactive API documentation
127139

128140
<!-- Links -->
129-
[Unreleased]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.13...HEAD
141+
[Unreleased]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.14...HEAD
142+
[1.0.14]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.13...v1.0.14
130143
[1.0.13]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.12...v1.0.13
131144
[1.0.12]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.11...v1.0.12
132145
[1.0.11]: https://github.com/openshift-hyperfleet/hyperfleet-api-spec/compare/v1.0.10...v1.0.11

main.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ using OpenAPI;
2121
*/
2222
@service(#{ title: "HyperFleet API" })
2323
@info(#{
24-
version: "1.0.13",
24+
version: "1.0.14",
2525
contact: #{
2626
name: "HyperFleet Team",
2727
url: "https://github.com/openshift-hyperfleet",

models-core/cluster/example_cluster.tsp

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,6 @@ const exampleCluster: Cluster = #{
1212
generation: 1,
1313
status: #{
1414
conditions: #[
15-
#{
16-
type: ConditionType.Ready,
17-
status: ResourceConditionStatus.True,
18-
reason: ExampleReadyReason,
19-
message: ExampleReadyMessage,
20-
observed_generation: 1,
21-
created_time: "2021-01-01T10:00:00Z",
22-
last_updated_time: "2021-01-01T10:00:00Z",
23-
last_transition_time: "2021-01-01T10:00:00Z",
24-
},
2515
#{
2616
type: ConditionType.Reconciled,
2717
status: ResourceConditionStatus.True,
@@ -80,16 +70,6 @@ const exampleDeletedCluster: Cluster = #{
8070
generation: 2,
8171
status: #{
8272
conditions: #[
83-
#{
84-
type: ConditionType.Ready,
85-
status: ResourceConditionStatus.True,
86-
reason: ExampleReadyReason,
87-
message: ExampleReadyMessage,
88-
observed_generation: 2,
89-
created_time: "2021-01-01T10:00:00Z",
90-
last_updated_time: "2021-01-01T10:00:00Z",
91-
last_transition_time: "2021-01-01T10:00:00Z",
92-
},
9373
#{
9474
type: ConditionType.Reconciled,
9575
status: ResourceConditionStatus.True,

models-core/nodepool/example_nodepool.tsp

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,6 @@ const exampleNodePool: NodePool = #{
1717
},
1818
status: #{
1919
conditions: #[
20-
#{
21-
type: ConditionType.Ready,
22-
status: ResourceConditionStatus.True,
23-
reason: ExampleReadyReason,
24-
message: ExampleReadyMessage,
25-
observed_generation: 1,
26-
created_time: "2021-01-01T10:00:00Z",
27-
last_updated_time: "2021-01-01T10:00:00Z",
28-
last_transition_time: "2021-01-01T10:00:00Z",
29-
},
3020
#{
3121
type: ConditionType.Reconciled,
3222
status: ResourceConditionStatus.True,
@@ -90,16 +80,6 @@ const exampleDeletedNodePool: NodePool = #{
9080
},
9181
status: #{
9282
conditions: #[
93-
#{
94-
type: ConditionType.Ready,
95-
status: ResourceConditionStatus.True,
96-
reason: ExampleReadyReason,
97-
message: ExampleReadyMessage,
98-
observed_generation: 2,
99-
created_time: "2021-01-01T10:00:00Z",
100-
last_updated_time: "2021-01-01T10:00:00Z",
101-
last_transition_time: "2021-01-01T10:00:00Z",
102-
},
10383
#{
10484
type: ConditionType.Reconciled,
10585
status: ResourceConditionStatus.True,

models-gcp/cluster/example_cluster.tsp

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,6 @@ const exampleCluster: Cluster = #{
3434
generation: 1,
3535
status: #{
3636
conditions: #[
37-
#{
38-
type: ConditionType.Ready,
39-
status: ResourceConditionStatus.True,
40-
reason: ExampleReadyReason,
41-
message: ExampleReadyMessage,
42-
observed_generation: 1,
43-
created_time: "2021-01-01T10:00:00Z",
44-
last_updated_time: "2021-01-01T10:00:00Z",
45-
last_transition_time: "2021-01-01T10:00:00Z",
46-
},
4737
#{
4838
type: ConditionType.Reconciled,
4939
status: ResourceConditionStatus.True,
@@ -124,16 +114,6 @@ const exampleDeletedCluster: Cluster = #{
124114
generation: 2,
125115
status: #{
126116
conditions: #[
127-
#{
128-
type: ConditionType.Ready,
129-
status: ResourceConditionStatus.True,
130-
reason: ExampleReadyReason,
131-
message: ExampleReadyMessage,
132-
observed_generation: 2,
133-
created_time: "2021-01-01T10:00:00Z",
134-
last_updated_time: "2021-01-01T10:00:00Z",
135-
last_transition_time: "2021-01-01T10:00:00Z",
136-
},
137117
#{
138118
type: ConditionType.Reconciled,
139119
status: ResourceConditionStatus.True,

models-gcp/nodepool/example_nodepool.tsp

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -39,16 +39,6 @@ const exampleNodePool: NodePool = #{
3939
},
4040
status: #{
4141
conditions: #[
42-
#{
43-
type: ConditionType.Ready,
44-
status: ResourceConditionStatus.True,
45-
reason: ExampleReadyReason,
46-
message: ExampleReadyMessage,
47-
observed_generation: 1,
48-
created_time: "2021-01-01T10:00:00Z",
49-
last_updated_time: "2021-01-01T10:00:00Z",
50-
last_transition_time: "2021-01-01T10:00:00Z",
51-
},
5242
#{
5343
type: ConditionType.Reconciled,
5444
status: ResourceConditionStatus.True,
@@ -134,16 +124,6 @@ const exampleDeletedNodePool: NodePool = #{
134124
},
135125
status: #{
136126
conditions: #[
137-
#{
138-
type: ConditionType.Ready,
139-
status: ResourceConditionStatus.True,
140-
reason: ExampleReadyReason,
141-
message: ExampleReadyMessage,
142-
observed_generation: 2,
143-
created_time: "2021-01-01T10:00:00Z",
144-
last_updated_time: "2021-01-01T10:00:00Z",
145-
last_transition_time: "2021-01-01T10:00:00Z",
146-
},
147127
#{
148128
type: ConditionType.Reconciled,
149129
status: ResourceConditionStatus.True,

models/clusters/model.tsp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ model ClusterStatus {
3232
/**
3333
* List of status conditions for the cluster.
3434
*
35-
* **Mandatory conditions**:
36-
* - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
35+
* **Mandatory conditions**:
3736
* - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
3837
* - `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.
3938
*

models/common/model.tsp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ enum OrderDirection {
145145

146146
model SearchParams {
147147
/** Filter results using TSL (Tree Search Language) query syntax.
148-
* Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, `labels.region='us-east'` */
148+
* Examples: `status.conditions.Reconciled='True'`, `name in ('c1','c2')`, `labels.region='us-east'` */
149149
@query
150150
search?: string;
151151
}
@@ -176,7 +176,6 @@ model List<T> {
176176
union ConditionType {
177177
string,
178178
Available: "Available",
179-
Ready: "Ready",
180179
Reconciled: "Reconciled",
181180
LastKnownReconciled: "LastKnownReconciled"
182181
}
@@ -246,8 +245,6 @@ model ResourceCondition {
246245

247246
const ExampleLastKnownReconciledReason: string = "AllAdaptersReconciled";
248247
const ExampleLastKnownReconciledMessage: string = "All required adapters report Available=True for the tracked generation";
249-
const ExampleReadyReason: string = "ReconciledAll";
250-
const ExampleReadyMessage: string = "All required adapters reported Available=True or Finalized=True at the current generation";
251248
const ExampleReconciledReason: string = "ReconciledAll";
252249
const ExampleReconciledMessage: string = "All required adapters reported Available=True or Finalized=True at the current generation";
253250
const ExampleAdapter1: string = "adapter1";

models/nodepools/model.tsp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ model NodePoolStatus {
2929
/**
3030
* List of status conditions for the nodepool.
3131
*
32-
* **Mandatory conditions**:
33-
* - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
32+
* **Mandatory conditions**:
3433
* - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
3534
* - `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.
3635
*

schemas/core/openapi.yaml

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
openapi: 3.0.0
22
info:
33
title: HyperFleet API
4-
version: 1.0.13
4+
version: 1.0.14
55
contact:
66
name: HyperFleet Team
77
url: https://github.com/openshift-hyperfleet
@@ -58,7 +58,7 @@ paths:
5858
5959
**Note**: The `status` object in the response is read-only and computed by the service.
6060
It is NOT part of the request body. Initially,
61-
status.conditions will include mandatory "LastKnownReconciled", "Ready" and "Reconciled" conditions.
61+
status.conditions will include mandatory "LastKnownReconciled" and "Reconciled" conditions.
6262
parameters: []
6363
responses:
6464
'201':
@@ -188,14 +188,6 @@ paths:
188188
generation: 2
189189
status:
190190
conditions:
191-
- type: Ready
192-
status: 'True'
193-
reason: ReconciledAll
194-
message: All required adapters reported Available=True or Finalized=True at the current generation
195-
observed_generation: 2
196-
created_time: '2021-01-01T10:00:00Z'
197-
last_updated_time: '2021-01-01T10:00:00Z'
198-
last_transition_time: '2021-01-01T10:00:00Z'
199191
- type: Reconciled
200192
status: 'True'
201193
reason: ReconciledAll
@@ -401,14 +393,6 @@ paths:
401393
href: https://api.hyperfleet.com/v1/clusters/019466a0-8f8e-7abc-9def-0123456789ab
402394
status:
403395
conditions:
404-
- type: Ready
405-
status: 'True'
406-
reason: ReconciledAll
407-
message: All required adapters reported Available=True or Finalized=True at the current generation
408-
observed_generation: 2
409-
created_time: '2021-01-01T10:00:00Z'
410-
last_updated_time: '2021-01-01T10:00:00Z'
411-
last_transition_time: '2021-01-01T10:00:00Z'
412396
- type: Reconciled
413397
status: 'True'
414398
reason: ReconciledAll
@@ -723,7 +707,7 @@ components:
723707
required: false
724708
description: |-
725709
Filter results using TSL (Tree Search Language) query syntax.
726-
Examples: `status.conditions.Ready='True'`, `name in ('c1','c2')`, `labels.region='us-east'`
710+
Examples: `status.conditions.Reconciled='True'`, `name in ('c1','c2')`, `labels.region='us-east'`
727711
schema:
728712
type: string
729713
explode: false
@@ -1089,14 +1073,6 @@ components:
10891073
generation: 1
10901074
status:
10911075
conditions:
1092-
- type: Ready
1093-
status: 'True'
1094-
reason: ReconciledAll
1095-
message: All required adapters reported Available=True or Finalized=True at the current generation
1096-
observed_generation: 1
1097-
created_time: '2021-01-01T10:00:00Z'
1098-
last_updated_time: '2021-01-01T10:00:00Z'
1099-
last_transition_time: '2021-01-01T10:00:00Z'
11001076
- type: Reconciled
11011077
status: 'True'
11021078
reason: ReconciledAll
@@ -1226,8 +1202,7 @@ components:
12261202
description: |-
12271203
List of status conditions for the cluster.
12281204
1229-
**Mandatory conditions**:
1230-
- `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
1205+
**Mandatory conditions**:
12311206
- `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
12321207
- `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.
12331208
@@ -1388,14 +1363,6 @@ components:
13881363
href: https://api.hyperfleet.com/v1/clusters/019466a0-8f8e-7abc-9def-0123456789ab
13891364
status:
13901365
conditions:
1391-
- type: Ready
1392-
status: 'True'
1393-
reason: ReconciledAll
1394-
message: All required adapters reported Available=True or Finalized=True at the current generation
1395-
observed_generation: 1
1396-
created_time: '2021-01-01T10:00:00Z'
1397-
last_updated_time: '2021-01-01T10:00:00Z'
1398-
last_transition_time: '2021-01-01T10:00:00Z'
13991366
- type: Reconciled
14001367
status: 'True'
14011368
reason: ReconciledAll
@@ -1592,8 +1559,7 @@ components:
15921559
description: |-
15931560
List of status conditions for the nodepool.
15941561
1595-
**Mandatory conditions**:
1596-
- `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
1562+
**Mandatory conditions**:
15971563
- `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
15981564
- `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.
15991565

0 commit comments

Comments
 (0)