Open
Description
Introduce the new API type
- v1beta2 API (not strictly related to this issue)
- Prepare main branch
- Create v1beta2 types, make controllers/webhooks to use it
- Update example templates
- Change clusterctl & E2E tests & test extensions to use v1beta2
- Consider if to step up test coverage where API version is relevant (e.g. CC, topology controller, Runtime Extension)
- Update doc about current version
Improving status Implementation Phase2 (1.11)
Initial notes for phase 2 of the implementation, where new field are promoted top level in status and used by controllers
- API changes for status
- Introduce deprecated struct, move v1beta2 top level
- Rename condition interfaces and method implementations (current--> deprecated, v1beta2--> current)
- Rename condition consts (current--> deprecated, v1beta2--> current)
- Move conditions fields as the first field in the struct
- Add minReadySeconds to machine, remove it from KCP. MD
- Fine tuning of print columns
- Change contracts
- When reading from external objects, read new fields, fallback to old ones
- Update contract docs
- Use new fields
- (every controller that use conditions or counters)
- MachineHealthCheck controller
- Change test for ControlPlaneInitializedCondition in reconcile
- Get MachineHealthCheckSucceededCondition in patchUnhealthyTargets
- Drop failureReson/failureMessage test from needsRemediation
- Change test for ControlPlaneInitializedCondition, InfrastructureReadyCondition in needsRemediation (few places)
- KCP controller
- Change test for MachineEtcdMemberHealthyCondition in canSafelyRemoveEtcdMember + add a test for ClusterHealthy if not already there
- We should use the
Initialized
condition instead of theAvailable
condition to calculate remoteConditionsGracePeriod
- Condition utils
- Rename packages for condition utils (conditions-->deprecated conditions, v1beta2conditions --> conditions)
- Clusterctl
- clusterctl describe (drop v1beta2 flag, introduce deprecated flag, switch default behaviour in the implementation)
- Change metrics & dashboards to use conditions
Others
- Think about version of the Cluster object embedded in lifecycle hooks
improving status Implementation Phase3
TBD
Backlog for improving status
Looking for volunteers (like everything else MachinePools)
- MachinePool conditions
- Implement conditions on MachinePools and MachinePool Machines (UpToDate)
- Revert 🐛 Disable aggregation of not reported MachinePool conditions for Cluster #11416
- DockerMachinePool
- Add v1beta2 struct
- Paused
If and when we have bandwidth
- Drop fake objects from controller tests and use the test/util/builders package