Skip to content

Commit 8819654

Browse files
committed
fix: ignore server managed fields for SSA matching
closes: operator-framework#2290 Signed-off-by: Steven Hawkins <[email protected]>
1 parent 0b17878 commit 8819654

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/kubernetes/SSABasedGenericKubernetesResourceMatcher.java

+4
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ public class SSABasedGenericKubernetesResourceMatcher<R extends HasMetadata> {
4141
public static final String APPLY_OPERATION = "Apply";
4242
public static final String DOT_KEY = ".";
4343

44+
private static final List<String> IGNORED_METADATA = Arrays.asList("creationTimestamp", "deletionTimestamp", "generation",
45+
"selfLink", "uid");
46+
4447
@SuppressWarnings("unchecked")
4548
public static <L extends HasMetadata> SSABasedGenericKubernetesResourceMatcher<L> getInstance() {
4649
return INSTANCE;
@@ -131,6 +134,7 @@ private static void removeIrrelevantValues(Map<String, Object> desiredMap) {
131134
var metadata = (Map<String, Object>) desiredMap.get(METADATA_KEY);
132135
metadata.remove(NAME_KEY);
133136
metadata.remove(NAMESPACE_KEY);
137+
IGNORED_METADATA.forEach(metadata::remove);
134138
if (metadata.isEmpty()) {
135139
desiredMap.remove(METADATA_KEY);
136140
}

operator-framework-core/src/test/resources/io/javaoperatorsdk/operator/processing/dependent/kubernetes/deployment-with-managed-fields-additional-controller.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metadata:
44
annotations:
55
deployment.kubernetes.io/revision: "1"
66
creationTimestamp: "2023-06-01T08:43:47Z"
7-
generation: 1
7+
generation: 2
88
managedFields:
99
- apiVersion: apps/v1
1010
fieldsType: FieldsV1

operator-framework-core/src/test/resources/io/javaoperatorsdk/operator/processing/dependent/kubernetes/nginx-deployment.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
22
kind: Deployment
33
metadata:
44
name: "test"
5+
generation: 1
56
spec:
67
progressDeadlineSeconds: 600
78
revisionHistoryLimit: 10

0 commit comments

Comments
 (0)