File tree Expand file tree Collapse file tree 2 files changed +51
-4
lines changed
operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler
operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/alleventmode/onlyreconcile Expand file tree Collapse file tree 2 files changed +51
-4
lines changed Original file line number Diff line number Diff line change
1
+ package io .javaoperatorsdk .operator .api .reconciler ;
2
+
3
+ import org .slf4j .Logger ;
4
+ import org .slf4j .LoggerFactory ;
5
+
6
+ import io .fabric8 .kubernetes .api .model .HasMetadata ;
7
+
8
+ public class FinalizerUtils {
9
+
10
+ private static final Logger log = LoggerFactory .getLogger (FinalizerUtils .class );
11
+
12
+ // todo SSA
13
+
14
+ public static <P extends HasMetadata > P patchFinalizer (
15
+ P resource , String finalizer , Context <P > context ) {
16
+ return PrimaryUpdateAndCacheUtils .updateAndCacheResource (
17
+ resource ,
18
+ context ,
19
+ r -> r ,
20
+ r ->
21
+ context
22
+ .getClient ()
23
+ .resource (r )
24
+ .edit (
25
+ res -> {
26
+ res .addFinalizer (finalizer );
27
+ return res ;
28
+ }));
29
+ }
30
+
31
+ public static <P extends HasMetadata > P removeFinalizer (
32
+ P resource , String finalizer , Context <P > context ) {
33
+
34
+ return PrimaryUpdateAndCacheUtils .updateAndCacheResource (
35
+ resource ,
36
+ context ,
37
+ r -> r ,
38
+ r ->
39
+ context
40
+ .getClient ()
41
+ .resource (r )
42
+ .edit (
43
+ res -> {
44
+ res .removeFinalizer (finalizer );
45
+ return res ;
46
+ }));
47
+ }
48
+ }
Original file line number Diff line number Diff line change 3
3
import io .javaoperatorsdk .operator .api .config .ControllerMode ;
4
4
import io .javaoperatorsdk .operator .api .reconciler .Context ;
5
5
import io .javaoperatorsdk .operator .api .reconciler .ControllerConfiguration ;
6
+ import io .javaoperatorsdk .operator .api .reconciler .FinalizerUtils ;
6
7
import io .javaoperatorsdk .operator .api .reconciler .Reconciler ;
7
8
import io .javaoperatorsdk .operator .api .reconciler .UpdateControl ;
8
9
import io .javaoperatorsdk .operator .baseapi .alleventmode .AbstractAllEventReconciler ;
@@ -22,16 +23,14 @@ public UpdateControl<AllEventCustomResource> reconcile(
22
23
}
23
24
24
25
if (getUseFinalizer () && !resource .hasFinalizer (FINALIZER )) {
25
- resource .addFinalizer (FINALIZER );
26
- context .getClient ().resource (resource ).update ();
26
+ FinalizerUtils .patchFinalizer (resource , FINALIZER , context );
27
27
return UpdateControl .noUpdate ();
28
28
}
29
29
30
30
if (resource .isMarkedForDeletion () && !context .isDeleteEventPresent ()) {
31
31
setEventOnMarkedForDeletion (true );
32
32
if (getUseFinalizer () && resource .hasFinalizer (FINALIZER )) {
33
- resource .removeFinalizer (FINALIZER );
34
- context .getClient ().resource (resource ).update ();
33
+ FinalizerUtils .removeFinalizer (resource , FINALIZER , context );
35
34
}
36
35
}
37
36
You can’t perform that action at this time.
0 commit comments