Closed
Description
This is an umbrella issue for the implementation of the In place propagation of changes affecting Kubernetes objects only proposal. As the proposal is merged the implementation can now be done.
The work is broken down into:
-
Propagate labels from Managed Clusters and ClusterClass to the underlying KCP and MachineDeployment objects.
- PR: ✨ Managed Cluster should set labels and annotations on ControlPlane and MDs #7917
- Other Issues/PRs that depend/affect this work:
-
Labels and Annotations should be always synced. Not only at create.
- Cluster/ClusterClass to KCP
- Cluster/ClusterClass to MachineDeployments
- KCP to Machines, InfraMachines and KubeadmConfigs ⚠️ in-place propagation support for KCP #8057
- MachineDeployments to MachineSets ⚠️ in-place propagation from MD to MS #8110
- MachineSets to Machines ⚠️ in-place propagation from MS to Machines #8111
- MachineSets to InfraMachines and BootstrapConfigs ⚠️ in-place propagation from MS to InfraMachine and BootstrapConfig #8060
-
In-place propagation
Fields like labels, annotations,
MinReadySeconds
,NodeDrainTimeout
,NodeVolumeDetachTimeout
,NodeDeletionTimeout
, things that only affect the Kubernetes objects and not the underlying node should not trigger a rollout and be propagated in-place.- MachineDeployment to MachineSet
- MachineSets to Machines
- KCP to Machines
Follow-up:
- End-to-end testing 🌱 test/e2e: Add ClusterClass rollout test, extend MD rollout test #8171
- Add support for
rolloutAfter
in MachineDeployments. ✨ MachineDeployment rolloutAfter support #8216clusterctl alpha rollout restart md/md-0
should switch to usingrolloutAfter
- Documentation Updates
Follow-up (can do after v1.4):
- Revision history support for in-place mutating changes in MDs.
- Drop
disableInPlacePropagation
from KCP reconciler and migrate the affected tests to envtest. - Clean up
FindOldMachineSets
to drop the first return parameter. It is never used. - Replace all occurrences of
helperOptions
withssa.FilterObjectInput
.- Issue: Replace
HelperOptions
withssa.FilterObjectInput
#8395 ssa.FilterObjectInput
is introduced in ⚠️ in-place propagation from MS to InfraMachine and BootstrapConfig #8060 and can replacehelperOptions
.- Ref: ⚠️ in-place propagation from MS to InfraMachine and BootstrapConfig #8060 (comment)
- Issue: Replace
- Rename ssa util functions:
- Issue: Rename
internal/util/ssa
util functions for better naming consistency #8396 IsAllowedPath
->IsPathAllowed
(Ref)IsIgnorePath
->IsPathIgnored
(Ref)- Evaluate semantics of
IsNotAllowed
(Ref)
- Issue: Rename