diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-12-16 06:45:28 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-16 06:45:28 +0100 |
commit | c22af942effa64d34e59b8514c95cfa1335a1e72 (patch) | |
tree | 6470dd43ff5a1896476aa29d891eb308793dc733 /clustercontroller-apps | |
parent | cc8dae8c056eebad8297e18e8b97de9f3aee99a0 (diff) |
Revert " Stop depending on ZooKeeperProvider, take 2"
Diffstat (limited to 'clustercontroller-apps')
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 { +} |