summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-11-04 14:20:11 +0100
committerHarald Musum <musum@yahooinc.com>2022-11-04 14:20:11 +0100
commit9626751bc6e74104c9791e07a0e666b7c3a9daa7 (patch)
tree1528773d644310b28dedf028f7852093b3f64b04
parent419f93800baa0fdd6e9260f8a9485bb0f2322f0a (diff)
Use var/zookeeper/conf for zookeeper server and client config
Avoid using read-only conf/ directory for config files written when starting zookeeper
-rw-r--r--configdefinitions/src/vespa/zookeeper-server.def2
-rw-r--r--configserver/CMakeLists.txt2
-rwxr-xr-xconfigserver/src/main/sh/start-configserver4
-rw-r--r--dist/vespa.spec2
-rw-r--r--zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java2
-rw-r--r--zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java7
6 files changed, 7 insertions, 12 deletions
diff --git a/configdefinitions/src/vespa/zookeeper-server.def b/configdefinitions/src/vespa/zookeeper-server.def
index 6b05e361307..979d93e785b 100644
--- a/configdefinitions/src/vespa/zookeeper-server.def
+++ b/configdefinitions/src/vespa/zookeeper-server.def
@@ -2,7 +2,7 @@
namespace=cloud.config
# Vespa home is prepended if the file is relative
-zooKeeperConfigFile string default="conf/zookeeper/zookeeper.cfg"
+zooKeeperConfigFile string default="var/zookeeper/conf/zookeeper.cfg"
# For more info about the values below, see ZooKeeper documentation
diff --git a/configserver/CMakeLists.txt b/configserver/CMakeLists.txt
index c2752da57b4..f189dc4f2c1 100644
--- a/configserver/CMakeLists.txt
+++ b/configserver/CMakeLists.txt
@@ -23,6 +23,6 @@ install_symlink(lib/jars/application-model-jar-with-dependencies.jar conf/config
install_symlink(lib/jars/node-repository-jar-with-dependencies.jar conf/configserver-app/components/node-repository.jar)
install_symlink(lib/jars/zookeeper-server-jar-with-dependencies.jar conf/configserver-app/components/zookeeper-server.jar)
install_symlink(conf/configserver-app/components lib/jars/config-models)
-install(DIRECTORY DESTINATION conf/zookeeper)
install(DIRECTORY DESTINATION var/zookeeper)
+install(DIRECTORY DESTINATION var/zookeeper/conf)
install(DIRECTORY DESTINATION logs/vespa/configserver)
diff --git a/configserver/src/main/sh/start-configserver b/configserver/src/main/sh/start-configserver
index a16a93741e0..8f515a4c309 100755
--- a/configserver/src/main/sh/start-configserver
+++ b/configserver/src/main/sh/start-configserver
@@ -99,9 +99,9 @@ fixddir () {
chmod 755 $1
}
-fixddir ${VESPA_HOME}/conf/zookeeper
-fixfile ${VESPA_HOME}/conf/zookeeper/zookeeper.cfg
fixddir ${VESPA_HOME}/var/zookeeper
+fixddir ${VESPA_HOME}/var/zookeeper/conf
+fixfile ${VESPA_HOME}/var/zookeeper/conf/zookeeper.cfg
fixfile ${VESPA_HOME}/var/zookeeper/myid
fixddir ${VESPA_HOME}/var/zookeeper/version-2
diff --git a/dist/vespa.spec b/dist/vespa.spec
index b8498bed210..437daf3f4e2 100644
--- a/dist/vespa.spec
+++ b/dist/vespa.spec
@@ -636,7 +636,7 @@ fi
%dir %{_prefix}/conf/logd
%dir %attr(-,%{_vespa_user},%{_vespa_group}) %{_prefix}/conf/telegraf
%dir %{_prefix}/conf/vespa
-%dir %attr(-,%{_vespa_user},%{_vespa_group}) %{_prefix}/conf/zookeeper
+%dir %attr(-,%{_vespa_user},%{_vespa_group}) %{_prefix}/var/zookeeper/conf
%dir %{_prefix}/etc
%{_prefix}/etc/systemd
%{_prefix}/etc/vespa
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 e0b7969749f..66c03505a53 100644
--- a/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
+++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/Curator.java
@@ -61,7 +61,7 @@ import java.util.logging.Logger;
public class Curator extends AbstractComponent implements AutoCloseable {
private static final Logger LOG = Logger.getLogger(Curator.class.getName());
- private static final File ZK_CLIENT_CONFIG_FILE = new File(Defaults.getDefaults().underVespaHome("conf/zookeeper/zookeeper-client.cfg"));
+ private static final File ZK_CLIENT_CONFIG_FILE = new File(Defaults.getDefaults().underVespaHome("var/zookeeper/conf/zookeeper-client.cfg"));
// Note that session timeout has min and max values are related to tickTime defined by server, see zookeeper-server.def
static final Duration DEFAULT_ZK_SESSION_TIMEOUT = Duration.ofSeconds(120);
diff --git a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
index 9a7a79793f3..006a7ce575d 100644
--- a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
+++ b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Configurator.java
@@ -6,8 +6,6 @@ import com.yahoo.security.tls.ConfigFileBasedTlsContext;
import com.yahoo.security.tls.MixedMode;
import com.yahoo.security.tls.TlsContext;
import com.yahoo.security.tls.TransportSecurityUtils;
-import com.yahoo.vespa.defaults.Defaults;
-
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Path;
@@ -161,10 +159,7 @@ public class Configurator {
Path makeAbsolutePath(String filename) {
Path path = Paths.get(filename);
- if (path.isAbsolute())
- return path;
- else
- return Paths.get(getDefaults().underVespaHome(filename));
+ return path.isAbsolute() ? path : Paths.get(getDefaults().underVespaHome(filename));
}
private interface TlsConfig {