diff options
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(); } |