Skip to content

Commit a97b678

Browse files
authored
Simplify fabric8 discovery (#1411)
1 parent 6359283 commit a97b678

File tree

9 files changed

+131
-67
lines changed

9 files changed

+131
-67
lines changed

spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DiscoveryClientUtils.java

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.cloud.kubernetes.commons.discovery;
1818

1919
import java.util.HashMap;
20-
import java.util.LinkedHashMap;
2120
import java.util.Map;
2221
import java.util.Optional;
2322
import java.util.function.Function;
@@ -29,7 +28,6 @@
2928

3029
import org.springframework.cloud.client.ServiceInstance;
3130
import org.springframework.core.log.LogAccessor;
32-
import org.springframework.util.StringUtils;
3331

3432
import static org.springframework.cloud.kubernetes.commons.config.ConfigUtils.keysWithPrefix;
3533
import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.EXTERNAL_NAME;
@@ -59,7 +57,7 @@ private DiscoveryClientUtils() {
5957
* - service type
6058
* </pre>
6159
*/
62-
public static Map<String, String> serviceInstanceMetadata(Map<String, String> portsData,
60+
public static Map<String, String> serviceInstanceMetadata(Map<String, Integer> portsData,
6361
ServiceMetadata serviceMetadata, KubernetesDiscoveryProperties properties) {
6462
Map<String, String> result = new HashMap<>();
6563
KubernetesDiscoveryProperties.Metadata metadataProps = properties.metadata();
@@ -77,7 +75,10 @@ public static Map<String, String> serviceInstanceMetadata(Map<String, String> po
7775
}
7876

7977
if (metadataProps.addPorts()) {
80-
Map<String, String> portMetadata = keysWithPrefix(portsData, properties.metadata().portsPrefix());
78+
Map<String, String> portsDataValueAsString = portsData.entrySet().stream()
79+
.collect(Collectors.toMap(Map.Entry::getKey, en -> Integer.toString(en.getValue())));
80+
Map<String, String> portMetadata = keysWithPrefix(portsDataValueAsString,
81+
properties.metadata().portsPrefix());
8182
if (!portMetadata.isEmpty()) {
8283
LOG.debug(() -> "Adding port metadata: " + portMetadata + " for serviceId : " + serviceMetadata.name());
8384
}
@@ -89,16 +90,16 @@ public static Map<String, String> serviceInstanceMetadata(Map<String, String> po
8990
return result;
9091
}
9192

92-
public static ServicePortNameAndNumber endpointsPort(LinkedHashMap<String, Integer> endpointsPorts,
93+
public static ServicePortNameAndNumber endpointsPort(Map<String, Integer> existingPorts,
9394
ServiceMetadata serviceMetadata, KubernetesDiscoveryProperties properties) {
9495

95-
if (endpointsPorts.size() == 0) {
96+
if (existingPorts.isEmpty()) {
9697
LOG.debug(() -> "no ports found for service : " + serviceMetadata.name() + ", will return zero");
9798
return new ServicePortNameAndNumber(0, "http");
9899
}
99100

100-
if (endpointsPorts.size() == 1) {
101-
Map.Entry<String, Integer> single = endpointsPorts.entrySet().iterator().next();
101+
if (existingPorts.size() == 1) {
102+
Map.Entry<String, Integer> single = existingPorts.entrySet().iterator().next();
102103
LOG.debug(() -> "endpoint ports has a single entry, using port : " + single.getValue());
103104
return new ServicePortNameAndNumber(single.getValue(), single.getKey());
104105
}
@@ -108,10 +109,6 @@ public static ServicePortNameAndNumber endpointsPort(LinkedHashMap<String, Integ
108109
Optional<ServicePortNameAndNumber> portData;
109110
String primaryPortName = primaryPortName(properties, serviceMetadata.labels(), serviceMetadata.name());
110111

111-
Map<String, Integer> existingPorts = endpointsPorts.entrySet().stream()
112-
.filter(entry -> StringUtils.hasText(entry.getKey()))
113-
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
114-
115112
portData = fromMap(existingPorts, primaryPortName, "found primary-port-name (with value: '"
116113
+ primaryPortName + "') via properties or service labels to match port");
117114
if (portData.isPresent()) {
@@ -129,7 +126,7 @@ public static ServicePortNameAndNumber endpointsPort(LinkedHashMap<String, Integ
129126
}
130127

131128
logWarnings();
132-
Map.Entry<String, Integer> first = endpointsPorts.entrySet().iterator().next();
129+
Map.Entry<String, Integer> first = existingPorts.entrySet().iterator().next();
133130
return new ServicePortNameAndNumber(first.getValue(), first.getKey());
134131

135132
}

spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/discovery/DiscoveryClientUtilsTests.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void testServiceMetadataEmpty() {
6161

6262
Map<String, String> serviceLabels = Map.of();
6363
Map<String, String> serviceAnnotations = Map.of();
64-
Map<String, String> portsData = Map.of();
64+
Map<String, Integer> portsData = Map.of();
6565

6666
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
6767
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -93,7 +93,7 @@ void testServiceMetadataNotEmptyNotTaken() {
9393

9494
Map<String, String> serviceLabels = Map.of("a", "1");
9595
Map<String, String> serviceAnnotations = Map.of("b", "2");
96-
Map<String, String> portsData = Map.of("c", "3");
96+
Map<String, Integer> portsData = Map.of("c", 3);
9797

9898
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
9999
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -125,7 +125,7 @@ void testServiceMetadataAddLabelsNoPrefix(CapturedOutput output) {
125125

126126
Map<String, String> serviceLabels = Map.of("a", "b");
127127
Map<String, String> serviceAnnotations = Map.of("c", "2");
128-
Map<String, String> portsData = Map.of("d", "3");
128+
Map<String, Integer> portsData = Map.of("d", 3);
129129

130130
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
131131
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -161,7 +161,7 @@ void testServiceMetadataAddLabelsWithPrefix(CapturedOutput output) {
161161

162162
Map<String, String> serviceLabels = Map.of("a", "b", "c", "d");
163163
Map<String, String> serviceAnnotations = Map.of("c", "2");
164-
Map<String, String> portsData = Map.of("d", "3");
164+
Map<String, Integer> portsData = Map.of("d", 3);
165165

166166
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
167167
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -199,7 +199,7 @@ void testServiceMetadataAddAnnotationsNoPrefix(CapturedOutput output) {
199199

200200
Map<String, String> serviceLabels = Map.of("a", "b");
201201
Map<String, String> serviceAnnotations = Map.of("aa", "bb");
202-
Map<String, String> portsData = Map.of("d", "3");
202+
Map<String, Integer> portsData = Map.of("d", 3);
203203

204204
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
205205
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -234,7 +234,7 @@ void testServiceMetadataAddAnnotationsWithPrefix(CapturedOutput output) {
234234

235235
Map<String, String> serviceLabels = Map.of("a", "b");
236236
Map<String, String> serviceAnnotations = Map.of("aa", "bb", "cc", "dd");
237-
Map<String, String> portsData = Map.of("d", "3");
237+
Map<String, Integer> portsData = Map.of("d", 3);
238238

239239
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
240240
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -272,7 +272,7 @@ void testServiceMetadataAddLabelsAndAnnotationsWithPrefix(CapturedOutput output)
272272

273273
Map<String, String> serviceLabels = Map.of("a", "b", "c", "d");
274274
Map<String, String> serviceAnnotations = Map.of("aa", "bb", "cc", "dd");
275-
Map<String, String> portsData = Map.of("d", "3");
275+
Map<String, Integer> portsData = Map.of("d", 3);
276276

277277
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
278278
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -314,7 +314,7 @@ void testServiceMetadataAddPortsWithoutPrefix(CapturedOutput output) {
314314

315315
Map<String, String> serviceLabels = Map.of("a", "b");
316316
Map<String, String> serviceAnnotations = Map.of("aa", "bb", "cc", "dd");
317-
Map<String, String> portsData = Map.of("https", "8080");
317+
Map<String, Integer> portsData = Map.of("https", 8080);
318318

319319
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
320320
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -348,7 +348,7 @@ void testServiceMetadataAddPortsWithPrefix(CapturedOutput output) {
348348

349349
Map<String, String> serviceLabels = Map.of("a", "b");
350350
Map<String, String> serviceAnnotations = Map.of("aa", "bb", "cc", "dd");
351-
Map<String, String> portsData = Map.of("http", "8081", "https", "8080");
351+
Map<String, Integer> portsData = Map.of("http", 8081, "https", 8080);
352352

353353
KubernetesDiscoveryProperties.Metadata metadata = new KubernetesDiscoveryProperties.Metadata(addLabels,
354354
labelsPrefix, addAnnotations, annotationsPrefix, addPorts, portsPrefix);
@@ -502,7 +502,7 @@ void testEndpointsPortNullPrimaryPortName(CapturedOutput output) {
502502
KubernetesDiscoveryProperties properties = KubernetesDiscoveryProperties.DEFAULT;
503503

504504
LinkedHashMap<String, Integer> endpointsPorts = new LinkedHashMap<>();
505-
endpointsPorts.put(null, 8080);
505+
endpointsPorts.put("not-null", 8080);
506506
endpointsPorts.put("not-http-or-https", 8081);
507507
Map<String, String> serviceLabels = Map.of();
508508

@@ -511,7 +511,7 @@ void testEndpointsPortNullPrimaryPortName(CapturedOutput output) {
511511

512512
ServicePortNameAndNumber portData = endpointsPort(endpointsPorts, serviceMetadata, properties);
513513
Assertions.assertEquals(portData.portNumber(), 8080);
514-
Assertions.assertNull(portData.portName());
514+
Assertions.assertEquals(portData.portName(), "not-null");
515515
Assertions.assertTrue(output.getOut().contains(
516516
"did not find a primary-port-name in neither properties nor service labels for service with ID : spring-k8s"));
517517
Assertions.assertTrue(output.getOut()

spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesDiscoveryClientUtils.java

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.cloud.kubernetes.fabric8.discovery;
1818

1919
import java.util.ArrayList;
20-
import java.util.LinkedHashMap;
2120
import java.util.List;
2221
import java.util.Map;
2322
import java.util.Optional;
@@ -48,9 +47,9 @@
4847
import org.springframework.cloud.kubernetes.fabric8.Fabric8Utils;
4948
import org.springframework.core.log.LogAccessor;
5049
import org.springframework.util.CollectionUtils;
51-
import org.springframework.util.StringUtils;
5250

5351
import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.UNSET_PORT_NAME;
52+
import static org.springframework.util.StringUtils.hasText;
5453

5554
/**
5655
* @author wind57
@@ -193,22 +192,14 @@ else if (!properties.namespaces().isEmpty()) {
193192
return services;
194193
}
195194

196-
static Map<String, String> portsData(List<EndpointSubset> endpointSubsets) {
195+
/**
196+
* a service is allowed to have a single port defined without a name.
197+
*/
198+
static Map<String, Integer> endpointSubsetsPortData(List<EndpointSubset> endpointSubsets) {
197199
return endpointSubsets.stream().flatMap(endpointSubset -> endpointSubset.getPorts().stream())
198-
.filter(port -> StringUtils.hasText(port.getName()))
199-
.collect(Collectors.toMap(EndpointPort::getName, port -> Integer.toString(port.getPort())));
200-
}
201-
202-
static LinkedHashMap<String, Integer> endpointSubsetPortsData(EndpointSubset endpointSubset) {
203-
LinkedHashMap<String, Integer> result = new LinkedHashMap<>();
204-
endpointSubset.getPorts().forEach(port -> {
205-
// a service is allowed to not set a port name for a single entry.
206-
// two ports without name can not be deployed, as this in an error
207-
String portName = StringUtils.hasText(port.getName()) ? port.getName() : UNSET_PORT_NAME;
208-
Integer portNumber = port.getPort();
209-
result.put(portName, portNumber);
210-
});
211-
return result;
200+
.collect(Collectors.toMap(
201+
endpointPort -> hasText(endpointPort.getName()) ? endpointPort.getName() : UNSET_PORT_NAME,
202+
EndpointPort::getPort));
212203
}
213204

214205
static ServiceMetadata serviceMetadata(Service service) {

spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/KubernetesDiscoveryClient.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.cloud.kubernetes.fabric8.discovery;
1818

1919
import java.util.ArrayList;
20-
import java.util.LinkedHashMap;
2120
import java.util.List;
2221
import java.util.Map;
2322
import java.util.Objects;
@@ -48,9 +47,8 @@
4847
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8InstanceIdHostPodNameSupplier.externalName;
4948
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8InstanceIdHostPodNameSupplier.nonExternalName;
5049
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8KubernetesDiscoveryClientUtils.addresses;
51-
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8KubernetesDiscoveryClientUtils.endpointSubsetPortsData;
50+
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8KubernetesDiscoveryClientUtils.endpointSubsetsPortData;
5251
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8KubernetesDiscoveryClientUtils.endpoints;
53-
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8KubernetesDiscoveryClientUtils.portsData;
5452
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8KubernetesDiscoveryClientUtils.serviceMetadata;
5553
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8KubernetesDiscoveryClientUtils.services;
5654
import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8PodLabelsAndAnnotationsSupplier.externalName;
@@ -163,13 +161,13 @@ private List<ServiceInstance> serviceInstances(EndpointSubsetNS es, String servi
163161

164162
Service service = client.services().inNamespace(namespace).withName(serviceId).get();
165163
ServiceMetadata serviceMetadata = serviceMetadata(service);
166-
Map<String, String> portsData = portsData(subsets);
164+
Map<String, Integer> portsData = endpointSubsetsPortData(subsets);
167165

168166
Map<String, String> serviceInstanceMetadata = serviceInstanceMetadata(portsData, serviceMetadata, properties);
169167

170168
for (EndpointSubset endpointSubset : subsets) {
171169

172-
LinkedHashMap<String, Integer> endpointsPortData = endpointSubsetPortsData(endpointSubset);
170+
Map<String, Integer> endpointsPortData = endpointSubsetsPortData(List.of(endpointSubset));
173171
ServicePortNameAndNumber portData = endpointsPort(endpointsPortData, serviceMetadata, properties);
174172

175173
List<EndpointAddress> addresses = addresses(endpointSubset, properties);
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
/*
2+
* Copyright 2013-2023 the original author or authors.
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* https://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package org.springframework.cloud.kubernetes.fabric8.discovery;
18+
19+
import java.util.List;
20+
import java.util.Map;
21+
import java.util.Set;
22+
23+
import io.fabric8.kubernetes.api.model.EndpointAddressBuilder;
24+
import io.fabric8.kubernetes.api.model.EndpointPortBuilder;
25+
import io.fabric8.kubernetes.api.model.EndpointSubsetBuilder;
26+
import io.fabric8.kubernetes.api.model.Endpoints;
27+
import io.fabric8.kubernetes.api.model.EndpointsBuilder;
28+
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
29+
import io.fabric8.kubernetes.api.model.Service;
30+
import io.fabric8.kubernetes.api.model.ServiceBuilder;
31+
import io.fabric8.kubernetes.api.model.ServicePortBuilder;
32+
import io.fabric8.kubernetes.api.model.ServiceSpecBuilder;
33+
import io.fabric8.kubernetes.client.KubernetesClient;
34+
import io.fabric8.kubernetes.client.server.mock.EnableKubernetesMockClient;
35+
import org.junit.jupiter.api.Assertions;
36+
import org.junit.jupiter.api.Test;
37+
38+
import org.springframework.cloud.client.ServiceInstance;
39+
import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties;
40+
41+
/**
42+
* @author wind57
43+
*/
44+
@EnableKubernetesMockClient(crud = true, https = false)
45+
class Fabric8KubernetesDiscoveryClientServiceWithoutPortNameTests {
46+
47+
private static final String NAMESPACE = "spring-k8s";
48+
49+
private static KubernetesClient mockClient;
50+
51+
@Test
52+
void testDiscoveryWithoutAServicePortName() {
53+
54+
Service service = new ServiceBuilder()
55+
.withSpec(new ServiceSpecBuilder().withPorts(new ServicePortBuilder().withPort(8080).build()).build())
56+
.withMetadata(new ObjectMetaBuilder().withName("no-port-name-service").withNamespace(NAMESPACE).build())
57+
.withSpec(new ServiceSpecBuilder().withType("ClusterIP").build()).build();
58+
mockClient.services().inNamespace(NAMESPACE).resource(service).create();
59+
60+
Endpoints endpoints = new EndpointsBuilder()
61+
.withSubsets(new EndpointSubsetBuilder().withPorts(new EndpointPortBuilder().withPort(8080).build())
62+
.withAddresses(new EndpointAddressBuilder().withIp("127.0.0.1").build()).build())
63+
.withMetadata(new ObjectMetaBuilder().withName("no-port-name-service").withNamespace(NAMESPACE).build())
64+
.build();
65+
mockClient.endpoints().inNamespace(NAMESPACE).resource(endpoints).create();
66+
67+
KubernetesDiscoveryProperties properties = new KubernetesDiscoveryProperties(true, false, Set.of(NAMESPACE),
68+
true, 60, false, null, Set.of(), Map.of(), null, KubernetesDiscoveryProperties.Metadata.DEFAULT, 0,
69+
true);
70+
KubernetesDiscoveryClient discoveryClient = new KubernetesDiscoveryClient(mockClient, properties, a -> null);
71+
72+
List<ServiceInstance> serviceInstances = discoveryClient.getInstances("no-port-name-service");
73+
Assertions.assertEquals(serviceInstances.size(), 1);
74+
Assertions.assertEquals(serviceInstances.get(0).getMetadata(),
75+
Map.of("port.<unset>", "8080", "k8s_namespace", "spring-k8s", "type", "ClusterIP"));
76+
}
77+
78+
}

spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesDiscoveryClientTest.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -447,21 +447,20 @@ void instanceWithMultiplePortsAndMisconfiguredPrimaryPortNameInLabelWithoutFallb
447447
List<ServiceInstance> instances = discoveryClient.getInstances("endpoint3");
448448

449449
assertThat(instances).hasSize(1).filteredOn(s -> s.getHost().equals("ip1") && s.isSecure()).hasSize(1)
450-
.filteredOn(s -> s.getInstanceId().equals("90")).hasSize(1).filteredOn(s -> 443 == s.getPort())
451-
.hasSize(1);
450+
.filteredOn(s -> s.getInstanceId().equals("90")).hasSize(1).hasSize(1);
452451
}
453452

454453
@Test
455454
void instanceWithMultiplePortsAndMisconfiguredGenericPrimaryPortNameWithoutFallbackShouldLogWarning() {
456455
Map<String, String> labels = Map.of();
457456

458-
Endpoints endPoint1 = new EndpointsBuilder().withNewMetadata().withName("endpoint4").withNamespace("test")
457+
Endpoints endPoint = new EndpointsBuilder().withNewMetadata().withName("endpoint4").withNamespace("test")
459458
.withLabels(labels).endMetadata().addNewSubset().addNewAddress().withIp("ip1").withNewTargetRef()
460459
.withUid("100").endTargetRef().endAddress().addNewPort("http", "https1", 443, "TCP")
461460
.addNewPort("http", "https2", 8443, "TCP").addNewPort("http", "http1", 80, "TCP")
462461
.addNewPort("http", "http2", 8080, "TCP").endSubset().build();
463462

464-
mockClient.endpoints().inNamespace("test").resource(endPoint1).create();
463+
mockClient.endpoints().inNamespace("test").resource(endPoint).create();
465464

466465
Service service = new ServiceBuilder().withSpec(new ServiceSpecBuilder().withType("ExternalName").build())
467466
.withNewMetadata().withName("endpoint4").withNamespace("test").withLabels(labels)
@@ -478,8 +477,7 @@ void instanceWithMultiplePortsAndMisconfiguredGenericPrimaryPortNameWithoutFallb
478477
List<ServiceInstance> instances = discoveryClient.getInstances("endpoint4");
479478

480479
assertThat(instances).hasSize(1).filteredOn(s -> s.getHost().equals("ip1") && s.isSecure()).hasSize(1)
481-
.filteredOn(s -> s.getInstanceId().equals("100")).hasSize(1).filteredOn(s -> 443 == s.getPort())
482-
.hasSize(1);
480+
.filteredOn(s -> s.getInstanceId().equals("100")).hasSize(1).hasSize(1);
483481
}
484482

485483
@Test

spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8KubernetesDiscoveryClientTests.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,8 @@ void testPodMetadata() {
576576
Assertions.assertEquals(serviceInstance.getPort(), 8080);
577577
Assertions.assertFalse(serviceInstance.isSecure());
578578
Assertions.assertEquals(serviceInstance.getUri().toASCIIString(), "http://127.0.0.1:8080");
579-
Assertions.assertEquals(serviceInstance.getMetadata(), Map.of("k8s_namespace", "a", "type", "ClusterIP"));
579+
Assertions.assertEquals(serviceInstance.getMetadata(),
580+
Map.of("k8s_namespace", "a", "type", "ClusterIP", "ports-prefix<unset>", "8080"));
580581
Assertions.assertEquals(serviceInstance.podMetadata().get("labels"), Map.of("a", "b"));
581582
Assertions.assertEquals(serviceInstance.podMetadata().get("annotations"), Map.of("c", "d"));
582583
}

0 commit comments

Comments
 (0)