diff --git a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigDataLocationResolver.java b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigDataLocationResolver.java index dfe3c276f8..42b65b868c 100644 --- a/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigDataLocationResolver.java +++ b/spring-cloud-kubernetes-client-config/src/main/java/org/springframework/cloud/kubernetes/client/config/KubernetesClientConfigDataLocationResolver.java @@ -21,9 +21,7 @@ import org.springframework.boot.bootstrap.BootstrapRegistry; import org.springframework.boot.bootstrap.ConfigurableBootstrapContext; -import org.springframework.boot.context.config.ConfigDataLocation; import org.springframework.boot.context.config.ConfigDataLocationResolverContext; -import org.springframework.boot.context.config.Profiles; import org.springframework.cloud.kubernetes.commons.KubernetesClientProperties; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.config.ConfigDataRetryableConfigMapPropertySourceLocator; @@ -34,7 +32,6 @@ import org.springframework.cloud.kubernetes.commons.config.SecretsPropertySourceLocator; import org.springframework.cloud.kubernetes.commons.configdata.ConfigDataPropertiesHolder; import org.springframework.cloud.kubernetes.commons.configdata.KubernetesConfigDataLocationResolver; -import org.springframework.core.env.Environment; import static org.springframework.cloud.kubernetes.client.KubernetesClientUtils.kubernetesApiClient; import static org.springframework.cloud.kubernetes.commons.config.ConfigUtils.registerSingle; @@ -45,8 +42,8 @@ public class KubernetesClientConfigDataLocationResolver extends KubernetesConfigDataLocationResolver { @Override - protected void registerBeans(ConfigDataLocationResolverContext resolverContext, ConfigDataLocation location, - Profiles profiles, ConfigDataPropertiesHolder properties, KubernetesNamespaceProvider namespaceProvider) { + protected void registerBeans(ConfigDataLocationResolverContext resolverContext, + ConfigDataPropertiesHolder properties, KubernetesNamespaceProvider namespaceProvider) { KubernetesClientProperties kubernetesClientProperties = properties.clientProperties(); ConfigMapConfigProperties configMapProperties = properties.configMapProperties(); SecretsConfigProperties secretsProperties = properties.secretsProperties(); @@ -91,8 +88,4 @@ private CoreV1Api registerClientAndCoreV1Api(ConfigurableBootstrapContext bootst return coreV1Api; } - protected KubernetesNamespaceProvider kubernetesNamespaceProvider(Environment environment) { - return new KubernetesNamespaceProvider(environment); - } - } diff --git a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClient.java b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClient.java index 83593cbbc3..1663a6e2bb 100644 --- a/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClient.java +++ b/spring-cloud-kubernetes-client-discovery/src/main/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClient.java @@ -50,9 +50,9 @@ import static org.springframework.cloud.kubernetes.client.discovery.KubernetesClientDiscoveryClientUtils.serviceMetadata; import static org.springframework.cloud.kubernetes.client.discovery.KubernetesClientInstanceIdHostPodNameSupplier.externalName; import static org.springframework.cloud.kubernetes.client.discovery.KubernetesClientInstanceIdHostPodNameSupplier.nonExternalName; -import static org.springframework.cloud.kubernetes.client.discovery.KubernetesClientPodLabelsAndAnnotationsSupplier.externalName; import static org.springframework.cloud.kubernetes.client.discovery.KubernetesClientPodLabelsAndAnnotationsSupplier.nonExternalName; import static org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils.endpointsPort; +import static org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils.externalNameServiceInstance; import static org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils.serviceInstance; import static org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils.serviceInstanceMetadata; import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.EXTERNAL_NAME; @@ -143,10 +143,8 @@ public List getInstances(String serviceId) { properties); KubernetesClientInstanceIdHostPodNameSupplier supplierOne = externalName(service); - KubernetesClientPodLabelsAndAnnotationsSupplier supplierTwo = externalName(); - - ServiceInstance externalNameServiceInstance = serviceInstance(null, serviceMetadata, supplierOne, - supplierTwo, new ServicePortNameAndNumber(-1, null), serviceInstanceMetadata, properties); + ServiceInstance externalNameServiceInstance = externalNameServiceInstance(serviceMetadata, supplierOne, + serviceInstanceMetadata); serviceInstances.add(externalNameServiceInstance); } } diff --git a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClientTests.java b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClientTests.java index 60bff465c9..cb0564b6b4 100644 --- a/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClientTests.java +++ b/spring-cloud-kubernetes-client-discovery/src/test/java/org/springframework/cloud/kubernetes/client/discovery/KubernetesClientInformerDiscoveryClientTests.java @@ -53,6 +53,7 @@ import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; +import org.springframework.cloud.kubernetes.commons.discovery.KubernetesExternalNameServiceInstance; import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.options; import static org.assertj.core.api.Assertions.assertThat; @@ -570,7 +571,8 @@ void testExternalNameService() { List result = discoveryClient.getInstances("blue-service"); assertThat(result.size()).isEqualTo(1); - DefaultKubernetesServiceInstance externalNameServiceInstance = (DefaultKubernetesServiceInstance) result.get(0); + KubernetesExternalNameServiceInstance externalNameServiceInstance = (KubernetesExternalNameServiceInstance) result + .get(0); assertThat(externalNameServiceInstance.getServiceId()).isEqualTo("blue-service"); assertThat(externalNameServiceInstance.getHost()).isEqualTo("k8s-spring-b"); assertThat(externalNameServiceInstance.getPort()).isEqualTo(-1); diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/AbstractKubernetesInfoContributor.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/AbstractKubernetesInfoContributor.java index 21fa4c6df6..1a40819cb4 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/AbstractKubernetesInfoContributor.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/AbstractKubernetesInfoContributor.java @@ -69,11 +69,6 @@ public abstract class AbstractKubernetesInfoContributor implements InfoContribut */ public static final String HOST_IP = "hostIp"; - /** - * Labels key. - */ - public static final String LABELS = "labels"; - private static final Log LOG = LogFactory.getLog(AbstractKubernetesInfoContributor.class); @Override diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/configdata/KubernetesConfigDataLocationResolver.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/configdata/KubernetesConfigDataLocationResolver.java index 8430b53833..8f413b0091 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/configdata/KubernetesConfigDataLocationResolver.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/configdata/KubernetesConfigDataLocationResolver.java @@ -90,7 +90,7 @@ public final List resolveProfileSpecific( Environment environment = environment(kubernetesConfigData, profiles); KubernetesNamespaceProvider namespaceProvider = kubernetesNamespaceProvider(environment); - registerBeans(resolverContext, location, profiles, properties, namespaceProvider); + registerBeans(resolverContext, properties, namespaceProvider); KubernetesConfigDataResource resource = new KubernetesConfigDataResource(location.isOptional(), profiles, environment); @@ -99,8 +99,7 @@ public final List resolveProfileSpecific( } protected abstract void registerBeans(ConfigDataLocationResolverContext resolverContext, - ConfigDataLocation location, Profiles profiles, ConfigDataPropertiesHolder properties, - KubernetesNamespaceProvider namespaceProvider); + ConfigDataPropertiesHolder properties, KubernetesNamespaceProvider namespaceProvider); protected final boolean isRetryEnabledForConfigMap(ConfigMapConfigProperties configMapProperties) { return RETRY_IS_PRESENT && configMapProperties != null && configMapProperties.retry().enabled() diff --git a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DiscoveryClientUtils.java b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DiscoveryClientUtils.java index 6c3d56fd49..9a66fa859d 100644 --- a/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DiscoveryClientUtils.java +++ b/spring-cloud-kubernetes-commons/src/main/java/org/springframework/cloud/kubernetes/commons/discovery/DiscoveryClientUtils.java @@ -159,6 +159,16 @@ public static ServiceInstance serviceInstance(@Nullable ServicePortSecureResolve podMetadata); } + public static ServiceInstance externalNameServiceInstance(ServiceMetadata serviceMetadata, + Supplier instanceIdAndHost, Map serviceInstanceMetadata) { + + InstanceIdHostPodName data = instanceIdAndHost.get(); + + return new KubernetesExternalNameServiceInstance(serviceMetadata.name(), data.host(), data.instanceId(), + serviceInstanceMetadata); + + } + /** * take primary-port-name from service label "PRIMARY_PORT_NAME_LABEL_KEY" if it * exists, otherwise from KubernetesDiscoveryProperties if it exists, otherwise null. diff --git a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/configdata/KubernetesConfigDataLocationResolverTests.java b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/configdata/KubernetesConfigDataLocationResolverTests.java index 774f1481f6..e5da36412c 100644 --- a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/configdata/KubernetesConfigDataLocationResolverTests.java +++ b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/configdata/KubernetesConfigDataLocationResolverTests.java @@ -49,10 +49,8 @@ class KubernetesConfigDataLocationResolverTests { private static final KubernetesConfigDataLocationResolver NOOP_RESOLVER = new KubernetesConfigDataLocationResolver() { @Override - protected void registerBeans(ConfigDataLocationResolverContext resolverContext, ConfigDataLocation location, - Profiles profiles, ConfigDataPropertiesHolder properties, - KubernetesNamespaceProvider namespaceProvider) { - + protected void registerBeans(ConfigDataLocationResolverContext resolverContext, + ConfigDataPropertiesHolder properties, KubernetesNamespaceProvider namespaceProvider) { } }; @@ -293,8 +291,8 @@ void testResolveProfileSpecificSix() { Profiles profiles = Mockito.mock(Profiles.class); ConfigDataLocation configDataLocation = ConfigDataLocation.of("kubernetes:abc"); - List result = storePropertiesResolver.resolveProfileSpecific(RESOLVER_CONTEXT, - configDataLocation, profiles); + storePropertiesResolver.resolveProfileSpecific(RESOLVER_CONTEXT, + configDataLocation, profiles); // on the other hand, @Default will be picked here Assertions.assertThat(storePropertiesResolver.configMapConfigProperties.enabled()).isTrue(); diff --git a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/configdata/StorePropertiesResolver.java b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/configdata/StorePropertiesResolver.java index 6aabc431fd..371079d1ae 100644 --- a/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/configdata/StorePropertiesResolver.java +++ b/spring-cloud-kubernetes-commons/src/test/java/org/springframework/cloud/kubernetes/commons/configdata/StorePropertiesResolver.java @@ -16,9 +16,7 @@ package org.springframework.cloud.kubernetes.commons.configdata; -import org.springframework.boot.context.config.ConfigDataLocation; import org.springframework.boot.context.config.ConfigDataLocationResolverContext; -import org.springframework.boot.context.config.Profiles; import org.springframework.cloud.kubernetes.commons.KubernetesClientProperties; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.config.ConfigMapConfigProperties; @@ -36,8 +34,8 @@ class StorePropertiesResolver extends KubernetesConfigDataLocationResolver { KubernetesClientProperties kubernetesClientProperties; @Override - protected void registerBeans(ConfigDataLocationResolverContext resolverContext, ConfigDataLocation location, - Profiles profiles, ConfigDataPropertiesHolder properties, KubernetesNamespaceProvider namespaceProvider) { + protected void registerBeans(ConfigDataLocationResolverContext resolverContext, + ConfigDataPropertiesHolder properties, KubernetesNamespaceProvider namespaceProvider) { secretsConfigProperties = properties.secretsProperties(); configMapConfigProperties = properties.configMapProperties(); diff --git a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetectorTests.java b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetectorTests.java index 6e4245ff96..1a8cddc4fb 100644 --- a/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetectorTests.java +++ b/spring-cloud-kubernetes-controllers/spring-cloud-kubernetes-configuration-watcher/src/test/java/org/springframework/cloud/kubernetes/configuration/watcher/BusEventBasedConfigMapWatcherChangeDetectorTests.java @@ -67,8 +67,6 @@ class BusEventBasedConfigMapWatcherChangeDetectorTests { @Mock private ApplicationEventPublisher applicationEventPublisher; - private BusEventBasedConfigMapWatcherChangeDetector changeDetector; - private BusProperties busProperties; private MockEnvironment mockEnvironment; diff --git a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigDataLocationResolver.java b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigDataLocationResolver.java index b5dd302df7..15e875d9a7 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigDataLocationResolver.java +++ b/spring-cloud-kubernetes-fabric8-config/src/main/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigDataLocationResolver.java @@ -20,9 +20,7 @@ import io.fabric8.kubernetes.client.KubernetesClient; import org.springframework.boot.bootstrap.ConfigurableBootstrapContext; -import org.springframework.boot.context.config.ConfigDataLocation; import org.springframework.boot.context.config.ConfigDataLocationResolverContext; -import org.springframework.boot.context.config.Profiles; import org.springframework.cloud.kubernetes.commons.KubernetesClientProperties; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.config.ConfigDataRetryableConfigMapPropertySourceLocator; @@ -45,9 +43,8 @@ public class Fabric8ConfigDataLocationResolver extends KubernetesConfigDataLocationResolver { @Override - protected void registerBeans(ConfigDataLocationResolverContext resolverContext, ConfigDataLocation location, - Profiles profiles, ConfigDataPropertiesHolder propertiesHolder, - KubernetesNamespaceProvider namespaceProvider) { + protected void registerBeans(ConfigDataLocationResolverContext resolverContext, + ConfigDataPropertiesHolder propertiesHolder, KubernetesNamespaceProvider namespaceProvider) { KubernetesClientProperties kubernetesClientProperties = propertiesHolder.clientProperties(); ConfigMapConfigProperties configMapProperties = propertiesHolder.configMapProperties(); diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java index 7445963512..b1dc427a23 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/ConfigMapsTest.java @@ -159,9 +159,8 @@ void testConfigMapFromSingleInvalidPropertiesContent() { Fabric8ConfigContext context = new Fabric8ConfigContext(mockClient, source, "", new MockEnvironment(), ReadType.BATCH); - Fabric8ConfigMapPropertySource cmps = new Fabric8ConfigMapPropertySource(context); + Assertions.assertThatCode(() -> new Fabric8ConfigMapPropertySource(context)).doesNotThrowAnyException(); - // no exception is thrown for unparseable content } @Test diff --git a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapErrorOnReadingSourceTests.java b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapErrorOnReadingSourceTests.java index bc4dabaff2..0003e4b939 100644 --- a/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapErrorOnReadingSourceTests.java +++ b/spring-cloud-kubernetes-fabric8-config/src/test/java/org/springframework/cloud/kubernetes/fabric8/config/Fabric8ConfigMapErrorOnReadingSourceTests.java @@ -149,7 +149,6 @@ void namedTwoConfigMapsBothFail(CapturedOutput output) { configMapConfigProperties, new KubernetesNamespaceProvider(new MockEnvironment())); CompositePropertySource propertySource = (CompositePropertySource) locator.locate(new MockEnvironment()); - List names = propertySource.getPropertySources().stream().map(PropertySource::getName).toList(); assertThat(propertySource.getPropertySources()).isEmpty(); assertThat(output.getOut()).contains("Failed to load source: { config-map name : 'Optional[one]'"); @@ -181,7 +180,6 @@ void labeledSingleConfigMapFails(CapturedOutput output) { configMapConfigProperties, new KubernetesNamespaceProvider(new MockEnvironment())); CompositePropertySource propertySource = (CompositePropertySource) locator.locate(new MockEnvironment()); - List sourceNames = propertySource.getPropertySources().stream().map(PropertySource::getName).toList(); assertThat(propertySource.getPropertySources()).isEmpty(); assertThat(output.getOut()).contains("Failed to load source: { config map labels : '{a=b}'"); diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClient.java b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClient.java index 21bfde7486..d650af623c 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClient.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/main/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClient.java @@ -39,6 +39,7 @@ import org.springframework.core.log.LogAccessor; import static org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils.endpointsPort; +import static org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils.externalNameServiceInstance; import static org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils.serviceInstance; import static org.springframework.cloud.kubernetes.commons.discovery.DiscoveryClientUtils.serviceInstanceMetadata; import static org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryConstants.EXTERNAL_NAME; @@ -49,7 +50,6 @@ import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8DiscoveryClientUtils.services; import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8InstanceIdHostPodNameSupplier.externalName; import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8InstanceIdHostPodNameSupplier.nonExternalName; -import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8PodLabelsAndAnnotationsSupplier.externalName; import static org.springframework.cloud.kubernetes.fabric8.discovery.Fabric8PodLabelsAndAnnotationsSupplier.nonExternalName; /** @@ -112,10 +112,10 @@ public List getInstances(String serviceId) { properties); Fabric8InstanceIdHostPodNameSupplier supplierOne = externalName(service); - Fabric8PodLabelsAndAnnotationsSupplier supplierTwo = externalName(); - ServiceInstance externalNameServiceInstance = serviceInstance(null, serviceMetadata, supplierOne, - supplierTwo, new ServicePortNameAndNumber(-1, null), serviceInstanceMetadata, properties); + ServiceInstance externalNameServiceInstance = externalNameServiceInstance(serviceMetadata, supplierOne, + serviceInstanceMetadata); + instances.add(externalNameServiceInstance); } } diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClientFilterMetadataTest.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClientFilterMetadataTest.java index 5829ecc5b1..b365034f60 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClientFilterMetadataTest.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClientFilterMetadataTest.java @@ -323,12 +323,6 @@ private List getEndpointPorts(Map ports) { }).collect(toList()); } - private static Environment withClientNamespace() { - MockEnvironment mockEnvironment = new MockEnvironment(); - mockEnvironment.setProperty("spring.cloud.kubernetes.client.namespace", "test"); - return mockEnvironment; - } - private static Environment mockEnvironment() { MockEnvironment environment = new MockEnvironment(); environment.setProperty("spring.cloud.kubernetes.client.namespace", "test"); diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClientTwoTests.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClientTwoTests.java index c7f3253018..b6f1f43cc6 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClientTwoTests.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DiscoveryClientTwoTests.java @@ -45,6 +45,7 @@ import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; +import org.springframework.cloud.kubernetes.commons.discovery.KubernetesExternalNameServiceInstance; import org.springframework.core.env.Environment; import org.springframework.mock.env.MockEnvironment; @@ -552,7 +553,8 @@ void testExternalNameService() { Fabric8DiscoveryClient discoveryClient = new Fabric8DiscoveryClient(client, properties, null, null, null); List result = discoveryClient.getInstances("blue-service"); Assertions.assertThat(result.size()).isEqualTo(1); - DefaultKubernetesServiceInstance externalNameServiceInstance = (DefaultKubernetesServiceInstance) result.get(0); + KubernetesExternalNameServiceInstance externalNameServiceInstance = (KubernetesExternalNameServiceInstance) result + .get(0); Assertions.assertThat(externalNameServiceInstance.getServiceId()).isEqualTo("blue-service"); Assertions.assertThat(externalNameServiceInstance.getHost()).isEqualTo("k8s-spring-b"); Assertions.assertThat(externalNameServiceInstance.getPort()).isEqualTo(-1); diff --git a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DummyConfigDataLocationResolver.java b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DummyConfigDataLocationResolver.java index 33b7026d1c..8fa35b2798 100644 --- a/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DummyConfigDataLocationResolver.java +++ b/spring-cloud-kubernetes-fabric8-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/discovery/Fabric8DummyConfigDataLocationResolver.java @@ -17,9 +17,7 @@ package org.springframework.cloud.kubernetes.fabric8.discovery; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.config.ConfigDataLocation; import org.springframework.boot.context.config.ConfigDataLocationResolverContext; -import org.springframework.boot.context.config.Profiles; import org.springframework.cloud.kubernetes.commons.KubernetesNamespaceProvider; import org.springframework.cloud.kubernetes.commons.configdata.ConfigDataPropertiesHolder; import org.springframework.cloud.kubernetes.commons.configdata.KubernetesConfigDataLocationResolver; @@ -31,8 +29,8 @@ class Fabric8DummyConfigDataLocationResolver extends KubernetesConfigDataLocationResolver { @Override - protected void registerBeans(ConfigDataLocationResolverContext resolverContext, ConfigDataLocation location, - Profiles profiles, ConfigDataPropertiesHolder properties, KubernetesNamespaceProvider namespaceProvider) { + protected void registerBeans(ConfigDataLocationResolverContext resolverContext, + ConfigDataPropertiesHolder properties, KubernetesNamespaceProvider namespaceProvider) { } } diff --git a/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/it/mode/App.java b/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/it/mode/App.java index b5d07bcc5b..ad2d7bed58 100644 --- a/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/it/mode/App.java +++ b/spring-cloud-kubernetes-fabric8-loadbalancer/src/test/java/org/springframework/cloud/kubernetes/fabric8/loadbalancer/it/mode/App.java @@ -26,7 +26,7 @@ public class App { static void main(String[] args) { - SpringApplication.run(App.class); + SpringApplication.run(App.class, args); } } diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/TestAssertions.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/TestAssertions.java index 7ffb1c53ee..a7e3fd1241 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/TestAssertions.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-fabric8-client-discovery/src/test/java/org/springframework/cloud/kubernetes/fabric8/client/discovery/TestAssertions.java @@ -111,7 +111,7 @@ static void assertAllServices(DiscoveryClient discoveryClient) { .isEqualTo(Map.of("k8s_namespace", "default", "type", "ExternalName")); assertThat(externalNameInstance.isSecure()).isFalse(); assertThat(externalNameInstance.getUri().toASCIIString()).isEqualTo("spring.io"); - assertThat(externalNameInstance.getScheme()).isEqualTo("http"); + assertThat(externalNameInstance.getScheme()).isNull(); } /** diff --git a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery/src/test/java/org/springframework/cloud/kubernetes/k8s/client/discovery/KubernetesClientDiscoverySimpleIT.java b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery/src/test/java/org/springframework/cloud/kubernetes/k8s/client/discovery/KubernetesClientDiscoverySimpleIT.java index 85aa8494cb..d9eca5114f 100644 --- a/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery/src/test/java/org/springframework/cloud/kubernetes/k8s/client/discovery/KubernetesClientDiscoverySimpleIT.java +++ b/spring-cloud-kubernetes-integration-tests/spring-cloud-kubernetes-k8s-client-discovery/src/test/java/org/springframework/cloud/kubernetes/k8s/client/discovery/KubernetesClientDiscoverySimpleIT.java @@ -35,6 +35,7 @@ import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.kubernetes.commons.discovery.DefaultKubernetesServiceInstance; import org.springframework.cloud.kubernetes.commons.discovery.KubernetesDiscoveryProperties; +import org.springframework.cloud.kubernetes.commons.discovery.KubernetesExternalNameServiceInstance; import org.springframework.cloud.kubernetes.integration.tests.commons.Images; import org.springframework.cloud.kubernetes.integration.tests.commons.Phase; import org.springframework.context.annotation.Bean; @@ -133,7 +134,7 @@ private void testCustomAnnotation(List instances) { } private void testExternalNameService(DiscoveryClient discoveryClient) { - DefaultKubernetesServiceInstance externalNameService = (DefaultKubernetesServiceInstance) discoveryClient + KubernetesExternalNameServiceInstance externalNameService = (KubernetesExternalNameServiceInstance) discoveryClient .getInstances("external-name-service") .get(0); @@ -144,7 +145,7 @@ private void testExternalNameService(DiscoveryClient discoveryClient) { .containsAllEntriesOf(Map.of("k8s_namespace", "default", "type", "ExternalName")); assertThat(externalNameService.isSecure()).isFalse(); assertThat(externalNameService.getUri().toASCIIString()).isEqualTo("spring.io"); - assertThat(externalNameService.getScheme()).isEqualTo("http"); + assertThat(externalNameService.getScheme()).isNull(); } // https://github.com/spring-cloud/spring-cloud-kubernetes/issues/1286 diff --git a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/native_client/Util.java b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/native_client/Util.java index 4b4bdea229..313ccb8188 100644 --- a/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/native_client/Util.java +++ b/spring-cloud-kubernetes-test-support/src/main/java/org/springframework/cloud/kubernetes/integration/tests/commons/native_client/Util.java @@ -24,7 +24,6 @@ import java.time.Duration; import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -628,40 +627,6 @@ private void logDeploymentConditions(List conditions) { } } - private static boolean isDeploymentReadyAfterPatch(String deploymentName, String namespace, - Map podLabels) throws ApiException { - - V1DeploymentList deployments = new AppsV1Api().listNamespacedDeployment(namespace) - .fieldSelector("metadata.name=" + deploymentName) - .execute(); - if (deployments.getItems().isEmpty()) { - Assertions.fail("No deployment with name " + deploymentName); - } - - V1Deployment deployment = deployments.getItems().get(0); - // if no replicas are defined, it means only 1 is needed - int replicas = Optional.ofNullable(deployment.getSpec().getReplicas()).orElse(1); - int readyReplicas = Optional.ofNullable(deployment.getStatus().getReadyReplicas()).orElse(0); - - if (readyReplicas != replicas) { - LOG.info("ready replicas not yet same as replicas"); - return false; - } - - int pods = new CoreV1Api().listNamespacedPod(namespace) - .labelSelector(labelSelector(podLabels)) - .execute() - .getItems() - .size(); - - if (pods != replicas) { - LOG.info("number of pods not yet stabilized"); - return false; - } - - return true; - } - private static void notExistsHandler(CheckedSupplier callee, CheckedSupplier defaulter) throws Exception { try { callee.get();