Skip to content

Commit dc703a4

Browse files
committed
fixes
Signed-off-by: Attila Mészáros <[email protected]>
1 parent 89cc67c commit dc703a4

File tree

6 files changed

+37
-18
lines changed

6 files changed

+37
-18
lines changed

src/main/java/io/javaoperatorsdk/operator/glue/dependent/GCGenericDependentResource.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,16 @@ public class GCGenericDependentResource extends GenericDependentResource
1010
implements GarbageCollected<Glue> {
1111

1212
public GCGenericDependentResource(GenericTemplateHandler genericTemplateHandler,
13-
GenericKubernetesResource desired, String name, String namespace,
13+
GenericKubernetesResource desired, String name, String resourceName, String namespace,
1414
boolean clusterScoped, Matcher matcher) {
15-
super(genericTemplateHandler, desired, name, namespace, clusterScoped, matcher);
15+
super(genericTemplateHandler, desired, name, resourceName, namespace, clusterScoped, matcher);
1616
}
1717

1818
public GCGenericDependentResource(GenericTemplateHandler genericTemplateHandler,
19-
String desiredTemplate, String name, String namespace, boolean clusterScoped,
19+
String desiredTemplate, String name, String resourceName, String namespace,
20+
boolean clusterScoped,
2021
Matcher matcher) {
21-
super(genericTemplateHandler, desiredTemplate, name, namespace, clusterScoped, matcher);
22+
super(genericTemplateHandler, desiredTemplate, name, resourceName, namespace, clusterScoped,
23+
matcher);
2224
}
2325
}

src/main/java/io/javaoperatorsdk/operator/glue/dependent/GenericBulkDependentResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public GenericBulkDependentResource(GenericTemplateHandler genericTemplateHandle
2222
String desiredTemplate, String name,
2323
boolean clusterScoped,
2424
Matcher matcher) {
25-
super(genericTemplateHandler, desiredTemplate, name, null, clusterScoped, matcher);
25+
super(genericTemplateHandler, desiredTemplate, name, null, null, clusterScoped, matcher);
2626
}
2727

2828
@Override

src/main/java/io/javaoperatorsdk/operator/glue/dependent/GenericDependentResource.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,32 +27,37 @@ public class GenericDependentResource
2727
protected final GenericKubernetesResource desired;
2828
protected final String desiredTemplate;
2929
protected final String name;
30+
// resource name might be templated
31+
protected final String resourceName;
3032
protected final String namespace;
3133
protected final boolean clusterScoped;
3234
protected final Matcher matcher;
3335

3436
protected final GenericTemplateHandler genericTemplateHandler;
3537

3638
public GenericDependentResource(GenericTemplateHandler genericTemplateHandler,
37-
GenericKubernetesResource desired, String name, String namespace,
39+
GenericKubernetesResource desired, String name, String resourceName, String namespace,
3840
boolean clusterScoped, Matcher matcher) {
3941
super(new GroupVersionKind(desired.getApiVersion(), desired.getKind()));
4042
this.desired = desired;
4143
this.namespace = namespace;
4244
this.matcher = matcher;
4345
this.desiredTemplate = null;
4446
this.name = name;
47+
this.resourceName = resourceName;
4548
this.clusterScoped = clusterScoped;
4649
this.genericTemplateHandler = genericTemplateHandler;
4750
}
4851

