Skip to content

Commit 91b87fb

Browse files
authored
Merge pull request #11460 from fabriziopandini/small-improvements-to-status-proposal
📖 Small improvements to the v1beta2 status proposal
2 parents 2b6669b + e04e63e commit 91b87fb

File tree

2 files changed

+26
-19
lines changed

2 files changed

+26
-19
lines changed

docs/book/src/developer/providers/contracts/control-plane.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -578,10 +578,11 @@ Last, but not least, in order to ensure a consistent users experience, it is als
578578
ControlPlane conditions to conditions existing on other Cluster API objects.
579579

580580
For example `KubeadmControlPlane` is going to implement following conditions on top of the `Available` defined by this contract:
581-
`CertificatesAvailable`, `EtcdClusterAvailable`, `MachinesReady`, `MachinesUpToDate`, `ScalingUp`, `ScalingDown`, `Remediating`, `Deleting`, `Paused`.
581+
`CertificatesAvailable`, `EtcdClusterAvailable`, `MachinesReady`, `MachinesUpToDate`, `RollingOut`, `ScalingUp`, `ScalingDown`,
582+
`Remediating`, `Deleting`, `Paused`.
582583

583-
Most notably, the Cluster controller is going to read `ScalingUp`, `ScalingDown` conditions, if existing, and use
584-
them to compute a Cluster level `ScalingUp`, `ScalingDown` condition including all the scalable resources.
584+
Most notably, If `RollingOut`, `ScalingUp`, `ScalingDown` conditions are implemented, the Cluster controller is going to read
585+
them to compute a Cluster level `RollingOut`, `ScalingUp`, `ScalingDown` condition including all the scalable resources.
585586

586587
See [Improving status in CAPI resources] for more context.
587588

docs/proposals/20240916-improve-status-in-CAPI-resources.md

+22-16
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,7 @@ Notes:
661661
| `Available` | True if the MachineDeployment is not deleted and it has minimum availability according to parameters specified in the deployment strategy, e.g. If using RollingUpgrade strategy, availableReplicas must be greater or equal than desired replicas - MaxUnavailable replicas |
662662
| `MachinesReady` | This condition surfaces detail of issues on the controlled machines, if any |
663663
| `MachinesUpToDate` | This condition surfaces details of controlled machines not up to date, if any |
664+
| `RollingOut` | True if there is at least one machine not up to date |
664665
| `ScalingUp` | True if actual replicas < desired replicas |
665666
| `ScalingDown` | True if actual replicas > desired replicas |
666667
| `Remediating` | This condition surfaces details about ongoing remediation of the controlled machines, if any |
@@ -854,22 +855,25 @@ Notes:
854855

855856
##### Cluster (New)Conditions
856857

