@@ -23,6 +23,11 @@ proposal because most of the changes described below are a consequence of the wo
23
23
- Support for terminal errors has been dropped from all Kinds
24
24
- ` status.failureReason ` and ` status.failureMessage ` will continue to exist temporarily under ` status.deprecated.v1beta1 `
25
25
for the sake of down conversions and to provide a temporary option for users willing to continue using old conditions.
26
+ - The const values for ` Failed ` phase has been deprecated in the following enum types (controllers are not setting this value anymore):
27
+ - ` cluster.status.phase `
28
+ - ` machineDeployment.status.phase `
29
+ - ` machinePool.status.phase `
30
+ - ` machine.status.phase `
26
31
- Informations about the initial provisioning process are now surfacing under ` status.initialization ` for
27
32
both ` Cluster ` , ` Machine ` and ` KubeadmControlPlane ` Kinds.
28
33
- All the resources handling machine replicas have now a consistent set of replica counters based on corresponding
@@ -45,6 +50,11 @@ proposal because most of the changes described below are a consequence of the wo
45
50
- v1beta1 version of the Cluster API contract is now deprecated
46
51
- In order to ease the transition to the new v1beta2 version of the Cluster API contract, v1beta2 version
47
52
will implement temporarily compatibility with the deprecated v1beta1 version of the Cluster API contract
53
+ - Compatibility, is only intended to ease the transition for providers, and it has following limitations:
54
+ - The Machine controller won't consider the presence of ` status.failureReason ` and ` status.failureMessage ` info
55
+ as "terminal failures"
56
+ - MachineHealthCheck controller won't consider the presence of ` status.failureReason ` and ` status.failureMessage ` to
57
+ determine when a Machine needs remediation.
48
58
- Compatibility support for the v1beta1 version of the Cluster API contract will be removed tentatively in August 2026
49
59
- After compatibility support for the v1beta1 version of the Cluster API contract is removed, providers
50
60
which are implementing the v1beta1 contract will stop to work (they will work only with older versions of Cluster API).
@@ -54,8 +64,11 @@ proposal because most of the changes described below are a consequence of the wo
54
64
- The fact that Providers are not required to implement conditions remains valid
55
65
- In case a provider implements conditions, Cluster API doesn't require anymore usage of a specific condition type,
56
66
even if transition to ` metav1.Conditions ` is highly recommended.
57
- - Support for terminal errors has been dropped.
58
-
67
+ - Support for terminal errors has been dropped; as a consequence if a provider resources reports ` status.failureReason `
68
+ and ` status.failureMessage ` , those info won't have any impact on the lifecycle of the corresponding resources as before.
69
+ - ` status.failureReason ` and ` status.failureMessage ` will temporarily keep surfacing into ` status.deprecated.v1beta1 `
70
+ struct of the corresponding resources.
71
+
59
72
See [ provider contracts] ( ../contracts/overview.md ) for more details.
60
73
61
74
### Deprecation
@@ -72,11 +85,18 @@ See [provider contracts](../contracts/overview.md) for more details.
72
85
- v1beta1 conditions utils are now deprecated, and will removed as soon as v1beta1 API will be removed
73
86
- v1beta1 support in the patch helper is now deprecated, and will removed as soon as v1beta1 API will be removed
74
87
88
+ - As a consequence of dropping support for terminal errors from all Kinds, the const values for
89
+ ` Failed ` phase has been deprecated in the following enum types (controllers are not setting this value anymore):
90
+ - ` ClusterPhase ` , used in ` cluster.status.phase `
91
+ - ` MachineDeploymentPhase ` , used in ` machineDeployment.status.phase `
92
+ - ` MachinePoolPhase ` , used in ` machinePool.status.phase `
93
+ - ` MachinePhase ` , used in ` machine.status.phase `
94
+
75
95
### Removals
76
96
77
97
There are no removals in the CAPI v1.11 version.
78
98
79
- Please, also keep in mind future removals:
99
+ As documented in [ Suggested changes for providers ] ( #suggested-changes-for-providers ) , please also start planning for future removals:
80
100
81
101
- v1beta1 API version will be removed tentatively in August 2026
82
102
- Starting from the CAPI release when v1beta1 removal will happen (tentative Aug 2026), the Cluster API project
@@ -110,7 +130,11 @@ Please refer to following how to guides for additional details.
110
130
CAPI v1.11 implements the v1beta2 version of the Cluster API contract.
111
131
112
132
However, in order to ease the transition for providers, the v1beta2 version of the Cluster API contract _ temporarily_
113
- preserves compatibility with the deprecated v1beta1 contract.
133
+ preserves compatibility with the deprecated v1beta1 contract; a few limitations apply:
134
+ - The Machine controller won't consider the presence of ` status.failureReason ` and ` status.failureMessage ` info
135
+ as "terminal failures"
136
+ - MachineHealthCheck controller won't consider the presence of ` status.failureReason ` and ` status.failureMessage ` to
137
+ determine when a Machine needs remediation.
114
138
115
139
Provider's implementing the deprecated v1beta1 contract can leverage compatibility support without any change,
116
140
but it is crucial for them to start planning for the implementation of the new v1beta2 version of
0 commit comments