summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java8
-rw-r--r--vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java5
2 files changed, 12 insertions, 1 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java
index 454b98ddc05..9374d68a6ac 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/RemoteSession.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.session;
+import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.provision.*;
import com.yahoo.lang.SettableOptional;
import com.yahoo.vespa.config.server.*;
@@ -54,10 +55,15 @@ public class RemoteSession extends Session {
}
private ApplicationSet loadApplication() {
+ ApplicationPackage applicationPackage = zooKeeperClient.loadApplicationPackage();
+
+ // Read hosts allocated on the config server instance which created this
+ Optional<AllocatedHosts> allocatedHosts = applicationPackage.getAllocatedHosts();
+
return ApplicationSet.fromList(applicationLoader.buildModels(zooKeeperClient.readApplicationId(),
zooKeeperClient.readVespaVersion(),
zooKeeperClient.loadApplicationPackage(),
- new SettableOptional<>(),
+ new SettableOptional<>(allocatedHosts),
clock.instant()));
}
diff --git a/vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java b/vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java
index db5dd76c124..e83a6c3f308 100644
--- a/vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java
+++ b/vespajlib/src/main/java/com/yahoo/lang/SettableOptional.java
@@ -19,6 +19,11 @@ public final class SettableOptional<T> {
/** Creates a new settable optional with the given value */
public SettableOptional(T value) { this.value = value; }
+ /** Creates a new settable optional with the given value, or an empty */
+ public SettableOptional(Optional<T> value) {
+ this.value = value.isPresent() ? value.get() : null;
+ }
+
public boolean isPresent() {
return value != null;
}