Skip to content

Commit cd1434d

Browse files
committed
feat: showcase initilized list cleanup when adding finalizer with SSA
Signed-off-by: Attila Mészáros <[email protected]>
1 parent f35f1cc commit cd1434d

File tree

5 files changed

+14
-6
lines changed

5 files changed

+14
-6
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.javaoperatorsdk.operator.baseapi.ssaissue;
1+
package io.javaoperatorsdk.operator.baseapi.ssaissue.finalizer;
22

33
import io.fabric8.kubernetes.api.model.Namespaced;
44
import io.fabric8.kubernetes.client.CustomResource;

operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/ssaissue/SSAFinalizerIssueIT.java renamed to operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/ssaissue/finalizer/SSAFinalizerIssueIT.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.javaoperatorsdk.operator.baseapi.ssaissue;
1+
package io.javaoperatorsdk.operator.baseapi.ssaissue.finalizer;
22

33
import java.util.List;
44

@@ -21,6 +21,11 @@ class SSAFinalizerIssueIT {
2121
.withReconciler(new SSAFinalizerIssueReconciler())
2222
.build();
2323

24+
/**
25+
* Showcases the problem when we add a finalizer and in the spec a list is initialized with an
26+
* empty list by default. This at the end results in a change that when adding the finalizer the
27+
* SSA patch deletes the initial values in the spec.
28+
*/
2429
@Test
2530
void addingFinalizerRemoveListValues() {
2631
operator.create(testResource());
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.javaoperatorsdk.operator.baseapi.ssaissue;
1+
package io.javaoperatorsdk.operator.baseapi.ssaissue.finalizer;
22

33
import io.javaoperatorsdk.operator.api.reconciler.Cleaner;
44
import io.javaoperatorsdk.operator.api.reconciler.Context;

operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/ssaissue/SSAFinalizerIssueSpec.java renamed to operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/ssaissue/finalizer/SSAFinalizerIssueSpec.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
1-
package io.javaoperatorsdk.operator.baseapi.ssaissue;
1+
package io.javaoperatorsdk.operator.baseapi.ssaissue.finalizer;
22

3+
import java.util.ArrayList;
34
import java.util.List;
45

56
public class SSAFinalizerIssueSpec {
67

78
private String value;
89

9-
private List<String> list;
10+
// List is initialized, that at the end becomes problematic when adding the finalizer
11+
// If the list is not initialized like this (this its null) it works fine
12+
private List<String> list = new ArrayList<>();
1013

1114
public String getValue() {
1215
return value;

operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/ssaissue/SSAFinalizerIssueStatus.java renamed to operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/ssaissue/finalizer/SSAFinalizerIssueStatus.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.javaoperatorsdk.operator.baseapi.ssaissue;
1+
package io.javaoperatorsdk.operator.baseapi.ssaissue.finalizer;
22

33
public class SSAFinalizerIssueStatus {
44

0 commit comments

Comments
 (0)