4952
public GenericDependentResource(GenericTemplateHandler genericTemplateHandler,
50-
String desiredTemplate, String name, String namespace, boolean clusterScoped,
53+
String desiredTemplate, String name, String resourceName, String namespace,
54+
boolean clusterScoped,
5155
Matcher matcher) {
5256
super(new GroupVersionKind(Utils.getApiVersionFromTemplate(desiredTemplate),
5357
Utils.getKindFromTemplate(desiredTemplate)));
5458
this.genericTemplateHandler = genericTemplateHandler;
5559
this.name = name;
60+
this.resourceName = resourceName;
5661
this.desiredTemplate = desiredTemplate;
5762
this.namespace = namespace;
5863
this.matcher = matcher;
@@ -103,7 +108,7 @@ protected Optional<GenericKubernetesResource> selectTargetSecondaryResource(
103108
.stream()
104109
.filter(r -> r.getKind().equals(getGroupVersionKind().getKind()) &&
105110
r.getApiVersion().equals(getGroupVersionKind().apiVersion()) &&
106-
r.getMetadata().getName().equals(name) &&
111+
r.getMetadata().getName().equals(resourceName) &&
107112
(namespace == null || Objects.equals(namespace, r.getMetadata().getNamespace())))
108113
.toList();
109114

src/main/java/io/javaoperatorsdk/operator/glue/reconciler/glue/GlueReconciler.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -221,29 +221,32 @@ private void createAndAddDependentToWorkflow(Glue primary, Context<Glue> context
221221
.ifPresent(c -> nodeBuilder.withReconcilePrecondition(toCondition(c)));
222222
}
223223

224-
private GenericDependentResource createDependentResource(String name, DependentResourceSpec spec,
224+
private GenericDependentResource createDependentResource(String resourceName,
225+
DependentResourceSpec spec,
225226
boolean leafDependent, Boolean resourceInSameNamespaceAsPrimary, String namespace) {
226227

227228
if (leafDependent && resourceInSameNamespaceAsPrimary && !spec.isClusterScoped()) {
228229
return spec.getResourceTemplate() != null
229230
? spec.getBulk()
230231
? new GCGenericBulkDependentResource(genericTemplateHandler,
231232
spec.getResourceTemplate(),
232-
name,
233+
spec.getName(),
233234
spec.isClusterScoped(), spec.getMatcher())
234235
: new GCGenericDependentResource(genericTemplateHandler, spec.getResourceTemplate(),
235-
name, namespace,
236+
spec.getName(), resourceName, namespace,
236237
spec.isClusterScoped(), spec.getMatcher())
237238
: new GCGenericDependentResource(genericTemplateHandler, spec.getResource(),
238-
name, namespace,
239+
spec.getName(), resourceName, namespace,
239240
spec.isClusterScoped(), spec.getMatcher());
240241
} else {
241242
return spec.getResourceTemplate() != null
242243
? new GenericDependentResource(genericTemplateHandler,
243-
spec.getResourceTemplate(), name, namespace, spec.isClusterScoped(),
244+
spec.getResourceTemplate(), spec.getName(), resourceName, namespace,
245+
spec.isClusterScoped(),
244246
spec.getMatcher())
245247
: new GenericDependentResource(genericTemplateHandler,
246-
spec.getResource(), name, namespace, spec.isClusterScoped(), spec.getMatcher());
248+
spec.getResource(), spec.getName(), resourceName, namespace, spec.isClusterScoped(),
249+
spec.getMatcher());
247250
}
248251
}
249252

src/main/java/io/javaoperatorsdk/operator/glue/reconciler/glue/RelatedAndOwnedResourceSecondaryToPrimaryMapper.java

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,38 @@
66
import java.util.Set;
77
import java.util.concurrent.ConcurrentHashMap;
88

9+
import org.slf4j.Logger;
10+
import org.slf4j.LoggerFactory;
11+
912
import io.fabric8.kubernetes.api.model.GenericKubernetesResource;
10-
import io.javaoperatorsdk.operator.glue.customresource.operator.GlueOperator;
13+
import io.javaoperatorsdk.operator.glue.customresource.glue.Glue;
1114
import io.javaoperatorsdk.operator.processing.event.ResourceID;
1215
import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper;
1316
import io.javaoperatorsdk.operator.processing.event.source.informer.Mappers;
1417

1518
public class RelatedAndOwnedResourceSecondaryToPrimaryMapper
1619
implements SecondaryToPrimaryMapper<GenericKubernetesResource> {
1720

21+
private static final Logger log =
22+
LoggerFactory.getLogger(RelatedAndOwnedResourceSecondaryToPrimaryMapper.class);
23+
1824
private final Map<ResourceID, Set<ResourceID>> secondaryToPrimaryMap = new ConcurrentHashMap<>();
1925

2026
@Override
2127
public Set<ResourceID> toPrimaryResourceIDs(GenericKubernetesResource resource) {
2228
// based on if GC or non GC dependent it can have different mapping
23-
var res = Mappers.fromOwnerReferences(GlueOperator.class, false).toPrimaryResourceIDs(resource);
24-
res.addAll(Mappers.fromDefaultAnnotations(GlueOperator.class).toPrimaryResourceIDs(resource));
29+
var res = Mappers.fromOwnerReferences(Glue.class, false).toPrimaryResourceIDs(resource);
30+
res.addAll(Mappers.fromDefaultAnnotations(Glue.class).toPrimaryResourceIDs(resource));
2531

2632
// related resource mapping
2733
var idMapped = secondaryToPrimaryMap.get(
2834
new ResourceID(resource.getMetadata().getName(), resource.getMetadata().getNamespace()));
2935
if (idMapped != null) {
3036
res.addAll(idMapped);
3137
}
38+
log.debug("Resource name: {}, namespace: {}, kind: {}, resourceIds: {}",
39+
resource.getMetadata().getName(),
40+
resource.getMetadata().getNamespace(), resource.getKind(), res);
3241
return res;
3342
}
3443

src/test/java/io/javaoperatorsdk/operator/glue/GlueTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ void simpleTemplating() {
3838
TestUtils.loadGlue("/glue/Templating.yaml");
3939
glue = create(glue);
4040

41-
await().untilAsserted(() -> {
41+
await().timeout(Duration.ofHours(1)).untilAsserted(() -> {
4242
var cm1 = get(ConfigMap.class, "templconfigmap1");
4343
var cm2 = get(ConfigMap.class, "templconfigmap2");
4444
assertThat(cm1).isNotNull();

0 commit comments

Comments
 (0)