Skip to content

Commit 6f87b76

Browse files
Merge pull request #38 from rafabene/HYPERFLEET-1017-rename-available-to-last-known-reconciled
HYPERFLEET-1017 - feat: rename aggregated condition Available to LastKnownReconciled
2 parents 5d10855 + b07fa0a commit 6f87b76

15 files changed

Lines changed: 130 additions & 102 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1515

1616
### Changed
1717

18+
- Renamed aggregated condition `Available` to `LastKnownReconciled` in cluster and nodepool status conditions (HYPERFLEET-1017)
19+
- Updated condition examples and descriptions to reflect `LastKnownReconciled` semantics
20+
- Fixed typo `Avaliable``Available` in adapter example constants (HYPERFLEET-971)
1821
- Improved README.md structure to align with HyperFleet documentation standards
1922

2023
## [1.0.10] - 2026-05-05

aliases.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
aliases-core.tsp
1+
aliases-gcp.tsp

main.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ using OpenAPI;
2020
*
2121
*/
2222
@service(#{ title: "HyperFleet API" })
23-
@info(#{ version: "1.0.10", contact: #{ name: "HyperFleet Team" }, license: #{ name: "Apache 2.0" ,url: "https://www.apache.org/licenses/LICENSE-2.0"} })
23+
@info(#{ version: "1.0.11", contact: #{ name: "HyperFleet Team" }, license: #{ name: "Apache 2.0" ,url: "https://www.apache.org/licenses/LICENSE-2.0"} })
2424
@server("https://hyperfleet.redhat.com", "Production")
2525
@route("/api/hyperfleet/v1")
2626
namespace HyperFleet;

models-core/cluster/example_cluster.tsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,10 @@ const exampleCluster: Cluster = #{
3333
last_transition_time: "2021-01-01T10:00:00Z",
3434
},
3535
#{
36-
type: ConditionType.Available,
36+
type: ConditionType.LastKnownReconciled,
3737
status: ResourceConditionStatus.True,
38-
reason: ExampleAvailableReason,
39-
message: ExampleAvailableMessage,
38+
reason: ExampleLastKnownReconciledReason,
39+
message: ExampleLastKnownReconciledMessage,
4040
observed_generation: 1,
4141
created_time: "2021-01-01T10:00:00Z",
4242
last_updated_time: "2021-01-01T10:00:00Z",
@@ -101,10 +101,10 @@ const exampleDeletedCluster: Cluster = #{
101101
last_transition_time: "2021-01-01T10:00:00Z",
102102
},
103103
#{
104-
type: ConditionType.Available,
104+
type: ConditionType.LastKnownReconciled,
105105
status: ResourceConditionStatus.True,
106-
reason: ExampleAvailableReason,
107-
message: ExampleAvailableMessage,
106+
reason: ExampleLastKnownReconciledReason,
107+
message: ExampleLastKnownReconciledMessage,
108108
observed_generation: 2,
109109
created_time: "2021-01-01T10:00:00Z",
110110
last_updated_time: "2021-01-01T10:00:00Z",

models-core/nodepool/example_nodepool.tsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ const exampleNodePool: NodePool = #{
3838
last_transition_time: "2021-01-01T10:00:00Z",
3939
},
4040
#{
41-
type: ConditionType.Available,
41+
type: ConditionType.LastKnownReconciled,
4242
status: ResourceConditionStatus.True,
43-
reason: ExampleAvailableReason,
44-
message: ExampleAvailableMessage,
43+
reason: ExampleLastKnownReconciledReason,
44+
message: ExampleLastKnownReconciledMessage,
4545
observed_generation: 1,
4646
created_time: "2021-01-01T10:00:00Z",
4747
last_updated_time: "2021-01-01T10:00:00Z",
@@ -111,10 +111,10 @@ const exampleDeletedNodePool: NodePool = #{
111111
last_transition_time: "2021-01-01T10:00:00Z",
112112
},
113113
#{
114-
type: ConditionType.Available,
114+
type: ConditionType.LastKnownReconciled,
115115
status: ResourceConditionStatus.True,
116-
reason: ExampleAvailableReason,
117-
message: ExampleAvailableMessage,
116+
reason: ExampleLastKnownReconciledReason,
117+
message: ExampleLastKnownReconciledMessage,
118118
observed_generation: 2,
119119
created_time: "2021-01-01T10:00:00Z",
120120
last_updated_time: "2021-01-01T10:00:00Z",