857-
| Condition | Note |
858-
|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
859-
| `Available` | True if Cluster is not deleted, Cluster's `RemoteConnectionProbe`, `InfrastructureReady`, `ControlPlaneAvailable`, `WorkersAvailable`, `TopologyReconciled` (if present) conditions are true. if conditions are defined in `spec.availabilityGates`, those conditions must be true as well |
860-
| `TopologyReconciled` | True if the topology controller is working properly |
861-
| `InfrastructureReady` | Mirror of Cluster's infrastructure `Ready` condition |
862-
| `ControlPlaneInitialized` | True when the Cluster's control plane is functional enough to accept requests. This information is usually used as a signal for starting all the provisioning operations that depends on a functional API server, but do not require a full HA control plane to exists |
863-
| `ControlPlaneAvailable` | Mirror of Cluster's control plane `Available` condition |
864-
| `WorkersAvailable` | Summary of MachineDeployment and MachinePool's `Available` conditions |
865-
| `MachinesReady` | This condition surfaces detail of issues on the controlled machines, if any |
866-
| `MachinesUpToDate` | This condition surfaces details of Cluster's machines not up to date, if any |
867-
| `RemoteConnectionProbe` | True when control plane can be reached; in case of connection problems, the condition turns to false only if the the cluster cannot be reached for 50s after the first connection problem is detected (or whatever period is defined in the `--remote-connection-grace-period` flag) |
868-
| `ScalingUp` | Summary of `ScalingUp` conditions from ControlPlane, MachineDeployments, MachinePools and stand-alone MachineSets |
869-
| `ScalingDown` | Summary of `ScalingDown` conditions from ControlPlane, MachineDeployments, MachinePools and stand-alone MachineSets |
870-
| `Remediating` | This condition surfaces details about ongoing remediation of the controlled machines, if any |
871-
| `Deleting` | If Cluster is deleted, this condition surfaces details about ongoing deletion of the cluster |
872-
| `Paused` | True if Cluster and all the resources being part of it are paused |
858+
| Condition | Note |
859+
|-------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
860+
| `Available` | True if Cluster is not deleted, Cluster's `RemoteConnectionProbe`, `InfrastructureReady`, `ControlPlaneAvailable`, `WorkersAvailable`, `TopologyReconciled` (if present) conditions are true. if conditions are defined in `spec.availabilityGates`, those conditions must be true as well |
861+
| `TopologyReconciled` | True if the topology controller is working properly |
862+
| `InfrastructureReady` | Mirror of Cluster's infrastructure `Ready` condition |
863+
| `ControlPlaneInitialized` | True when the Cluster's control plane is functional enough to accept requests. This information is usually used as a signal for starting all the provisioning operations that depends on a functional API server, but do not require a full HA control plane to exists |
864+
| `ControlPlaneAvailable` | Mirror of Cluster's control plane `Available` condition |
865+
| `ControlPlaneMachinesReady` | This condition surfaces detail of issues on control plane machines, if any |
866+
| `ControlPlaneMachineUpToDate` | This condition surfaces details of control plane machines not up to date, if any |
867+
| `WorkersAvailable` | Summary of MachineDeployment and MachinePool's `Available` conditions |
868+
| `WorkerMachinesReady` | This condition surfaces detail of issues on the worker machines, if any |
869+
| `WorkerMachinesUpToDate` | This condition surfaces details of worker machines not up to date, if any |
870+
| `RemoteConnectionProbe` | True when control plane can be reached; in case of connection problems, the condition turns to false only if the the cluster cannot be reached for 50s after the first connection problem is detected (or whatever period is defined in the `--remote-connection-grace-period` flag) |
871+
| `RollingOut` | Summary of `RollingOut` conditions from ControlPlane, MachineDeployments and MachinePools |
872+
| `ScalingUp` | Summary of `ScalingUp` conditions from ControlPlane, MachineDeployments, MachinePools and stand-alone MachineSets |
873+
| `ScalingDown` | Summary of `ScalingDown` conditions from ControlPlane, MachineDeployments, MachinePools and stand-alone MachineSets |
874+
| `Remediating` | This condition surfaces details about ongoing remediation of the controlled machines, if any |
875+
| `Deleting` | If Cluster is deleted, this condition surfaces details about ongoing deletion of the cluster |
876+
| `Paused` | True if Cluster and all the resources being part of it are paused |
873877

874878
> To better evaluate proposed changes, below you can find the list of current Cluster's conditions:
875879
> Ready, InfrastructureReady, ControlPlaneReady, ControlPlaneInitialized, TopologyReconciled
@@ -1034,6 +1038,7 @@ Notes:
10341038
| `ControlPlaneComponentsHealthy` | This condition surfaces issues to Kubernetes control plane components hosted on machines managed by this object. It is computed as aggregation of Machine's `APIServerPodHealthy`, `ControllerManagerPodHealthy`, `SchedulerPodHealthy`, `EtcdPodHealthy` conditions plus additional checks on control plane machines and nodes |
10351039
| `MachinesReady` | This condition surfaces detail of issues on the controlled machines, if any. Please note this will include also `APIServerPodHealthy`, `ControllerManagerPodHealthy`, `SchedulerPodHealthy`, and if not using an external etcd also `EtcdPodHealthy`, `EtcdMemberHealthy` |
10361040
| `MachinesUpToDate` | This condition surfaces details of controlled machines not up to date, if any |
1041+
| `RollingOut` | True if there is at least one machine not up to date |
10371042
| `ScalingUp` | True if actual replicas < desired replicas |
10381043
| `ScalingDown` | True if actual replicas > desired replicas |
10391044
| `Remediating` | This condition surfaces details about ongoing remediation of the controlled machines, if any |
@@ -1177,6 +1182,7 @@ Notes:
11771182
| `InfrastructureReady` | Mirrors the corresponding condition from the MachinePool's Infrastructure resource |
11781183
| `MachinesReady` | This condition surfaces detail of issues on the controlled machines, if any |
11791184
| `MachinesUpToDate` | This condition surfaces details of controlled machines not up to date, if any |
1185+
| `RollingOut` | True if there is at least one machine not up to date |
11801186
| `ScalingUp` | True if actual replicas < desired replicas |
11811187
| `ScalingDown` | True if actual replicas > desired replicas |
11821188
| `Remediating` | This condition surfaces details about ongoing remediation of the controlled machines, if any |

0 commit comments

Comments
 (0)