From 7ac8f3b0f6cd3ff3e6556e69cc5aa97aa9ae76b9 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Thu, 19 Apr 2018 15:31:52 +0200 Subject: Load the minimal set of models needed in dev --- .../provisioning/NodeRepositoryProvisioner.java | 3 ++- .../provision/provisioning/ProvisioningTest.java | 25 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) (limited to 'node-repository') diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java index 304c867a886..3fa70b3242f 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java @@ -123,7 +123,8 @@ public class NodeRepositoryProvisioner implements Provisioner { log.log(LogLevel.DEBUG, () -> "Prepared node " + node.hostname() + " - " + node.flavor()); hosts.add(new HostSpec(node.hostname(), node.allocation().orElseThrow(IllegalStateException::new).membership(), - node.flavor())); + node.flavor(), + node.status().vespaVersion())); } return hosts; } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java index e00f058efaa..2ffe23cea07 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java @@ -139,6 +139,31 @@ public class ProvisioningTest { tester.assertRestartCount(application1, allFilter, hostFilter, clusterTypeFilter, clusterIdFilter); } + @Test + public void nodeVersionIsReturnedIfSet() { + ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.dev, RegionName.from("us-east"))); + + ApplicationId application1 = tester.makeApplicationId(); + + tester.makeReadyNodes(4, "default"); + + // deploy + SystemState state1 = prepare(application1, 1, 1, 1, 1, "default", tester); + tester.activate(application1, state1.allHosts); + + HostSpec host1 = state1.container0.iterator().next(); + assertFalse(host1.version().isPresent()); + Node node1 = tester.nodeRepository().getNode(host1.hostname()).get(); + tester.nodeRepository().write(node1.with(node1.status().withVespaVersion(Version.fromString("1.2.3")))); + + // redeploy + SystemState state2 = prepare(application1, 1, 1, 1, 1, "default", tester); + tester.activate(application1, state2.allHosts); + + host1 = state2.container0.iterator().next(); + assertEquals(Version.fromString("1.2.3"), host1.version().get()); + } + @Test public void application_deployment_variable_application_size() { ProvisioningTester tester = new ProvisioningTester(new Zone(Environment.prod, RegionName.from("us-east"))); -- cgit v1.2.3