summaryrefslogtreecommitdiffstats
path: root/zkfacade
diff options
context:
space:
mode:
Diffstat (limited to 'zkfacade')
-rw-r--r--zkfacade/pom.xml6
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java25
-rw-r--r--zkfacade/src/main/java/org/apache/zookeeper/client/package-info.java10
-rw-r--r--zkfacade/src/main/java/org/apache/zookeeper/common/package-info.java10
-rw-r--r--zkfacade/src/main/java/org/apache/zookeeper/server/quorum/package-info.java10
5 files changed, 42 insertions, 19 deletions
diff --git a/zkfacade/pom.xml b/zkfacade/pom.xml
index d9bd377ffa1..7563ef068a9 100644
--- a/zkfacade/pom.xml
+++ b/zkfacade/pom.xml
@@ -42,6 +42,12 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>com.yahoo.vespa</groupId>
+ <artifactId>zookeeper-client-common</artifactId>
+ <version>${project.version}</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</dependency>
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
index 4cbb6c95cb4..9a6ef3f74f1 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
@@ -4,14 +4,12 @@ package com.yahoo.vespa.curator;
import com.google.inject.Inject;
import com.yahoo.cloud.config.ConfigserverConfig;
import com.yahoo.cloud.config.CuratorConfig;
-import com.yahoo.io.IOUtils;
import com.yahoo.path.Path;
-import com.yahoo.text.Utf8;
import com.yahoo.vespa.curator.api.VespaCurator;
import com.yahoo.vespa.curator.recipes.CuratorCounter;
import com.yahoo.vespa.defaults.Defaults;
-import com.yahoo.vespa.zookeeper.VespaSslContextProvider;
import com.yahoo.vespa.zookeeper.VespaZooKeeperServer;
+import com.yahoo.vespa.zookeeper.client.ZkClientConfigBuilder;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
@@ -30,6 +28,8 @@ import org.apache.zookeeper.data.Stat;
import org.apache.zookeeper.server.quorum.QuorumPeerConfig;
import java.io.File;
+import java.io.IOException;
+import java.io.UncheckedIOException;
import java.time.Duration;
import java.util.Arrays;
import java.util.List;
@@ -124,20 +124,12 @@ public class Curator implements VespaCurator, AutoCloseable {
private static ZKClientConfig createClientConfig(Optional<File> clientConfigFile) {
if (clientConfigFile.isPresent()) {
- boolean useSecureClient = Boolean.parseBoolean(getEnvironmentVariable("VESPA_USE_TLS_FOR_ZOOKEEPER_CLIENT").orElse("false"));
- StringBuilder configBuilder = new StringBuilder("zookeeper.client.secure=").append(useSecureClient).append("\n");
- if (useSecureClient) {
- configBuilder.append("zookeeper.ssl.context.supplier.class=").append(VespaSslContextProvider.class.getName()).append("\n")
- .append("zookeeper.ssl.enabledProtocols=").append(VespaSslContextProvider.enabledTlsProtocolConfigValue()).append("\n")
- .append("zookeeper.ssl.ciphersuites=").append(VespaSslContextProvider.enabledTlsCiphersConfigValue()).append("\n")
- .append("zookeeper.ssl.clientAuth=NEED\n");
- }
- clientConfigFile.get().getParentFile().mkdirs();
- IOUtils.writeFile(clientConfigFile.get(), Utf8.toBytes(configBuilder.toString()));
try {
- return new ZKClientConfig(clientConfigFile.get());
+ return new ZkClientConfigBuilder().toConfig(clientConfigFile.get().toPath());
} catch (QuorumPeerConfig.ConfigException e) {
throw new RuntimeException("Unable to create ZooKeeper client config file " + clientConfigFile.get());
+ } catch (IOException e) {
+ throw new UncheckedIOException(e);
}
} else {
return new ZKClientConfig();
@@ -406,9 +398,4 @@ public class Curator implements VespaCurator, AutoCloseable {
*/
public int zooKeeperEnsembleCount() { return connectionSpec.ensembleSize(); }
- private static Optional<String> getEnvironmentVariable(String variableName) {
- return Optional.ofNullable(System.getenv().get(variableName))
- .filter(var -> !var.isEmpty());
- }
-
}
diff --git a/zkfacade/src/main/java/org/apache/zookeeper/client/package-info.java b/zkfacade/src/main/java/org/apache/zookeeper/client/package-info.java
new file mode 100644
index 00000000000..e8c8623647a
--- /dev/null
+++ b/zkfacade/src/main/java/org/apache/zookeeper/client/package-info.java
@@ -0,0 +1,10 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * Required for export of {@link org.apache.zookeeper.client.ZKClientConfig}.
+ *
+ * @author bjorncs
+ */
+@ExportPackage
+package org.apache.zookeeper.client;
+
+import com.yahoo.osgi.annotation.ExportPackage; \ No newline at end of file
diff --git a/zkfacade/src/main/java/org/apache/zookeeper/common/package-info.java b/zkfacade/src/main/java/org/apache/zookeeper/common/package-info.java
new file mode 100644
index 00000000000..3da12af57ec
--- /dev/null
+++ b/zkfacade/src/main/java/org/apache/zookeeper/common/package-info.java
@@ -0,0 +1,10 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * Required for export of {@link org.apache.zookeeper.client.ZKClientConfig} (which inherits from {@link org.apache.zookeeper.common.ZKConfig}).
+ *
+ * @author bjorncs
+ */
+@ExportPackage
+package org.apache.zookeeper.common;
+
+import com.yahoo.osgi.annotation.ExportPackage; \ No newline at end of file
diff --git a/zkfacade/src/main/java/org/apache/zookeeper/server/quorum/package-info.java b/zkfacade/src/main/java/org/apache/zookeeper/server/quorum/package-info.java
new file mode 100644
index 00000000000..833193c52bb
--- /dev/null
+++ b/zkfacade/src/main/java/org/apache/zookeeper/server/quorum/package-info.java
@@ -0,0 +1,10 @@
+// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+/**
+ * Required for export of {@link org.apache.zookeeper.client.ZKClientConfig} (which inherits from {@link org.apache.zookeeper.common.ZKConfig}).
+ *
+ * @author bjorncs
+ */
+@ExportPackage
+package org.apache.zookeeper.server.quorum;
+
+import com.yahoo.osgi.annotation.ExportPackage; \ No newline at end of file