You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by tb...@apache.org on 2018/04/11 13:40:56 UTC
[3/5] brooklyn-server git commit: fix dependencies
fix dependencies
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/d1b4941a
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/d1b4941a
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/d1b4941a
Branch: refs/heads/master
Commit: d1b4941aba8cb98367410dc0353d78a7ebcf58ef
Parents: 02b457d
Author: andreaturli <an...@gmail.com>
Authored: Mon Mar 26 10:48:24 2018 +0200
Committer: andreaturli <an...@gmail.com>
Committed: Mon Mar 26 10:48:24 2018 +0200
----------------------------------------------------------------------
locations/container/README.md | 30 ++++++++++++++++
locations/container/pom.xml | 37 +++++++-------------
.../KubernetesClientRegistryImpl.java | 3 +-
.../location/kubernetes/KubernetesLocation.java | 9 ++++-
pom.xml | 2 +-
5 files changed, 54 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d1b4941a/locations/container/README.md
----------------------------------------------------------------------
diff --git a/locations/container/README.md b/locations/container/README.md
new file mode 100644
index 0000000..5c62b01
--- /dev/null
+++ b/locations/container/README.md
@@ -0,0 +1,30 @@
+
+# Kubernetes Location
+
+Brooklyn Container Location has an extensive support for Kubernetes deployments
+In particular, it supports
+
+- KubernetesResource
+- KubernetesHelmChart
+- KubernetesContainer
+
+## Kubernets Helm Chart
+
+Here's an example of an Helm based blueprint
+
+```YAML
+location:
+ kubernetes:
+ endpoint: https://localhost:6443
+ kubeconfig: /home/user/.kube/config
+services:
+- type: org.apache.brooklyn.container.entity.kubernetes.KubernetesHelmChart
+ name: jenkins-helm
+ chartName: jenkins
+```
+
+Notice, in this case, it is pointing at a local k8s cluster (created using Docker on Mac) and specify a `kubeconfig`
+file for connection details.
+
+The `KubernetesHelmChart` entity will install the latest version of the `chart` named `jenkins` from the Chart repository `stable` at `https://kubernetes-charts.storage.googleapis.com/`
+You can install a specific version of the chart by using `chartVersion` config key.
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d1b4941a/locations/container/pom.xml
----------------------------------------------------------------------
diff --git a/locations/container/pom.xml b/locations/container/pom.xml
index 56f0bf4..cc24aea 100644
--- a/locations/container/pom.xml
+++ b/locations/container/pom.xml
@@ -31,53 +31,35 @@
<relativePath>../../parent/pom.xml</relativePath>
</parent>
- <properties>
- <kubernetes-client.version>2.5.6</kubernetes-client.version>
- </properties>
-
<dependencies>
<dependency>
+ <!-- depends on io.fabric8:kubernetes-client, version should always match -->
<groupId>org.microbean</groupId>
<artifactId>microbean-helm</artifactId>
- <version>2.7.2.1.0.0</version>
+ <version>2.8.2.1.0.3</version>
<exclusions>
- <exclusion>
- <groupId>com.google.api.grpc</groupId>
- <artifactId>proto-google-common-protos</artifactId>
- </exclusion>
+ <!-- jclouds depends on a previous version -->
<exclusion>
<groupId>com.google.errorprone</groupId>
<artifactId>error_prone_annotations</artifactId>
</exclusion>
- <exclusion>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-context</artifactId>
- </exclusion>
</exclusions>
</dependency>
<dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-context</artifactId>
- <version>1.4.0</version>
+ <groupId>com.squareup.okio</groupId>
+ <artifactId>okio</artifactId>
+ <version>1.13.0</version>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>kubernetes-client</artifactId>
<version>${kubernetes-client.version}</version>
- <classifier>bundle</classifier>
- <exclusions>
- <exclusion>
- <groupId>com.squareup.okio</groupId>
- <artifactId>okio</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>openshift-client</artifactId>
<version>${kubernetes-client.version}</version>
- <classifier>bundle</classifier>
</dependency>
<dependency>
<groupId>org.apache.brooklyn</groupId>
@@ -95,6 +77,13 @@
<groupId>org.apache.brooklyn</groupId>
<artifactId>brooklyn-locations-jclouds</artifactId>
<version>${brooklyn.version}</version>
+ <!-- io.fabric8:kubernetes-client and jclouds require different versions -->
+ <exclusions>
+ <exclusion>
+ <groupId>com.squareup.okio</groupId>
+ <artifactId>okio</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d1b4941a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java
----------------------------------------------------------------------
diff --git a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java
index 8ac1c64..6878ac1 100644
--- a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java
+++ b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java
@@ -106,7 +106,8 @@ public class KubernetesClientRegistryImpl implements KubernetesClientRegistry {
configBuilder.withMasterUrl(cluster.getServer());
configBuilder.withCaCertFile(getRelativeFile(cluster.getCertificateAuthority(), configFolder));
configBuilder.withCaCertData(cluster.getCertificateAuthorityData());
- configBuilder.withApiVersion(Optional.fromNullable(cluster.getApiVersion()).or("v1"));
+ // FIXME
+ // configBuilder.withApiVersion(Optional.fromNullable(cluster.getApiVersion()).or("v1"));
configBuilder.withTrustCerts(Boolean.TRUE.equals(cluster.getInsecureSkipTlsVerify()));
LOG.debug("Cluster {} server: {}", clusterName, cluster.getServer());
LOG.debug("Cluster {} additional properties: {}", clusterName, cluster.getAdditionalProperties());
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d1b4941a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java
----------------------------------------------------------------------
diff --git a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java
index 0b6c2b5..3a10449 100644
--- a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java
+++ b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java
@@ -139,6 +139,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
@@ -312,14 +313,19 @@ public class KubernetesLocation extends AbstractLocation implements MachineProvi
final String releaseName = entity.sensors().get(KubernetesResource.RESOURCE_NAME);
ReleaseManager chartManager = new ReleaseManager(tiller);
try {
- Future<UninstallReleaseResponse> response = chartManager.uninstall(UninstallReleaseRequest.newBuilder()
+ Future<UninstallReleaseResponse> uninstallReleaseResponseFuture = chartManager.uninstall(UninstallReleaseRequest.newBuilder()
.setTimeout(300L)
.setName(releaseName)
.setPurge(true)
.build());
+ UninstallReleaseResponse response = uninstallReleaseResponseFuture.get();
LOG.debug("Release {} uninstalled", response);
} catch (IOException e) {
throw Throwables.propagate(e);
+ } catch (InterruptedException e) {
+ throw Throwables.propagate(e);
+ } catch (ExecutionException e) {
+ throw Throwables.propagate(e);
}
}
@@ -561,6 +567,7 @@ public class KubernetesLocation extends AbstractLocation implements MachineProvi
}
Chart.Builder chartBuilder = chartRepository.resolve(chartName, chartVersion);
+
Future<InstallReleaseResponse> releaseFuture = chartManager.install(requestBuilder, chartBuilder);
Release release = releaseFuture.get().getRelease();
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/d1b4941a/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index cf97425..22aff1c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -173,7 +173,7 @@
<karaf.version>4.1.2</karaf.version>
<karaf.plugin.version>4.1.1</karaf.plugin.version>
<felix-osgi-compendium.version>1.4.0</felix-osgi-compendium.version>
- <kubernetes-client.version>1.4.27</kubernetes-client.version>
+ <kubernetes-client.version>3.1.8</kubernetes-client.version>
<!-- Transitive dependencies, declared explicitly to avoid version mismatch -->
<clojure.version>1.4.0</clojure.version>
<zookeeper.version>3.3.4</zookeeper.version>