Skip to content

Commit 86c944b

Browse files
committed
fix: impl, test
1 parent 10dc337 commit 86c944b

File tree

6 files changed

+17
-20
lines changed

6 files changed

+17
-20
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
package io.javaoperatorsdk.operator.api.reconciler.dependent;
22

3+
import io.fabric8.kubernetes.api.model.HasMetadata;
4+
35
/**
4-
* Marker interface, that can be added in additionally to a {@link Deleter} Dependent Resource. It
5-
* is used to model a situation when a resource is makes sure to delete during reconciliation, but
6+
* Used to describe the situation when a resource is makes sure to delete during reconciliation, but
67
* not during cleanup, since that is handled by the Kubernetes garbage collector. See also:
78
* https://github.com/java-operator-sdk/java-operator-sdk/issues/1127
89
*/
9-
public interface GarbageCollected {
10+
public interface GarbageCollected<P extends HasMetadata> extends Deleter<P> {
1011
}

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.javaoperatorsdk.operator.processing.dependent.kubernetes;
22

33
import io.fabric8.kubernetes.api.model.HasMetadata;
4-
import io.javaoperatorsdk.operator.api.reconciler.dependent.Deleter;
54
import io.javaoperatorsdk.operator.api.reconciler.dependent.GarbageCollected;
65
import io.javaoperatorsdk.operator.processing.dependent.Creator;
76
import io.javaoperatorsdk.operator.processing.dependent.Updater;
@@ -15,7 +14,7 @@
1514
public abstract class CRUDKubernetesDependentResource<R extends HasMetadata, P extends HasMetadata>
1615
extends
1716
KubernetesDependentResource<R, P>
18-
implements Creator<R, P>, Updater<R, P>, Deleter<P>, GarbageCollected {
17+
implements Creator<R, P>, Updater<R, P>, GarbageCollected<P> {
1918

2019
public CRUDKubernetesDependentResource(Class<R> resourceType) {
2120
super(resourceType);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ protected InformerEventSource<R, P> createEventSource(EventSourceContext<P> cont
152152
}
153153

154154
protected boolean addOwnerReference() {
155-
return creatable && deletable && garbageCollected;
155+
return garbageCollected;
156156
}
157157

158158
@Override

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/orderedmanageddependent/ConfigMapDependentResource2.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@
77
import io.fabric8.kubernetes.api.model.ObjectMeta;
88
import io.javaoperatorsdk.operator.api.reconciler.Context;
99
import io.javaoperatorsdk.operator.api.reconciler.dependent.ReconcileResult;
10+
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
1011
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent;
1112
import io.javaoperatorsdk.operator.processing.event.ResourceID;
1213
import io.javaoperatorsdk.operator.processing.event.source.PrimaryToSecondaryMapper;
1314

1415
@KubernetesDependent(labelSelector = "dependent = cm2")
1516
public class ConfigMapDependentResource2 extends
16-
io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource<ConfigMap, OrderedManagedDependentCustomResource>
17-
implements PrimaryToSecondaryMapper<OrderedManagedDependentCustomResource>,
18-
io.javaoperatorsdk.operator.processing.dependent.Creator<ConfigMap, OrderedManagedDependentCustomResource>,
19-
io.javaoperatorsdk.operator.processing.dependent.Updater<ConfigMap, OrderedManagedDependentCustomResource> {
17+
CRUDKubernetesDependentResource<ConfigMap, OrderedManagedDependentCustomResource>
18+
implements PrimaryToSecondaryMapper<OrderedManagedDependentCustomResource> {
2019

2120
public ConfigMapDependentResource2() {
2221
super(ConfigMap.class);

sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/DeploymentDependentResource.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,12 @@
55
import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder;
66
import io.javaoperatorsdk.operator.ReconcilerUtils;
77
import io.javaoperatorsdk.operator.api.reconciler.Context;
8-
import io.javaoperatorsdk.operator.processing.dependent.Creator;
9-
import io.javaoperatorsdk.operator.processing.dependent.Updater;
8+
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
109
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent;
11-
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource;
1210

1311
@KubernetesDependent(labelSelector = "app.kubernetes.io/managed-by=tomcat-operator")
14-
public class DeploymentDependentResource extends KubernetesDependentResource<Deployment, Tomcat>
15-
implements Creator<Deployment, Tomcat>, Updater<Deployment, Tomcat> {
12+
public class DeploymentDependentResource
13+
extends CRUDKubernetesDependentResource<Deployment, Tomcat> {
1614

1715
public DeploymentDependentResource() {
1816
super(Deployment.class);

sample-operators/tomcat-operator/src/main/java/io/javaoperatorsdk/operator/sample/ServiceDependentResource.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
import io.fabric8.kubernetes.api.model.ServiceBuilder;
66
import io.javaoperatorsdk.operator.ReconcilerUtils;
77
import io.javaoperatorsdk.operator.api.reconciler.Context;
8-
import io.javaoperatorsdk.operator.processing.dependent.Creator;
9-
import io.javaoperatorsdk.operator.processing.dependent.Updater;
10-
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource;
8+
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
9+
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent;
1110

12-
public class ServiceDependentResource extends KubernetesDependentResource<Service, Tomcat>
13-
implements Creator<Service, Tomcat>, Updater<Service, Tomcat> {
11+
@KubernetesDependent(labelSelector = "app.kubernetes.io/managed-by=tomcat-operator")
12+
public class ServiceDependentResource extends CRUDKubernetesDependentResource<Service, Tomcat> {
1413

1514
public ServiceDependentResource() {
1615
super(Service.class);
@@ -23,6 +22,7 @@ protected Service desired(Tomcat tomcat, Context<Tomcat> context) {
2322
.editMetadata()
2423
.withName(tomcatMetadata.getName())
2524
.withNamespace(tomcatMetadata.getNamespace())
25+
.addToLabels("app.kubernetes.io/managed-by", "tomcat-operator")
2626
.endMetadata()
2727
.editSpec()
2828
.addToSelector("app", tomcatMetadata.getName())

0 commit comments

Comments
 (0)