diff options
Diffstat (limited to 'controller-server')
-rw-r--r-- | controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java index 2ca662ccb66..03b4dd6efe3 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java @@ -144,7 +144,15 @@ public class CuratorDb { } public Lock lockProvisionState(String provisionStateId) { - return lock(lockPath(provisionStateId), Duration.ofMinutes(30)); + return lock(lockPath(provisionStateId), Duration.ofSeconds(1)); + } + + public Lock lockVespaServerPool() { + return lock(root.append("locks").append("vespaServerPoolLock"), Duration.ofSeconds(1)); + } + + public Lock lockOpenStackServerPool() { + return lock(root.append("locks").append("openStackServerPoolLock"), Duration.ofSeconds(1)); } // -------------- Read and write -------------------------------------------------- @@ -229,17 +237,33 @@ public class CuratorDb { } public Optional<byte[]> readProvisionState(String provisionId) { - return curator.getData(provisionStatePath().append(provisionId)); + return curator.getData(provisionStatePath(provisionId)); } public void writeProvisionState(String provisionId, byte[] data) { - curator.set(provisionStatePath().append(provisionId), data); + curator.set(provisionStatePath(provisionId), data); } public List<String> readProvisionStateIds() { return curator.getChildren(provisionStatePath()); } + public Optional<byte[]> readVespaServerPool() { + return curator.getData(vespaServerPoolPath()); + } + + public void writeVespaServerPool(byte[] data) { + curator.set(vespaServerPoolPath(), data); + } + + public Optional<byte[]> readOpenStackServerPool() { + return curator.getData(openStackServerPoolPath()); + } + + public void writeOpenStackServerPool(byte[] data) { + curator.set(openStackServerPoolPath(), data); + } + // -------------- Paths -------------------------------------------------- private Path systemVersionPath() { @@ -290,4 +314,12 @@ public class CuratorDb { private Path provisionStatePath(String provisionId) { return provisionStatePath().append(provisionId); } + + private Path vespaServerPoolPath() { + return root.append("vespaServerPool"); + } + + private Path openStackServerPoolPath() { + return root.append("openStackServerPool"); + } } |