aboutsummaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2023-03-01 13:37:56 +0100
committerGitHub <noreply@github.com>2023-03-01 13:37:56 +0100
commit7cea54e06359f16427c828b813dee53d6281a42f (patch)
treef706fa9c185652ec35c5c7d983926e425a64585d /configserver
parent0cd4987fe7c9ff09d49b0020c52efd0cd5aee375 (diff)
parent3460fa35f934f5bd37436b31396c01d26cff4de0 (diff)
Merge pull request #26246 from vespa-engine/bratseth/cluster-info
Pass ClusterInfo
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackage.java9
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java2
3 files changed, 12 insertions, 2 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
index ffafbb8827e..06c3aa5330e 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
@@ -270,8 +270,7 @@ public class SessionPreparer {
// Validate after doing our own preprocessing on these two files
ApplicationMetaData meta = applicationPackage.getMetaData();
InstanceName instance = meta.getApplicationId().instance();
- Tags tags = applicationPackage.getDeployment().map(new DeploymentSpecXmlReader(false)::read)
- .flatMap(spec -> spec.instance(instance))
+ Tags tags = applicationPackage.getDeploymentSpec().instance(instance)
.map(DeploymentInstanceSpec::tags)
.orElse(Tags.empty());
if (servicesXml.exists()) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackage.java b/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackage.java
index fbf14fbdb8c..6d6901136a6 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackage.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackage.java
@@ -6,6 +6,7 @@ import com.yahoo.component.Version;
import com.yahoo.config.application.api.ApplicationFile;
import com.yahoo.config.application.api.ApplicationMetaData;
import com.yahoo.config.application.api.ComponentInfo;
+import com.yahoo.config.application.api.DeploymentSpec;
import com.yahoo.config.application.api.FileRegistry;
import com.yahoo.config.application.api.UnparsedConfigDefinition;
import com.yahoo.config.codegen.DefParser;
@@ -55,6 +56,8 @@ public class ZKApplicationPackage extends AbstractApplicationPackage {
public static final String allocatedHostsNode = "allocatedHosts";
private final ApplicationMetaData metaData;
+ private DeploymentSpec deploymentSpec = null;
+
public ZKApplicationPackage(AddFileInterface fileManager, Curator curator, Path sessionPath, int maxNodeSize) {
verifyAppPath(curator, sessionPath);
zkApplication = new ZKApplication(curator, sessionPath, maxNodeSize);
@@ -73,6 +76,12 @@ public class ZKApplicationPackage extends AbstractApplicationPackage {
return Optional.of(readAllocatedHosts());
}
+ @Override
+ public DeploymentSpec getDeploymentSpec() {
+ if (deploymentSpec != null) return deploymentSpec;
+ return deploymentSpec = parseDeploymentSpec(false);
+ }
+
/**
* Reads allocated hosts at the given node.
*
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java
index 8f11e171ebe..f3a2c42852f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/zookeeper/ZKApplicationPackageTest.java
@@ -101,7 +101,9 @@ public class ZKApplicationPackageTest {
assertEquals("6.0.1", readInfo.getHosts().iterator().next().version().get().toString());
assertEquals(dockerImage, readInfo.getHosts().iterator().next().dockerImageRepo().get().asString());
assertTrue(zkApp.getDeployment().isPresent());
+ assertFalse(zkApp.getDeploymentSpec().isEmpty());
assertEquals("mydisc", DeploymentSpec.fromXml(zkApp.getDeployment().get()).requireInstance("default").globalServiceId().get());
+ assertEquals("mydisc", zkApp.getDeploymentSpec().requireInstance("default").globalServiceId().get());
}
private void feed(com.yahoo.vespa.curator.Curator zk, File dirToFeed) throws IOException {