@@ -163,10 +163,14 @@ sequenceDiagram
163163 HubController->>HubK8s: Set phase to "Deleting"
164164
165165 Note over HubK8s, HubController: Hub Pre-Flight Cleanup Phase
166+ alt ForceClusterDrain is set
167+ HubController->>HubK8s: Set `workload-cleanup` taint on ManagedCluster
168+ end
166169 HubController->>HubK8s: Check for active, non-addon ManifestWorks
167170 alt Active ManifestWorks
168171 HubController->>HubController: Requeue with error
169172 end
173+ HubController->>HubK8s: Set `terminating` taint on ManagedCluster
170174 HubController->>HubK8s: Disable addons (except fleetconfig-controller-agent)
171175 HubController->>HubK8s: Remove HubCleanupPreflightFinalizer
172176
@@ -177,7 +181,6 @@ sequenceDiagram
177181 end
178182 SpokeController->>SpokeK8s: Remove Klusterlet and OCM namespaces (clusteradm unjoin)
179183 SpokeController->>HubK8s: Remove SpokeCleanupFinalizer
180- SpokeController->>SpokeK8s: Remove AppliedManifestWork (which removes FCC-agent)
181184
182185 Note over HubK8s, HubController: Final Hub Cleanup
183186 HubController->>HubK8s: SpokeCleanupFinalizer removed?
@@ -188,6 +191,7 @@ sequenceDiagram
188191 HubController->>HubK8s: Remove HubCleanupFinalizer
189192
190193 HubK8s->>User: Spoke resource deleted
194+ SpokeController->>SpokeK8s: Remove AppliedManifestWork (which removes FCC-agent)
191195
192196 Note over HubK8s, HubController: Special Cases
193197 Note right of HubK8s: Hub-as-spoke: Hub does both hub and spoke cleanup
0 commit comments