models-gcp/cluster/example_cluster.tsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ const exampleCluster: Cluster = #{
5555
last_transition_time: "2021-01-01T10:00:00Z",
5656
},
5757
#{
58-
type: ConditionType.Available,
58+
type: ConditionType.LastKnownReconciled,
5959
status: ResourceConditionStatus.True,
60-
reason: ExampleAvailableReason,
61-
message: ExampleAvailableMessage,
60+
reason: ExampleLastKnownReconciledReason,
61+
message: ExampleLastKnownReconciledMessage,
6262
observed_generation: 1,
6363
created_time: "2021-01-01T10:00:00Z",
6464
last_updated_time: "2021-01-01T10:00:00Z",
@@ -145,10 +145,10 @@ const exampleDeletedCluster: Cluster = #{
145145
last_transition_time: "2021-01-01T10:00:00Z",
146146
},
147147
#{
148-
type: ConditionType.Available,
148+
type: ConditionType.LastKnownReconciled,
149149
status: ResourceConditionStatus.True,
150-
reason: ExampleAvailableReason,
151-
message: ExampleAvailableMessage,
150+
reason: ExampleLastKnownReconciledReason,
151+
message: ExampleLastKnownReconciledMessage,
152152
observed_generation: 2,
153153
created_time: "2021-01-01T10:00:00Z",
154154
last_updated_time: "2021-01-01T10:00:00Z",

models-gcp/nodepool/example_nodepool.tsp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@ const exampleNodePool: NodePool = #{
6060
last_transition_time: "2021-01-01T10:00:00Z",
6161
},
6262
#{
63-
type: ConditionType.Available,
63+
type: ConditionType.LastKnownReconciled,
6464
status: ResourceConditionStatus.True,
65-
reason: ExampleAvailableReason,
66-
message: ExampleAvailableMessage,
65+
reason: ExampleLastKnownReconciledReason,
66+
message: ExampleLastKnownReconciledMessage,
6767
observed_generation: 1,
6868
created_time: "2021-01-01T10:00:00Z",
6969
last_updated_time: "2021-01-01T10:00:00Z",
@@ -155,10 +155,10 @@ const exampleDeletedNodePool: NodePool = #{
155155
last_transition_time: "2021-01-01T10:00:00Z",
156156
},
157157
#{
158-
type: ConditionType.Available,
158+
type: ConditionType.LastKnownReconciled,
159159
status: ResourceConditionStatus.True,
160-
reason: ExampleAvailableReason,
161-
message: ExampleAvailableMessage,
160+
reason: ExampleLastKnownReconciledReason,
161+
message: ExampleLastKnownReconciledMessage,
162162
observed_generation: 2,
163163
created_time: "2021-01-01T10:00:00Z",
164164
last_updated_time: "2021-01-01T10:00:00Z",

models/clusters/model.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ model ClusterStatus {
3535
* **Mandatory conditions**:
3636
* - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
3737
* - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
38-
* - `type: "Available"`: Aggregated adapter result for a common observed_generation.
38+
* - `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.
3939
*
4040
* These conditions are present immediately upon resource creation.
4141
*/

models/common/model.tsp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ union ConditionType {
177177
string,
178178
Available: "Available",
179179
Ready: "Ready",
180-
Reconciled: "Reconciled"
180+
Reconciled: "Reconciled",
181+
LastKnownReconciled: "LastKnownReconciled"
181182
}
182183

183184
/**
@@ -243,8 +244,8 @@ model ResourceCondition {
243244
@format("date-time") last_updated_time: string;
244245
}
245246

246-
const ExampleAvailableReason: string = "All adapters reported Available True for the same generation";
247-
const ExampleAvailableMessage: string = "All adapters reported Available True for the same generation";
247+
const ExampleLastKnownReconciledReason: string = "All required adapters were reconciled at a common observed generation";
248+
const ExampleLastKnownReconciledMessage: string = "All required adapters were reconciled at a common observed generation";
248249
const ExampleReadyReason: string = "All adapters reported Available=True for the current generation";
249250
const ExampleReadyMessage: string = "All adapters reported Available=True for the current generation";
250251
const ExampleReconciledReason: string = "All required adapters reported Available=True or Finalized=True at the current generation";

models/nodepools/model.tsp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ model NodePoolStatus {
3232
* **Mandatory conditions**:
3333
* - `type: "Ready"` *(deprecated — use Reconciled)*: Whether all adapters report successfully at the current generation.
3434
* - `type: "Reconciled"`: Whether the resource's desired state has been fully reconciled by all adapters at the current generation.
35-
* - `type: "Available"`: Aggregated adapter result for a common observed_generation.
35+
* - `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.
3636
*
3737
* These conditions are present immediately upon resource creation.
3838
*/

0 commit comments

Comments
 (0)