summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/model/api/Model.java5
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ModelStub.java8
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java5
4 files changed, 20 insertions, 4 deletions
diff --git a/config-model-api/src/main/java/com/yahoo/config/model/api/Model.java b/config-model-api/src/main/java/com/yahoo/config/model/api/Model.java
index cc17cae337c..97ad67c5279 100644
--- a/config-model-api/src/main/java/com/yahoo/config/model/api/Model.java
+++ b/config-model-api/src/main/java/com/yahoo/config/model/api/Model.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.config.model.api;
+import com.yahoo.config.FileReference;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.ConfigPayload;
@@ -47,6 +48,10 @@ public interface Model {
*/
void distributeFiles(FileDistribution fileDistribution);
+ /**
+ * The set of files that should be distributed to the hosts in this model.
+ */
+ Set<FileReference> fileReferences();
/**
* Gets the allocated hosts for this model.
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
index 868f092fc01..73fb532cfb4 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java
@@ -5,6 +5,7 @@ import com.yahoo.config.ConfigBuilder;
import com.yahoo.config.ConfigInstance;
import com.yahoo.config.ConfigInstance.Builder;
import com.yahoo.config.ConfigurationRuntimeException;
+import com.yahoo.config.FileReference;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.application.api.ValidationId;
@@ -204,6 +205,11 @@ public final class VespaModel extends AbstractConfigProducerRoot implements Seri
return fileDistributor;
}
+ @Override
+ public Set<FileReference> fileReferences() {
+ return fileDistributor.allFilesToSend();
+ }
+
/** Returns this models Vespa instance */
public ApplicationConfigProducerRoot getVespa() { return root; }
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelStub.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelStub.java
index 2ccce9727a3..8b515ff837b 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ModelStub.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ModelStub.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;
+import com.yahoo.config.FileReference;
import com.yahoo.config.model.api.FileDistribution;
import com.yahoo.config.model.api.HostInfo;
import com.yahoo.config.model.api.Model;
@@ -10,7 +11,7 @@ import com.yahoo.vespa.config.ConfigPayload;
import com.yahoo.vespa.config.buildergen.ConfigDefinition;
import java.util.Collection;
-import java.util.Optional;
+import java.util.HashSet;
import java.util.Set;
/**
@@ -39,9 +40,10 @@ public class ModelStub implements Model {
}
@Override
- public void distributeFiles(FileDistribution fileDistribution) {
+ public void distributeFiles(FileDistribution fileDistribution) { }
- }
+ @Override
+ public Set<FileReference> fileReferences() { return new HashSet<>(); }
@Override
public AllocatedHosts allocatedHosts() {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java b/configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java
index 91b21ad83d6..65727a8b989 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/application/MockModel.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.application;
+import com.yahoo.config.FileReference;
import com.yahoo.config.model.api.FileDistribution;
import com.yahoo.config.model.api.HostInfo;
import com.yahoo.config.model.api.Model;
@@ -20,7 +21,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
// Model with two services, one that does not have a state port
@@ -109,6 +109,9 @@ class MockModel implements Model {
}
@Override
+ public Set<FileReference> fileReferences() { return new HashSet<>(); }
+
+ @Override
public AllocatedHosts allocatedHosts() {
throw new UnsupportedOperationException();
}