summaryrefslogtreecommitdiffstats
path: root/clustercontroller-apps
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-12-16 06:45:28 +0100
committerGitHub <noreply@github.com>2020-12-16 06:45:28 +0100
commitc22af942effa64d34e59b8514c95cfa1335a1e72 (patch)
tree6470dd43ff5a1896476aa29d891eb308793dc733 /clustercontroller-apps
parentcc8dae8c056eebad8297e18e8b97de9f3aee99a0 (diff)
Revert " Stop depending on ZooKeeperProvider, take 2"
Diffstat (limited to 'clustercontroller-apps')
-rw-r--r--clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java14
-rw-r--r--clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/DummyZooKeeperProvider.java10
-rw-r--r--clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java16
-rw-r--r--clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ZooKeeperProvider.java10
4 files changed, 48 insertions, 2 deletions
diff --git a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java
index 49538e476d1..9020765f777 100644
--- a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java
+++ b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ClusterController.java
@@ -1,4 +1,4 @@
-// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.clustercontroller.apps.clustercontroller;
import com.google.inject.Inject;
@@ -29,11 +29,21 @@ public class ClusterController extends AbstractComponent
private final Map<String, FleetController> controllers = new TreeMap<>();
private final Map<String, StatusHandler.ContainerStatusPageServer> status = new TreeMap<>();
+ /**
+ * Dependency injection constructor for controller. {@link ZooKeeperProvider} argument given
+ * to ensure that zookeeper has started before we start polling it.
+ */
+ @SuppressWarnings("unused")
@Inject
- public ClusterController() {
+ public ClusterController(ZooKeeperProvider zooKeeperProvider) {
+ this();
+ }
+
+ ClusterController() {
metricWrapper = new JDiscMetricWrapper(null);
}
+
public void setOptions(FleetControllerOptions options, Metric metricImpl) throws Exception {
metricWrapper.updateMetricImplementation(metricImpl);
verifyThatZooKeeperWorks(options);
diff --git a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/DummyZooKeeperProvider.java b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/DummyZooKeeperProvider.java
new file mode 100644
index 00000000000..f961297643e
--- /dev/null
+++ b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/DummyZooKeeperProvider.java
@@ -0,0 +1,10 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.clustercontroller.apps.clustercontroller;
+
+/**
+ * A dummy zookeeper provider when we do not run our own zookeeper instance.
+ *
+ * @author Ulf Lilleengen
+ */
+public class DummyZooKeeperProvider implements ZooKeeperProvider {
+}
diff --git a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java
new file mode 100644
index 00000000000..baad012a234
--- /dev/null
+++ b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/StandaloneZooKeeperProvider.java
@@ -0,0 +1,16 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.clustercontroller.apps.clustercontroller;
+
+import com.yahoo.vespa.zookeeper.VespaZooKeeperServer;
+
+/**
+ * ZooKeeper provider that ensures we are running our own instance of zookeeper.
+ *
+ * @author Ulf Lilleengen
+ */
+public class StandaloneZooKeeperProvider implements ZooKeeperProvider {
+
+ public StandaloneZooKeeperProvider(VespaZooKeeperServer server) {
+ }
+
+}
diff --git a/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ZooKeeperProvider.java b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ZooKeeperProvider.java
new file mode 100644
index 00000000000..bb18bcc65d6
--- /dev/null
+++ b/clustercontroller-apps/src/main/java/com/yahoo/vespa/clustercontroller/apps/clustercontroller/ZooKeeperProvider.java
@@ -0,0 +1,10 @@
+// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.clustercontroller.apps.clustercontroller;
+
+/**
+ * Abstraction we can depend on providing us with a zookeeper server being up.
+ *
+ * @author Ulf Lilleengen
+ */
+public interface ZooKeeperProvider {
+}