diff options
author | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-11-16 10:54:39 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@yahoo-inc.com> | 2016-11-16 10:54:39 +0100 |
commit | 2d8eab47947464ba02cf0ef799a7884e4ff73903 (patch) | |
tree | 5692ea287d7a3bc7c447ec837dc4c21affc1ce50 | |
parent | 742d75513b06c5551ec872bf5d8575af763a03b2 (diff) |
Don't reboot test and staging nodes
Test and staging nodes are recycled very often and rebooting each time
cuts the test throughput in half.
18 files changed, 53 insertions, 33 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java index eee0eae4e83..da86bbc62de 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java @@ -6,6 +6,7 @@ import com.yahoo.collections.ListMap; import com.yahoo.component.AbstractComponent; import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.NodeType; +import com.yahoo.config.provision.Zone; import com.yahoo.transaction.Mutex; import com.yahoo.transaction.NestedTransaction; import com.yahoo.vespa.curator.Curator; @@ -62,16 +63,16 @@ public class NodeRepository extends AbstractComponent { * This will use the system time to make time-sensitive decisions */ @Inject - public NodeRepository(NodeFlavors flavors, Curator curator) { - this(flavors, curator, Clock.systemUTC()); + public NodeRepository(NodeFlavors flavors, Curator curator, Zone zone) { + this(flavors, curator, Clock.systemUTC(), zone); } /** * Creates a node repository form a zookeeper provider and a clock instance * which will be used for time-sensitive decisions. */ - public NodeRepository(NodeFlavors flavors, Curator curator, Clock clock) { - this.zkClient = new CuratorDatabaseClient(flavors, curator, clock); + public NodeRepository(NodeFlavors flavors, Curator curator, Clock clock, Zone zone) { + this.zkClient = new CuratorDatabaseClient(flavors, curator, clock, zone); // read and write all nodes to make sure they are stored in the latest version of the serialized format for (Node.State state : Node.State.values()) diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClient.java index 422eee820db..f3fb49b0024 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClient.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClient.java @@ -58,7 +58,7 @@ public class PopulateClient { this.hostMapping = XmlUtils.getHostMapping(XmlUtils.parseXml(hostsXmlFilename)); this.flavorSpec = flavorSpec; this.dryRun = dryRun; - this.zkClient = new CuratorDatabaseClient(nodeFlavors, curator, creationClock); + this.zkClient = new CuratorDatabaseClient(nodeFlavors, curator, creationClock, Zone.defaultZone()); ensureFlavorIsDefinedForEveryCluster(); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java index f17eda94ead..77809de36ce 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java @@ -4,6 +4,8 @@ package com.yahoo.vespa.hosted.provision.persistence; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.joda.JodaModule; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.Environment; +import com.yahoo.config.provision.Zone; import com.yahoo.log.LogLevel; import com.yahoo.path.Path; import com.yahoo.transaction.NestedTransaction; @@ -46,9 +48,12 @@ public class CuratorDatabaseClient { private final ObjectMapper jsonMapper = new ObjectMapper(); private final Clock clock; + + private final Zone zone; - public CuratorDatabaseClient(NodeFlavors flavors, Curator curator, Clock clock) { + public CuratorDatabaseClient(NodeFlavors flavors, Curator curator, Clock clock, Zone zone) { this.nodeSerializer = new NodeSerializer(flavors); + this.zone = zone; jsonMapper.registerModule(new JodaModule()); this.curatorDatabase = new CuratorDatabase(curator, root, /* useCache: */ false); this.clock = clock; @@ -164,12 +169,19 @@ public class CuratorDatabaseClient { private Status newNodeStatus(Node node, Node.State toState) { if (node.state() != Node.State.failed && toState == Node.State.failed) return node.status().withIncreasedFailCount(); if (node.state() == Node.State.failed && toState == Node.State.active) return node.status().withDecreasedFailCount(); // fail undo - // Increase reboot generation when node is moved to dirty. This is done to reset the state on the node - // (e.g. get rid of lingering processes). - if (node.state() != Node.State.dirty && toState == Node.State.dirty) return node.status().withReboot(node.status().reboot().withIncreasedWanted()); + // Increase reboot generation when node is moved to dirty unless qick reuse is prioritized. + // This gets rid of lingering processes, updates OS packages if necessary and tests that reboot succeeds. + if (node.state() != Node.State.dirty && toState == Node.State.dirty && !needsFastNodeReuse(zone)) + return node.status().withReboot(node.status().reboot().withIncreasedWanted()); + return node.status(); } + /** In automated test environments, nodes need to be reused quickly to achieve fast test turnaronud time */ + private boolean needsFastNodeReuse(Zone zone) { + return zone.environment() == Environment.staging || zone.environment() == Environment.test; + } + private History newNodeHistory(Node node, Node.State toState) { History history = node.history(); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeStateSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodeStateSerializer.java index fa74605b32f..a9493166208 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeStateSerializer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodeStateSerializer.java @@ -1,5 +1,5 @@ // Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.hosted.provision.restapi; +package com.yahoo.vespa.hosted.provision.restapi.v2; import com.yahoo.vespa.hosted.provision.Node; diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java index c245230bfa3..c275b641baf 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodesResponse.java @@ -14,7 +14,6 @@ import com.yahoo.vespa.hosted.provision.NodeRepository; import com.yahoo.vespa.hosted.provision.node.History; import com.yahoo.vespa.hosted.provision.node.Status; import com.yahoo.vespa.hosted.provision.node.filter.NodeFilter; -import com.yahoo.vespa.hosted.provision.restapi.NodeStateSerializer; import java.io.IOException; import java.io.OutputStream; diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java index 5e1fd2357cb..707d9207d8d 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/MockNodeRepository.java @@ -39,7 +39,7 @@ public class MockNodeRepository extends NodeRepository { * @param flavors flavors to have in node repo */ public MockNodeRepository(NodeFlavors flavors) throws Exception { - super(flavors, new MockCurator(), Clock.fixed(Instant.ofEpochMilli(123), ZoneId.of("Z"))); + super(flavors, new MockCurator(), Clock.fixed(Instant.ofEpochMilli(123), ZoneId.of("Z")), Zone.defaultZone()); this.flavors = flavors; populate(); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java index 46bf29d887f..475cd047960 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTester.java @@ -1,6 +1,7 @@ package com.yahoo.vespa.hosted.provision; import com.yahoo.config.provision.NodeType; +import com.yahoo.config.provision.Zone; import com.yahoo.test.ManualClock; import com.yahoo.vespa.config.nodes.NodeRepositoryConfig; import com.yahoo.vespa.curator.mock.MockCurator; @@ -29,7 +30,7 @@ public class NodeRepositoryTester { clock = new ManualClock(); curator = new MockCurator(); curator.setConnectionSpec("server1:1234,server2:5678"); - nodeRepository = new NodeRepository(nodeFlavors, curator, clock); + nodeRepository = new NodeRepository(nodeFlavors, curator, clock, Zone.defaultZone()); } public NodeRepository nodeRepository() { return nodeRepository; } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClientTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClientTest.java index d19648d8d30..22eaa7c00b4 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClientTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/assimilate/PopulateClientTest.java @@ -6,6 +6,7 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.TenantName; +import com.yahoo.config.provision.Zone; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; @@ -54,9 +55,11 @@ public class PopulateClientTest { @Test public void testCorrectDataIsWrittenToZooKeeper() { Curator curator = new MockCurator(); - CuratorDatabaseClient curatorDatabaseClient = new CuratorDatabaseClient(flavors, curator, Clock.systemUTC()); + CuratorDatabaseClient curatorDatabaseClient = new CuratorDatabaseClient(flavors, curator, + Clock.systemUTC(), Zone.defaultZone()); - PopulateClient populateClient = new PopulateClient(curator, flavors, tenantId, applicationId, instanceId, servicesXmlFilename, hostsXmlFilename, flavorSpec, false); + PopulateClient populateClient = new PopulateClient(curator, flavors, tenantId, applicationId, instanceId, + servicesXmlFilename, hostsXmlFilename, flavorSpec, false); populateClient.populate(PopulateClient.CONTAINER_CLUSTER_TYPE); populateClient.populate(PopulateClient.CONTENT_CLUSTER_TYPE); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainerTest.java index bc902a4d910..8da137d4c86 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ApplicationMaintainerTest.java @@ -46,7 +46,7 @@ public class ApplicationMaintainerTest { ManualClock clock = new ManualClock(); Zone zone = new Zone(Environment.prod, RegionName.from("us-east")); NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default"); - NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, clock); + NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, clock, zone); createReadyNodes(15, nodeRepository, nodeFlavors); createHostNodes(2, nodeRepository, nodeFlavors); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java index 32f03ea042e..c691bb076c9 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java @@ -81,7 +81,7 @@ public class FailedExpirerTest { private NodeRepository failureScenarioIn(SystemName system, Environment environment) { ManualClock clock = new ManualClock(); NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default"); - NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, clock); + NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, clock, Zone.defaultZone()); NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(nodeRepository, nodeFlavors, Zone.defaultZone(), clock); List<Node> nodes = new ArrayList<>(3); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java index 4e63e7a6203..0ebcdd1b7bc 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java @@ -86,7 +86,7 @@ public class NodeFailTester { public NodeFailTester() { clock = new ManualClock(); curator = new MockCurator(); - nodeRepository = new NodeRepository(nodeFlavors, curator, clock); + nodeRepository = new NodeRepository(nodeFlavors, curator, clock, zone); provisioner = new NodeRepositoryProvisioner(nodeRepository, nodeFlavors, zone); hostLivenessTracker = new TestHostLivenessTracker(clock); orchestrator = new OrchestratorMock(); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java index c936bf038ca..e40b39e6182 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ReservationExpirerTest.java @@ -37,7 +37,7 @@ public class ReservationExpirerTest { public void ensure_reservation_times_out() throws InterruptedException { ManualClock clock = new ManualClock(); NodeFlavors flavors = FlavorConfigBuilder.createDummies("default"); - NodeRepository nodeRepository = new NodeRepository(flavors, curator, clock); + NodeRepository nodeRepository = new NodeRepository(flavors, curator, clock, Zone.defaultZone()); NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(nodeRepository, flavors, Zone.defaultZone(), clock); List<Node> nodes = new ArrayList<>(2); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java index 3b9f4469b01..9570bdda8f3 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java @@ -45,7 +45,7 @@ public class RetiredExpirerTest { ManualClock clock = new ManualClock(); Zone zone = new Zone(Environment.prod, RegionName.from("us-east")); NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default"); - NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, clock); + NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, clock, zone); NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(nodeRepository, nodeFlavors, zone); createReadyNodes(7, nodeRepository, nodeFlavors); @@ -83,7 +83,7 @@ public class RetiredExpirerTest { ManualClock clock = new ManualClock(); Zone zone = new Zone(Environment.prod, RegionName.from("us-east")); NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default"); - NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, clock); + NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, clock, zone); NodeRepositoryProvisioner provisioner = new NodeRepositoryProvisioner(nodeRepository, nodeFlavors, zone); createReadyNodes(8, nodeRepository, nodeFlavors); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/monitoring/ProvisionMetricsTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/monitoring/ProvisionMetricsTest.java index 2e6f7d1867f..2c1c1a6ca72 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/monitoring/ProvisionMetricsTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/monitoring/ProvisionMetricsTest.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.hosted.provision.monitoring; import com.yahoo.config.provision.NodeType; +import com.yahoo.config.provision.Zone; import com.yahoo.jdisc.Metric; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; @@ -25,15 +26,15 @@ public class ProvisionMetricsTest { @Test(timeout = 10_000L) public void test_registered_metric() throws InterruptedException { - final NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default"); - final Curator curator = new MockCurator(); - final NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator); - final Node node = nodeRepository.createNode("openStackId", "hostname", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), NodeType.tenant); + NodeFlavors nodeFlavors = FlavorConfigBuilder.createDummies("default"); + Curator curator = new MockCurator(); + NodeRepository nodeRepository = new NodeRepository(nodeFlavors, curator, Zone.defaultZone()); + Node node = nodeRepository.createNode("openStackId", "hostname", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), NodeType.tenant); nodeRepository.addNodes(Collections.singletonList(node)); - final Node hostNode = nodeRepository.createNode("openStackId2", "parent", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), NodeType.host); + Node hostNode = nodeRepository.createNode("openStackId2", "parent", Optional.empty(), nodeFlavors.getFlavorOrThrow("default"), NodeType.host); nodeRepository.addNodes(Collections.singletonList(hostNode)); - final Map<String, Number> expectedMetrics = new HashMap<>(); + Map<String, Number> expectedMetrics = new HashMap<>(); expectedMetrics.put("hostedVespa.provisionedHosts", 1); expectedMetrics.put("hostedVespa.parkedHosts", 0); expectedMetrics.put("hostedVespa.readyHosts", 0); @@ -43,8 +44,8 @@ public class ProvisionMetricsTest { expectedMetrics.put("hostedVespa.dirtyHosts", 0); expectedMetrics.put("hostedVespa.failedHosts", 0); - final TestMetric metric = new TestMetric(expectedMetrics.size()); - final ProvisionMetrics provisionMetrics = new ProvisionMetrics(metric, nodeRepository); + TestMetric metric = new TestMetric(expectedMetrics.size()); + ProvisionMetrics provisionMetrics = new ProvisionMetrics(metric, nodeRepository); metric.latch.await(); assertEquals(expectedMetrics, metric.values); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClientTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClientTest.java index 0763d70f419..6ce40047352 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClientTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClientTest.java @@ -6,6 +6,7 @@ import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.InstanceName; import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.TenantName; +import com.yahoo.config.provision.Zone; import com.yahoo.vespa.curator.Curator; import com.yahoo.vespa.curator.mock.MockCurator; import com.yahoo.vespa.hosted.provision.Node; @@ -22,7 +23,8 @@ import static org.junit.Assert.assertEquals; public class CuratorDatabaseClientTest { private Curator curator = new MockCurator(); - private CuratorDatabaseClient zkClient = new CuratorDatabaseClient(FlavorConfigBuilder.createDummies("default"), curator, Clock.systemUTC()); + private CuratorDatabaseClient zkClient = new CuratorDatabaseClient(FlavorConfigBuilder.createDummies("default"), + curator, Clock.systemUTC(), Zone.defaultZone()); @Test public void ensure_can_read_stored_host_information() throws Exception { diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java index b8e812afdbd..02389c229b3 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java @@ -61,7 +61,7 @@ public class ProvisioningTester implements AutoCloseable { try { nodeFlavors = new NodeFlavors(createConfig()); clock = new ManualClock(); - nodeRepository = new NodeRepository(nodeFlavors, curator, clock); + nodeRepository = new NodeRepository(nodeFlavors, curator, clock, zone); provisioner = new NodeRepositoryProvisioner(nodeRepository, nodeFlavors, zone, clock); capacityPolicies = new CapacityPolicies(zone, nodeFlavors); provisionLogger = new NullProvisionLogger(); @@ -75,7 +75,7 @@ public class ProvisioningTester implements AutoCloseable { try { nodeFlavors = new NodeFlavors(config); clock = new ManualClock(); - nodeRepository = new NodeRepository(nodeFlavors, curator, clock); + nodeRepository = new NodeRepository(nodeFlavors, curator, clock, zone); provisioner = new NodeRepositoryProvisioner(nodeRepository, nodeFlavors, zone, clock); capacityPolicies = new CapacityPolicies(zone, nodeFlavors); provisionLogger = new NullProvisionLogger(); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodeStateSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodeStateSerializerTest.java index 5987b295dbe..c4f96b0709a 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodeStateSerializerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/NodeStateSerializerTest.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.hosted.provision.restapi; import com.yahoo.vespa.hosted.provision.Node; +import com.yahoo.vespa.hosted.provision.restapi.v2.NodeStateSerializer; import org.junit.Test; import java.util.HashSet; diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v1/RestApiTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v1/RestApiTest.java index 28b93544238..5374cd52e0f 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v1/RestApiTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v1/RestApiTest.java @@ -77,7 +77,7 @@ public class RestApiTest { private static final NodeFlavors flavors = FlavorConfigBuilder.createDummies("default"); public MockNodeRepository() throws Exception { - super(flavors, new MockCurator(), Clock.systemUTC()); + super(flavors, new MockCurator(), Clock.systemUTC(), Zone.defaultZone()); populate(); } |