diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/EndpointSubsetNS.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/EndpointSubsetNS.java deleted file mode 100644 index 8a7de4b7..00000000 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/EndpointSubsetNS.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2012-2022 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.cloud.kubernetes.fabric8.discovery; - -import java.util.List; - -import io.fabric8.kubernetes.api.model.EndpointSubset; - -/** - * @author Haytham Mohamed - **/ -record EndpointSubsetNS(String namespace, List endpointSubset) { -} diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesDiscoveryClientUtils.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesDiscoveryClientUtils.java index f7f98525..7895f8cf 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesDiscoveryClientUtils.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesDiscoveryClientUtils.java @@ -65,10 +65,6 @@ final class Fabric8KubernetesDiscoveryClientUtils { } - static EndpointSubsetNS subsetsFromEndpoints(Endpoints endpoints) { - return new EndpointSubsetNS(endpoints.getMetadata().getNamespace(), endpoints.getSubsets()); - } - static List endpoints(KubernetesDiscoveryProperties properties, KubernetesClient client, KubernetesNamespaceProvider namespaceProvider, String target, @Nullable String serviceName, Predicate filter) { diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java index c3f5a8c1..6a5a786c 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java @@ -113,13 +113,12 @@ public class KubernetesDiscoveryClient implements DiscoveryClient, EnvironmentAw public List getInstances(String serviceId) { Objects.requireNonNull(serviceId); - List subsetsNS = getEndPointsList(serviceId).stream() - .map(Fabric8KubernetesDiscoveryClientUtils::subsetsFromEndpoints).toList(); + List allEndpoints = getEndPointsList(serviceId).stream().toList(); List instances = new ArrayList<>(); - for (EndpointSubsetNS es : subsetsNS) { - // subsetsNS are only those that matched the serviceId - instances.addAll(serviceInstances(es, serviceId)); + for (Endpoints endpoints : allEndpoints) { + // endpoints are only those that matched the serviceId + instances.addAll(serviceInstances(endpoints, serviceId)); } if (properties.includeExternalNameServices()) { @@ -148,15 +147,15 @@ public class KubernetesDiscoveryClient implements DiscoveryClient, EnvironmentAw return endpoints(properties, client, namespaceProvider, "fabric8-discovery", serviceId, adapter.filter()); } - private List serviceInstances(EndpointSubsetNS es, String serviceId) { + private List serviceInstances(Endpoints endpoints, String serviceId) { - List subsets = es.endpointSubset(); + List subsets = endpoints.getSubsets(); if (subsets.isEmpty()) { LOG.debug(() -> "serviceId : " + serviceId + " does not have any subsets"); return List.of(); } - String namespace = es.namespace(); + String namespace = endpoints.getMetadata().getNamespace(); List instances = new ArrayList<>(); Service service = client.services().inNamespace(namespace).withName(serviceId).get(); diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientUtilsTests.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientUtilsTests.java index 96d9c763..f1068dbc 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientUtilsTests.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClientUtilsTests.java @@ -22,12 +22,8 @@ import java.util.Set; import io.fabric8.kubernetes.api.model.EndpointAddress; import io.fabric8.kubernetes.api.model.EndpointAddressBuilder; -import io.fabric8.kubernetes.api.model.EndpointPortBuilder; import io.fabric8.kubernetes.api.model.EndpointSubset; import io.fabric8.kubernetes.api.model.EndpointSubsetBuilder; -import io.fabric8.kubernetes.api.model.Endpoints; -import io.fabric8.kubernetes.api.model.EndpointsBuilder; -import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -41,30 +37,6 @@ import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscover @ExtendWith(OutputCaptureExtension.class) class KubernetesDiscoveryClientUtilsTests { - @Test - void testSubsetsFromEndpointsEmptySubsets() { - Endpoints endpoints = new EndpointsBuilder() - .withMetadata(new ObjectMetaBuilder().withNamespace("non-default").build()).build(); - EndpointSubsetNS result = Fabric8KubernetesDiscoveryClientUtils.subsetsFromEndpoints(endpoints); - Assertions.assertNotNull(result); - Assertions.assertEquals(result.endpointSubset(), List.of()); - Assertions.assertEquals(result.namespace(), "non-default"); - } - - @Test - void testSubsetsFromEndpointsNonEmptySubsets() { - Endpoints endpoints = new EndpointsBuilder().withSubsets((List) null) - .withMetadata(new ObjectMetaBuilder().withNamespace("default").build()) - .withSubsets( - new EndpointSubsetBuilder().withPorts(new EndpointPortBuilder().withPort(8080).build()).build()) - .build(); - EndpointSubsetNS result = Fabric8KubernetesDiscoveryClientUtils.subsetsFromEndpoints(endpoints); - Assertions.assertNotNull(result); - Assertions.assertEquals(result.endpointSubset().size(), 1); - Assertions.assertEquals(result.endpointSubset().get(0).getPorts().get(0).getPort(), 8080); - Assertions.assertEquals(result.namespace(), "default"); - } - /** *
 	 *      - ready addresses are empty