Skip to content

Commit 125fb4a

Browse files
committed
refactor: remove now unneeded KubernetesClientAware
Signed-off-by: Chris Laprun <claprun@redhat.com>
1 parent 9c9c5f9 commit 125fb4a

File tree

19 files changed

+30
-192
lines changed

19 files changed

+30
-192
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/dependent/managed/KubernetesClientAware.java

Lines changed: 0 additions & 9 deletions
This file was deleted.

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,14 +65,13 @@ public void delete(P primary, Context<P> context) {
6565
@SuppressWarnings({"unchecked", "unused"})
6666
private void handleExplicitStateDelete(P primary, R secondary, Context<P> context) {
6767
var res = dependentResourceWithExplicitState.stateResource(primary, secondary);
68-
dependentResourceWithExplicitState.getKubernetesClient().resource(res).delete();
68+
context.getClient().resource(res).delete();
6969
}
7070

7171
@SuppressWarnings({"rawtypes", "unchecked", "unused"})
7272
protected void handleExplicitStateCreation(P primary, R created, Context<P> context) {
7373
var resource = dependentResourceWithExplicitState.stateResource(primary, created);
74-
var stateResource =
75-
dependentResourceWithExplicitState.getKubernetesClient().resource(resource).create();
74+
var stateResource = context.getClient().resource(resource).create();
7675
if (externalStateEventSource != null) {
7776
((RecentOperationCacheFiller) externalStateEventSource)
7877
.handleRecentResourceCreate(ResourceID.fromResource(primary), stateResource);

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44

55
import io.fabric8.kubernetes.api.model.HasMetadata;
66
import io.javaoperatorsdk.operator.api.reconciler.dependent.Deleter;
7-
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.KubernetesClientAware;
87

98
/**
109
* Handles external resources where in order to address the resource additional information or
@@ -14,7 +13,7 @@
1413
* for a resource that extends {@link AbstractExternalDependentResource}.
1514
*/
1615
public interface DependentResourceWithExplicitState<R, P extends HasMetadata, S extends HasMetadata>
17-
extends Creator<R, P>, Deleter<P>, KubernetesClientAware {
16+
extends Creator<R, P>, Deleter<P> {
1817

1918
/**
2019
* Only needs to be implemented if multiple event sources are present for the target resource

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

Lines changed: 10 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.slf4j.LoggerFactory;
99

1010
import io.fabric8.kubernetes.api.model.HasMetadata;
11-
import io.fabric8.kubernetes.client.KubernetesClient;
1211
import io.fabric8.kubernetes.client.dsl.Resource;
1312
import io.javaoperatorsdk.operator.OperatorException;
1413
import io.javaoperatorsdk.operator.api.config.dependent.Configured;
@@ -19,7 +18,6 @@
1918
import io.javaoperatorsdk.operator.api.reconciler.Ignore;
2019
import io.javaoperatorsdk.operator.api.reconciler.dependent.GarbageCollected;
2120
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.DependentResourceConfigurator;
22-
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.KubernetesClientAware;
2321
import io.javaoperatorsdk.operator.processing.dependent.AbstractEventSourceHolderDependentResource;
2422
import io.javaoperatorsdk.operator.processing.dependent.Matcher.Result;
2523
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.updatermatcher.GenericResourceUpdaterMatcher;
@@ -33,17 +31,16 @@
3331
converter = KubernetesDependentConverter.class)
3432
public abstract class KubernetesDependentResource<R extends HasMetadata, P extends HasMetadata>
3533
extends AbstractEventSourceHolderDependentResource<R, P, InformerEventSource<R, P>>
36-
implements KubernetesClientAware,
37-
DependentResourceConfigurator<KubernetesDependentResourceConfig<R>> {
34+
implements DependentResourceConfigurator<KubernetesDependentResourceConfig<R>> {
3835

3936
private static final Logger log = LoggerFactory.getLogger(KubernetesDependentResource.class);
4037

41-
protected KubernetesClient client;
38+
// protected KubernetesClient client;
4239
private final ResourceUpdaterMatcher<R> updaterMatcher;
4340
private final boolean garbageCollected = this instanceof GarbageCollected;
4441
private KubernetesDependentResourceConfig<R> kubernetesDependentResourceConfig;
4542

46-
private boolean usingCustomResourceUpdateMatcher;
43+
private final boolean usingCustomResourceUpdateMatcher;
4744

4845
@SuppressWarnings("unchecked")
4946
public KubernetesDependentResource(Class<R> resourceType) {
@@ -117,7 +114,7 @@ public R create(R desired, P primary, Context<P> context) {
117114
}
118115
}
119116
addMetadata(false, null, desired, primary, context);
120-
final var resource = prepare(desired, primary, "Creating");
117+
final var resource = prepare(context, desired, primary, "Creating");
121118
return useSSA(context)
122119
? resource
123120
.fieldManager(context.getControllerConfiguration().fieldManager())
@@ -134,12 +131,12 @@ public R update(R actual, R desired, P primary, Context<P> context) {
134131
R updatedResource;
135132
addMetadata(false, actual, desired, primary, context);
136133
if (useSSA(context)) {
137-
updatedResource = prepare(desired, primary, "Updating")
134+
updatedResource = prepare(context, desired, primary, "Updating")
138135
.fieldManager(context.getControllerConfiguration().fieldManager())
139136
.forceConflicts().serverSideApply();
140137
} else {
141138
var updatedActual = updaterMatcher.updateResource(actual, desired, context);
142-
updatedResource = prepare(updatedActual, primary, "Updating").update();
139+
updatedResource = prepare(context, updatedActual, primary, "Updating").update();
143140
}
144141
log.debug("Resource version after update: {}",
145142
updatedResource.getMetadata().getResourceVersion());
@@ -216,23 +213,23 @@ private boolean usePreviousAnnotation(Context<P> context) {
216213
@Override
217214
protected void handleDelete(P primary, R secondary, Context<P> context) {
218215
if (secondary != null) {
219-
client.resource(secondary).delete();
216+
context.getClient().resource(secondary).delete();
220217
}
221218
}
222219

223220
@SuppressWarnings("unused")
224221
public void deleteTargetResource(P primary, R resource, String key, Context<P> context) {
225-
client.resource(resource).delete();
222+
context.getClient().resource(resource).delete();
226223
}
227224

228225
@SuppressWarnings("unused")
229-
protected Resource<R> prepare(R desired, P primary, String actionName) {
226+
protected Resource<R> prepare(Context<P> context, R desired, P primary, String actionName) {
230227
log.debug("{} target resource with type: {}, with id: {}",
231228
actionName,
232229
desired.getClass(),
233230
ResourceID.fromResource(desired));
234231

235-
return client.resource(desired);
232+
return context.getClient().resource(desired);
236233
}
237234

238235
protected void addReferenceHandlingMetadata(R desired, P primary) {
@@ -292,16 +289,6 @@ protected boolean addOwnerReference() {
292289
return garbageCollected;
293290
}
294291

295-
@Override
296-
public void setKubernetesClient(KubernetesClient kubernetesClient) {
297-
this.client = kubernetesClient;
298-
}
299-
300-
@Override
301-
public KubernetesClient getKubernetesClient() {
302-
return client;
303-
}
304-
305292
@Override
306293
protected R desired(P primary, Context<P> context) {
307294
return super.desired(primary, context);

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/DefaultManagedWorkflow.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import io.javaoperatorsdk.operator.api.config.dependent.DependentResourceSpec;
1313
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource;
1414
import io.javaoperatorsdk.operator.api.reconciler.dependent.EventSourceReferencer;
15-
import io.javaoperatorsdk.operator.api.reconciler.dependent.managed.KubernetesClientAware;
1615

1716
import static io.javaoperatorsdk.operator.processing.dependent.workflow.Workflow.THROW_EXCEPTION_AUTOMATICALLY_DEFAULT;
1817

@@ -103,10 +102,6 @@ private <R> DependentResource<R, P> resolve(DependentResourceSpec<R, P> spec,
103102
configuration.getConfigurationService().dependentResourceFactory()
104103
.createFrom(spec, configuration);
105104

106-
if (dependentResource instanceof KubernetesClientAware) {
107-
((KubernetesClientAware) dependentResource).setKubernetesClient(client);
108-
}
109-
110105
spec.getUseEventSourceWithName()
111106
.ifPresent(esName -> {
112107
if (dependentResource instanceof EventSourceReferencer) {

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/ManagedInformerEventSource.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ public abstract class ManagedInformerEventSource<R extends HasMetadata, P extend
3737

3838
private static final Logger log = LoggerFactory.getLogger(ManagedInformerEventSource.class);
3939
private final InformerManager<R, C> cache;
40-
4140
protected TemporaryResourceCache<R> temporaryResourceCache;
4241
protected MixedOperation<R, KubernetesResourceList<R>, Resource<R>> client;
4342

operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentReInitializationIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ private static void startEndStopOperator(KubernetesClient client,
3131
Operator o1 = new Operator(o -> o
3232
.withCloseClientOnStop(false)
3333
.withKubernetesClient(client));
34-
o1.register(new DependentReInitializationReconciler(dependent, client));
34+
o1.register(new DependentReInitializationReconciler(dependent));
3535
o1.start();
3636
o1.stop();
3737
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentSSAMigrationIT.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,9 @@ private DependnetSSACustomResource reconcileWithLegacyOperator(Operator legacyOp
143143

144144
private Operator createOperator(KubernetesClient client, boolean legacyDependentHandling,
145145
String fieldManager) {
146-
Operator operator = new Operator(client,
147-
o -> o.withCloseClientOnStop(false));
146+
Operator operator =
147+
new Operator(o -> o.withKubernetesClient(client).withCloseClientOnStop(false));
148148
var reconciler = new DependentSSAReconciler(!legacyDependentHandling);
149-
reconciler.setKubernetesClient(client);
150149
operator.register(reconciler, o -> {
151150
o.settingNamespace(namespace);
152151
if (fieldManager != null) {

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/bulkdependent/StandaloneBulkDependentReconciler.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,18 @@
33
import java.util.Map;
44
import java.util.concurrent.atomic.AtomicInteger;
55

6-
import io.fabric8.kubernetes.client.KubernetesClient;
76
import io.javaoperatorsdk.operator.api.reconciler.*;
8-
import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
97
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
108
import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider;
119

1210
@ControllerConfiguration
1311
public class StandaloneBulkDependentReconciler
1412
implements Reconciler<BulkDependentTestCustomResource>, TestExecutionInfoProvider,
15-
EventSourceInitializer<BulkDependentTestCustomResource>, KubernetesClientAware {
13+
EventSourceInitializer<BulkDependentTestCustomResource> {
1614

1715
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
1816

1917
private final ConfigMapDeleterBulkDependentResource dependent;
20-
private KubernetesClient kubernetesClient;
2118

2219
public StandaloneBulkDependentReconciler() {
2320
dependent = new CRUDConfigMapBulkDependentResource();
@@ -44,15 +41,4 @@ public Map<String, EventSource> prepareEventSources(
4441
return EventSourceInitializer
4542
.nameEventSources(dependent.initEventSource(context));
4643
}
47-
48-
@Override
49-
public KubernetesClient getKubernetesClient() {
50-
return kubernetesClient;
51-
}
52-
53-
@Override
54-
public void setKubernetesClient(KubernetesClient kubernetesClient) {
55-
this.kubernetesClient = kubernetesClient;
56-
dependent.setKubernetesClient(kubernetesClient);
57-
}
5844
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/createupdateeventfilter/CreateUpdateEventFilterTestReconciler.java

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,16 @@
77

88
import io.fabric8.kubernetes.api.model.ConfigMap;
99
import io.fabric8.kubernetes.api.model.ObjectMeta;
10-
import io.fabric8.kubernetes.client.KubernetesClient;
1110
import io.javaoperatorsdk.operator.api.config.informer.InformerConfiguration;
12-
import io.javaoperatorsdk.operator.api.reconciler.Context;
13-
import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
14-
import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
15-
import io.javaoperatorsdk.operator.api.reconciler.EventSourceInitializer;
16-
import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
17-
import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
18-
import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
11+
import io.javaoperatorsdk.operator.api.reconciler.*;
1912
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource;
2013
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
2114
import io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource;
2215

2316
@ControllerConfiguration
2417
public class CreateUpdateEventFilterTestReconciler
2518
implements Reconciler<CreateUpdateEventFilterTestCustomResource>,
26-
EventSourceInitializer<CreateUpdateEventFilterTestCustomResource>,
27-
KubernetesClientAware {
19+
EventSourceInitializer<CreateUpdateEventFilterTestCustomResource> {
2820

2921
private static final class DirectConfigMapDependentResource
3022
extends
@@ -50,7 +42,6 @@ public void setEventSource(
5042
}
5143

5244
public static final String CONFIG_MAP_TEST_DATA_KEY = "key";
53-
private KubernetesClient client;
5445
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
5546
private InformerEventSource<ConfigMap, CreateUpdateEventFilterTestCustomResource> informerEventSource;
5647
private DirectConfigMapDependentResource configMapDR =
@@ -63,7 +54,7 @@ public UpdateControl<CreateUpdateEventFilterTestCustomResource> reconcile(
6354
numberOfExecutions.incrementAndGet();
6455

6556
ConfigMap configMap =
66-
client
57+
context.getClient()
6758
.configMaps()
6859
.inNamespace(resource.getMetadata().getNamespace())
6960
.withName(resource.getMetadata().getName())
@@ -103,25 +94,12 @@ public Map<String, EventSource> prepareEventSources(
10394
InformerConfiguration.from(ConfigMap.class)
10495
.withLabelSelector("integrationtest = " + this.getClass().getSimpleName())
10596
.build();
106-
informerEventSource =
107-
new InformerEventSource<>(informerConfiguration, client);
108-
109-
this.configMapDR.setKubernetesClient(context.getClient());
97+
informerEventSource = new InformerEventSource<>(informerConfiguration, context.getClient());
11098
this.configMapDR.setEventSource(informerEventSource);
11199

112100
return EventSourceInitializer.nameEventSources(informerEventSource);
113101
}
114102

115-
@Override
116-
public KubernetesClient getKubernetesClient() {
117-
return client;
118-
}
119-
120-
@Override
121-
public void setKubernetesClient(KubernetesClient kubernetesClient) {
122-
this.client = kubernetesClient;
123-
}
124-
125103
public int getNumberOfExecutions() {
126104
return numberOfExecutions.get();
127105
}

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentreinitialization/DependentReInitializationReconciler.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import java.util.Map;
44

5-
import io.fabric8.kubernetes.client.KubernetesClient;
65
import io.javaoperatorsdk.operator.api.reconciler.*;
76
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
87

@@ -13,10 +12,8 @@ public class DependentReInitializationReconciler
1312

1413
private final ConfigMapDependentResource configMapDependentResource;
1514

16-
public DependentReInitializationReconciler(ConfigMapDependentResource dependentResource,
17-
KubernetesClient client) {
15+
public DependentReInitializationReconciler(ConfigMapDependentResource dependentResource) {
1816
this.configMapDependentResource = dependentResource;
19-
this.configMapDependentResource.setKubernetesClient(client);
2017
}
2118

2219
@Override

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/dependentssa/DependentSSAReconciler.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,19 @@
44
import java.util.concurrent.atomic.AtomicInteger;
55

66
import io.fabric8.kubernetes.api.model.ConfigMap;
7-
import io.fabric8.kubernetes.client.KubernetesClient;
87
import io.javaoperatorsdk.operator.api.reconciler.*;
9-
import io.javaoperatorsdk.operator.junit.KubernetesClientAware;
108
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfigBuilder;
119
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
1210
import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider;
1311

1412
@ControllerConfiguration
1513
public class DependentSSAReconciler
1614
implements Reconciler<DependnetSSACustomResource>, TestExecutionInfoProvider,
17-
KubernetesClientAware,
1815
EventSourceInitializer<DependnetSSACustomResource> {
1916

2017
private final AtomicInteger numberOfExecutions = new AtomicInteger(0);
2118

2219
private SSAConfigMapDependent ssaConfigMapDependent = new SSAConfigMapDependent();
23-
private KubernetesClient kubernetesClient;
2420

2521
public DependentSSAReconciler() {
2622
this(true);
@@ -46,17 +42,6 @@ public int getNumberOfExecutions() {
4642
return numberOfExecutions.get();
4743
}
4844

49-
@Override
50-
public KubernetesClient getKubernetesClient() {
51-
return kubernetesClient;
52-
}
53-
54-
@Override
55-
public void setKubernetesClient(KubernetesClient kubernetesClient) {
56-
this.kubernetesClient = kubernetesClient;
57-
ssaConfigMapDependent.setKubernetesClient(kubernetesClient);
58-
}
59-
6045
@Override
6146
public Map<String, EventSource> prepareEventSources(
6247
EventSourceContext<DependnetSSACustomResource> context) {

0 commit comments

Comments
 (0)