From 692e49781683b5bb714f6b0f53b6ff22027d1e75 Mon Sep 17 00:00:00 2001 From: Ioannis Canellos Date: Tue, 13 Nov 2018 15:10:43 +0200 Subject: [PATCH] chore: bump version of spring-cloud-xxxx. Remove obsolete zipkin module. --- README.md | 28 ------ pom.xml | 8 +- .../kubernetes-zipkin-example/pom.xml | 4 - .../examples/ZipkinApplication.java | 2 - .../src/main/resources/application.yml | 3 + spring-cloud-kubernetes-zipkin/.jdk8 | 0 spring-cloud-kubernetes-zipkin/pom.xml | 67 ------------- .../KubernetesZipkinDiscoveryProperties.java | 53 ---------- .../ZipkinKubernetesAutoConfiguration.java | 97 ------------------- .../main/resources/META-INF/spring.factories | 2 - spring-cloud-starter-kubernetes-all/pom.xml | 10 -- .../pom.xml | 66 ------------- 12 files changed, 6 insertions(+), 334 deletions(-) delete mode 100644 spring-cloud-kubernetes-zipkin/.jdk8 delete mode 100644 spring-cloud-kubernetes-zipkin/pom.xml delete mode 100644 spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/KubernetesZipkinDiscoveryProperties.java delete mode 100644 spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/ZipkinKubernetesAutoConfiguration.java delete mode 100644 spring-cloud-kubernetes-zipkin/src/main/resources/META-INF/spring.factories delete mode 100644 spring-cloud-starter-kubernetes-zipkin/pom.xml diff --git a/README.md b/README.md index f24d8435..1ac94525 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,6 @@ - [Transparency](#transparency) *(it is transparent whether the code runs in or outside of Kubernetes)* - [Kubernetes Profile Autoconfiguration](#kubernetes-profile-autoconfiguration) - [Ribbon discovery in Kubernetes](#ribbon-discovery-in-kubernetes) -- [Zipkin discovery in Kubernetes](#zipkin-discovery-in-kubernetes) - [ConfigMap Archaius Bridge](#configmap-archaius-bridge) --- @@ -527,33 +526,6 @@ Examples that are using this module for ribbon discovery are: Remark : The Ribbon discovery client can be disabled by setting this key within the application properties file `spring.cloud.kubernetes.ribbon.enabled=false`. - -### Zipkin discovery in Kubernetes - -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.springframework.cloud/spring-cloud-starter-kubernetes-zipkin/badge.svg?style=flat-square)](https://maven-badges.herokuapp.com/maven-central/org.springframework.cloud/spring-cloud-starter-kubernetes-zipkin/) -[![Javadocs](http://www.javadoc.io/badge/org.springframework.cloud/spring-cloud-starter-kubernetes-zipkin.svg?color=blue)](http://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-starter-kubernetes-zipkin) -[![Dependency Status](https://www.versioneye.com/java/org.springframework.cloud:spring-cloud-starter-kubernetes-zipkin/badge?style=flat)](https://www.versioneye.com/java/org.springframework.cloud:spring-cloud-starter-kubernetes-zipkin/) - -[Zipkin](https://github.com/openzipkin/zipkin) is a distributed tracing system which is supported by the project -[Spring Cloud Sleuth](https://github.com/spring-cloud/spring-cloud-sleuth) which allows -to collect traces or spans from microservice applications. - -A Discovery client has been implemented top of Kubernetes in order to fetch the Zipkin service (e.g. `zipkin`). This -client is provided by the [spring-cloud-kubernetes-zipkin](spring-cloud-kubernetes-zipkin/pom.xml) project that you -can use by adding this starter to your maven pom file: - -```xml - - org.springframework.cloud - spring-cloud-starter-kubernetes-zipkin - ${latest.version} - -``` - -This works as an extension of the [spring-cloud-sleuth-zipkin](https://github.com/spring-cloud/spring-cloud-sleuth/tree/master/spring-cloud-sleuth-zipkin) project. -The name of the Zipkin service and the target Kubernetes namespace/project where the service runs can be specified -using the following `application.properties` properties: - ```bash spring.cloud.kubernetes.zipkin.discovery.serviceName=my-zipkin spring.cloud.kubernetes.zipkin.discovery.serviceNamespace=tracing diff --git a/pom.xml b/pom.xml index 20f78cc8..184b776a 100644 --- a/pom.xml +++ b/pom.xml @@ -59,9 +59,9 @@ - 1.2.3.RELEASE - 1.3.2.RELEASE - 1.2.2.RELEASE + 1.3.5.RELEASE + 1.4.6.RELEASE + 1.3.5.RELEASE 3.5 @@ -78,13 +78,11 @@ spring-cloud-kubernetes-config spring-cloud-kubernetes-discovery spring-cloud-kubernetes-ribbon - spring-cloud-kubernetes-zipkin spring-cloud-kubernetes-hystrix spring-cloud-kubernetes-archaius spring-cloud-starter-kubernetes spring-cloud-starter-kubernetes-config spring-cloud-starter-kubernetes-netflix - spring-cloud-starter-kubernetes-zipkin spring-cloud-starter-kubernetes-ribbon spring-cloud-starter-kubernetes-all spring-cloud-kubernetes-examples diff --git a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml index f5d701cf..0339f45b 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml +++ b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/pom.xml @@ -87,10 +87,6 @@ - - org.springframework.cloud - spring-cloud-kubernetes-zipkin - org.springframework.cloud spring-cloud-sleuth-zipkin diff --git a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/java/org/springframework/cloud/kubernetes/examples/ZipkinApplication.java b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/java/org/springframework/cloud/kubernetes/examples/ZipkinApplication.java index 980115ef..9bc36b74 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/java/org/springframework/cloud/kubernetes/examples/ZipkinApplication.java +++ b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/java/org/springframework/cloud/kubernetes/examples/ZipkinApplication.java @@ -21,8 +21,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.cloud.sleuth.zipkin.ZipkinSpanReporter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.EnableAspectJAutoProxy; import org.springframework.scheduling.annotation.EnableAsync; diff --git a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/resources/application.yml b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/resources/application.yml index 8b972127..39d7ebfa 100644 --- a/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/resources/application.yml +++ b/spring-cloud-kubernetes-examples/kubernetes-zipkin-example/src/main/resources/application.yml @@ -5,6 +5,9 @@ spring: sleuth: sampler: percentage: 1.0 + zipkin: + # Assuming that zipkinserver is the service name of zipkin server. + baseUrl: http://zipkinserver sample: zipkin: diff --git a/spring-cloud-kubernetes-zipkin/.jdk8 b/spring-cloud-kubernetes-zipkin/.jdk8 deleted file mode 100644 index e69de29b..00000000 diff --git a/spring-cloud-kubernetes-zipkin/pom.xml b/spring-cloud-kubernetes-zipkin/pom.xml deleted file mode 100644 index 85b0e94d..00000000 --- a/spring-cloud-kubernetes-zipkin/pom.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - spring-cloud-kubernetes - org.springframework.cloud - 0.2.1.BUILD-SNAPSHOT - - 4.0.0 - - org.springframework.cloud - spring-cloud-kubernetes-zipkin - Spring Cloud Kubernetes :: Zipkin - - - - - org.springframework.cloud - spring-cloud-kubernetes-discovery - ${project.version} - - - - org.springframework.boot - spring-boot-autoconfigure - true - - - - org.springframework.cloud - spring-cloud-commons - true - - - - org.springframework.cloud - spring-cloud-context - true - - - - org.springframework.cloud - spring-cloud-sleuth-zipkin - true - - - - - diff --git a/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/KubernetesZipkinDiscoveryProperties.java b/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/KubernetesZipkinDiscoveryProperties.java deleted file mode 100644 index 43e6d17e..00000000 --- a/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/KubernetesZipkinDiscoveryProperties.java +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright (C) 2016 to the original 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 - * - * http://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.zipkin; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -@ConfigurationProperties("spring.cloud.kubernetes.zipkin.discovery") -public class KubernetesZipkinDiscoveryProperties { - - private boolean enabled = true; - private String serviceName = "zipkin"; - private String serviceNamespace; - - - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - public String getServiceName() { - return serviceName; - } - - public void setServiceName(String serviceName) { - this.serviceName = serviceName; - } - - public String getServiceNamespace() { - return serviceNamespace; - } - - public void setServiceNamespace(String serviceNamespace) { - this.serviceNamespace = serviceNamespace; - } -} diff --git a/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/ZipkinKubernetesAutoConfiguration.java b/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/ZipkinKubernetesAutoConfiguration.java deleted file mode 100644 index 645ccfed..00000000 --- a/spring-cloud-kubernetes-zipkin/src/main/java/org/springframework/cloud/kubernetes/zipkin/ZipkinKubernetesAutoConfiguration.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2016 to the original 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 - * - * http://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.zipkin; - -import io.fabric8.kubernetes.api.model.Endpoints; -import io.fabric8.kubernetes.client.KubernetesClient; -import io.fabric8.kubernetes.client.utils.Utils; -import org.springframework.cloud.kubernetes.discovery.KubernetesServiceInstance; -import org.springframework.boot.autoconfigure.AutoConfigureBefore; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.cloud.client.ServiceInstance; -import org.springframework.cloud.sleuth.metric.SpanMetricReporter; -import org.springframework.cloud.sleuth.zipkin.DefaultZipkinRestTemplateCustomizer; -import org.springframework.cloud.sleuth.zipkin.HttpZipkinSpanReporter; -import org.springframework.cloud.sleuth.zipkin.ZipkinAutoConfiguration; -import org.springframework.cloud.sleuth.zipkin.ZipkinProperties; -import org.springframework.cloud.sleuth.zipkin.ZipkinSpanReporter; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.util.Assert; -import org.springframework.web.client.RestTemplate; -import zipkin.Span; - -import java.util.List; -import java.util.Optional; -import java.util.stream.Collectors; - -@Configuration -@EnableConfigurationProperties(KubernetesZipkinDiscoveryProperties.class) -@ConditionalOnProperty(value = "spring.cloud.kubernetes.zipkin.discovery.enabled", matchIfMissing = true) -@AutoConfigureBefore(ZipkinAutoConfiguration.class) -public class ZipkinKubernetesAutoConfiguration { - - - @Bean - public ZipkinSpanReporter reporter(KubernetesClient client, KubernetesZipkinDiscoveryProperties discoveryProperties, SpanMetricReporter spanMetricReporter, ZipkinProperties zipkin) { - String serviceName = discoveryProperties.getServiceName(); - String serviceNamespace = Utils.isNotNullOrEmpty(discoveryProperties.getServiceNamespace()) ? discoveryProperties.getServiceNamespace() : client.getNamespace(); - - List services = getInstances(client, serviceName, serviceNamespace); - String serviceUrl = services.stream() - .findFirst() - .map(s -> s.getUri().toString()) - .orElse(null); - - return serviceUrl == null || serviceUrl.isEmpty() - ? new NullZipkinSpanReporter() - : new HttpZipkinSpanReporter(restTemplateWithCompression(), serviceUrl, zipkin.getFlushInterval(), spanMetricReporter); - } - - private static List getInstances(KubernetesClient client, String name, String namespace) { - Assert.notNull(name, "[Assertion failed] - the service name must not be null"); - - return Optional.ofNullable(client.endpoints().inNamespace(namespace).withName(name).get()) - .orElse(new Endpoints()) - .getSubsets() - .stream() - .flatMap(s -> s.getAddresses().stream().map(a -> (ServiceInstance) new KubernetesServiceInstance(name, a ,s.getPorts().stream().findFirst().orElseThrow(IllegalStateException::new), false))) - .collect(Collectors.toList()); - } - - static final class NullZipkinSpanReporter implements ZipkinSpanReporter { - - @Override - public void report(Span span) { - - } - } - - private RestTemplate restTemplateWithCompression() { - ZipkinProperties zipkinProperties = new ZipkinProperties(); - zipkinProperties.getCompression().setEnabled(true); - return restTemplate(zipkinProperties); - } - - private RestTemplate restTemplate(ZipkinProperties zipkinProperties) { - RestTemplate restTemplate = new RestTemplate(); - new DefaultZipkinRestTemplateCustomizer(zipkinProperties).customize(restTemplate); - return restTemplate; - } -} diff --git a/spring-cloud-kubernetes-zipkin/src/main/resources/META-INF/spring.factories b/spring-cloud-kubernetes-zipkin/src/main/resources/META-INF/spring.factories deleted file mode 100644 index aceffa6e..00000000 --- a/spring-cloud-kubernetes-zipkin/src/main/resources/META-INF/spring.factories +++ /dev/null @@ -1,2 +0,0 @@ -org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ -org.springframework.cloud.kubernetes.zipkin.ZipkinKubernetesAutoConfiguration diff --git a/spring-cloud-starter-kubernetes-all/pom.xml b/spring-cloud-starter-kubernetes-all/pom.xml index 25403c15..35b2f891 100644 --- a/spring-cloud-starter-kubernetes-all/pom.xml +++ b/spring-cloud-starter-kubernetes-all/pom.xml @@ -61,16 +61,6 @@ spring-cloud-kubernetes-hystrix - - org.springframework.cloud - spring-cloud-kubernetes-zipkin - - - - org.springframework.cloud - spring-cloud-sleuth-zipkin - - org.aspectj aspectjweaver diff --git a/spring-cloud-starter-kubernetes-zipkin/pom.xml b/spring-cloud-starter-kubernetes-zipkin/pom.xml deleted file mode 100644 index 4d2984a5..00000000 --- a/spring-cloud-starter-kubernetes-zipkin/pom.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - spring-cloud-kubernetes - org.springframework.cloud - 0.2.1.BUILD-SNAPSHOT - - 4.0.0 - - org.springframework.cloud - spring-cloud-starter-kubernetes-zipkin - Spring Cloud Kubernetes :: Starter :: Zipkin - - - - org.springframework.cloud - spring-cloud-kubernetes-core - - - - org.springframework.cloud - spring-cloud-kubernetes-discovery - - - - org.springframework.cloud - spring-cloud-kubernetes-zipkin - - - - org.springframework.cloud - spring-cloud-sleuth-zipkin - - - - org.aspectj - aspectjweaver - - - - org.aspectj - aspectjrt - - - - -