23
23
import io .fabric8 .kubernetes .client .dsl .base .PatchContext ;
24
24
import io .fabric8 .kubernetes .client .dsl .base .PatchType ;
25
25
import io .javaoperatorsdk .operator .api .reconciler .*;
26
- import io .javaoperatorsdk .operator .processing .GroupVersionKind ;
27
26
import io .javaoperatorsdk .operator .processing .dependent .workflow .Condition ;
28
27
import io .javaoperatorsdk .operator .processing .dependent .workflow .KubernetesResourceDeletedCondition ;
29
28
import io .javaoperatorsdk .operator .processing .dependent .workflow .WorkflowBuilder ;
30
- import io .javaoperatorsdk .operator .processing .event .ResourceID ;
31
- import io .javaoperatorsdk .operator .processing .event .source .informer .InformerEventSource ;
32
29
33
30
import static io .csviri .operator .resourceglue .Utils .getResourceForSSAFrom ;
34
31
import static io .csviri .operator .resourceglue .reconciler .operator .GlueOperatorReconciler .PARENT_RELATED_RESOURCE_NAME ;
@@ -65,9 +62,6 @@ public UpdateControl<Glue> reconcile(Glue primary,
65
62
return UpdateControl .noUpdate ();
66
63
}
67
64
addFinalizersToParentResource (primary , context );
68
- if (ownersBeingDeleted (primary , context )) {
69
- return UpdateControl .noUpdate ();
70
- }
71
65
var actualWorkflow = buildWorkflowAndRegisterInformers (primary , context );
72
66
var result = actualWorkflow .reconcile (primary , context );
73
67
cleanupRemovedResourcesFromWorkflow (context , primary );
@@ -86,33 +80,6 @@ private boolean deletedGlueIfParentMarkedForDeletion(Context<Glue> context, Glue
86
80
}
87
81
}
88
82
89
-
90
- /**
91
- * If a parent gets deleted, the glue is reconciled still, but we don't want that in that case.
92
- * Glue us deleted / marked for deleted eventually by the garbage collector but want to make the
93
- * best effort to prevent that.
94
- */
95
- private boolean ownersBeingDeleted (Glue primary , Context <Glue > context ) {
96
- if (primary .getMetadata ().getOwnerReferences ().isEmpty ()) {
97
- return false ;
98
- }
99
-
100
- var res = !primary .getMetadata ().getOwnerReferences ().stream ().anyMatch (or -> {
101
- var gvk = new GroupVersionKind (or .getApiVersion (), or .getKind ());
102
- var es = (InformerEventSource <GenericKubernetesResource , Glue >) context .eventSourceRetriever ()
103
- .getResourceEventSourceFor (GenericKubernetesResource .class , gvk .toString ());
104
- var resource = es .get (new ResourceID (or .getName (), primary .getMetadata ().getNamespace ()));
105
- return resource .map (r -> r .getMetadata ().getDeletionTimestamp () == null ).orElse (false );
106
-
107
- });
108
- if (res ) {
109
- log .debug ("Skipping reconciliation since glue owners being deleted, name: {} namespace: {}" ,
110
- primary .getMetadata ().getName (),
111
- primary .getMetadata ().getNamespace ());
112
- }
113
- return res ;
114
- }
115
-
116
83
@ Override
117
84
public DeleteControl cleanup (Glue primary , Context <Glue > context ) {
118
85
0 commit comments