diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-04-13 15:32:33 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-04-19 09:20:39 +0200 |
commit | 71bb691f00dfcc3a3e5211ca4ba47b12dadcf25f (patch) | |
tree | e07713228ff9039bc3694d0cdf17af0d153f8277 | |
parent | dd38333faaeaeeccaef5e08fbf40be6feb2a67b4 (diff) |
Keep a chronological log of events per node
43 files changed, 1002 insertions, 40 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java index 3db68a27234..191c6d947ac 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/Node.java @@ -353,13 +353,16 @@ public final class Node implements Nodelike { } /** Returns a copy of this with any history record saying it has been detected down removed */ - public Node up() { - return with(history.without(History.Event.Type.down)); + public Node upAt(Instant instant, Agent agent) { + return with(history.with(new History.Event(History.Event.Type.up, agent, instant))); } - /** Returns whether this node has a record of being down */ + /** Returns whether this node is down, according to its recorded 'down' and 'up' events */ public boolean isDown() { - return history().event(History.Event.Type.down).isPresent(); + Optional<Instant> downAt = history().event(History.Event.Type.down).map(History.Event::at); + if (downAt.isEmpty()) return false; + + return !history().hasEventAfter(History.Event.Type.up, downAt.get()); } /** Returns a copy of this with allocation set as specified. <code>node.state</code> is *not* changed. */ diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java index 1fe29c8b162..62557b275c8 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MetricsReporter.java @@ -20,7 +20,6 @@ import com.yahoo.vespa.hosted.provision.NodeList; import com.yahoo.vespa.hosted.provision.NodeRepository; import com.yahoo.vespa.hosted.provision.node.Allocation; import com.yahoo.vespa.hosted.provision.node.ClusterId; -import com.yahoo.vespa.hosted.provision.node.History; import com.yahoo.vespa.hosted.provision.persistence.CacheStats; import com.yahoo.vespa.service.monitor.ServiceModel; import com.yahoo.vespa.service.monitor.ServiceMonitor; @@ -248,7 +247,7 @@ public class MetricsReporter extends NodeRepositoryMaintainer { boolean down = NodeHealthTracker.allDown(services); metric.set("nodeFailerBadNode", (down ? 1 : 0), context); - boolean nodeDownInNodeRepo = node.history().event(History.Event.Type.down).isPresent(); + boolean nodeDownInNodeRepo = node.isDown(); metric.set("downInNodeRepo", (nodeDownInNodeRepo ? 1 : 0), context); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java index 3900d10a53e..237cbaedf46 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailer.java @@ -155,7 +155,7 @@ public class NodeFailer extends NodeRepositoryMaintainer { for (Node node : activeNodes) { Instant graceTimeStart = clock().instant().minus(nodeRepository().nodes().suspended(node) ? suspendedDownTimeLimit : downTimeLimit); - if (node.history().hasEventBefore(History.Event.Type.down, graceTimeStart) && !applicationSuspended(node)) { + if (node.isDown() && node.history().hasEventBefore(History.Event.Type.down, graceTimeStart) && !applicationSuspended(node)) { // Allow a grace period after node re-activation if (!node.history().hasEventAfter(History.Event.Type.activated, graceTimeStart)) failingNodes.add(new FailingNode(node, "Node has been down longer than " + downTimeLimit)); diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeHealthTracker.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeHealthTracker.java index 874ff91d8a4..b43e2ae051f 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeHealthTracker.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeHealthTracker.java @@ -96,7 +96,7 @@ public class NodeHealthTracker extends NodeRepositoryMaintainer { if (isDown) { recordAsDown(node.get(), lock); } else { - clearDownRecord(node.get(), lock); + recordAsUp(node.get(), lock); } } catch (ApplicationLockException e) { // Fine, carry on with other nodes. We'll try updating this one in the next run @@ -129,14 +129,14 @@ public class NodeHealthTracker extends NodeRepositoryMaintainer { /** Record a node as down if not already recorded */ private void recordAsDown(Node node, Mutex lock) { - if (node.history().event(History.Event.Type.down).isPresent()) return; // already down: Don't change down timestamp + if (node.isDown()) return; // already down: Don't change down timestamp nodeRepository().nodes().write(node.downAt(clock().instant(), Agent.NodeHealthTracker), lock); } /** Clear down record for node, if any */ - private void clearDownRecord(Node node, Mutex lock) { - if (node.history().event(History.Event.Type.down).isEmpty()) return; - nodeRepository().nodes().write(node.up(), lock); + private void recordAsUp(Node node, Mutex lock) { + if (!node.isDown()) return; // already up: Don't change down timestamp + nodeRepository().nodes().write(node.upAt(clock().instant(), Agent.NodeHealthTracker), lock); } } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/History.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/History.java index f1e62634235..ac804f99cd3 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/History.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/History.java @@ -5,13 +5,17 @@ import com.google.common.collect.ImmutableMap; import com.yahoo.vespa.hosted.provision.Node; import java.time.Instant; +import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; /** - * An immutable record of the last event of each type happening to this node. + * An immutable record of the last event of each type happening to this node, and a chronological log of the events. + * * Note that the history cannot be used to find the nodes current state - it will have a record of some * event happening in the past even if that event is later undone. * @@ -19,14 +23,24 @@ import java.util.stream.Collectors; */ public class History { + private static final int MAX_LOG_SIZE = 10; + private final ImmutableMap<Event.Type, Event> events; + private final List<Event> log; + private final int maxLogSize; - public History(Collection<Event> events) { - this(toImmutableMap(events)); + public History(Collection<Event> events, List<Event> log) { + this(toImmutableMap(events), log, MAX_LOG_SIZE); } - private History(ImmutableMap<Event.Type, Event> events) { + History(ImmutableMap<Event.Type, Event> events, List<Event> log, int maxLogSize) { this.events = events; + this.log = Objects.requireNonNull(log, "log must be non-null") + .stream() + .sorted(Comparator.comparing(Event::at)) + .skip(Math.max(log.size() - maxLogSize, 0)) + .collect(Collectors.toUnmodifiableList()); + this.maxLogSize = maxLogSize; } private static ImmutableMap<Event.Type, Event> toImmutableMap(Collection<Event> events) { @@ -36,7 +50,7 @@ public class History { return builder.build(); } - /** Returns this event if it is present in this history */ + /** Returns the last event of given type, if it is present in this history */ public Optional<Event> event(Event.Type type) { return Optional.ofNullable(events.get(type)); } /** Returns true if a given event is registered in this history at the given time */ @@ -60,18 +74,28 @@ public class History { .orElse(false); } + /** Returns the last event of each type in this history */ public Collection<Event> events() { return events.values(); } + /** + * Returns the events in this history, in chronological order. Compared to {@link #events()}, this holds all events + * as they occurred, up to log size limit + */ + public List<Event> log() { return log; } + /** Returns a copy of this history with the given event added */ public History with(Event event) { ImmutableMap.Builder<Event.Type, Event> builder = builderWithout(event.type()); builder.put(event.type(), event); - return new History(builder.build()); + List<Event> logCopy = new ArrayList<>(log); + logCopy.add(event); + return new History(builder.build(), logCopy, maxLogSize); } - /** Returns a copy of this history with the given event type removed (or an identical history if it was not present) */ + /** Returns a copy of this history with the given event type removed (or an identical history if it was not + * present) and the log unchanged. */ public History without(Event.Type type) { - return new History(builderWithout(type).build()); + return new History(builderWithout(type).build(), log, maxLogSize); } private ImmutableMap.Builder<Event.Type, Event> builderWithout(Event.Type type) { @@ -103,14 +127,14 @@ public class History { /** * Events can be application or node level. - * This returns a copy of this history with all application level events removed. + * This returns a copy of this history with all application level events removed and the log unchanged. */ private History withoutApplicationEvents() { - return new History(events().stream().filter(e -> ! e.type().isApplicationLevel()).collect(Collectors.toList())); + return new History(events().stream().filter(e -> ! e.type().isApplicationLevel()).collect(Collectors.toList()), log); } /** Returns the empty history */ - public static History empty() { return new History(Collections.emptyList()); } + public static History empty() { return new History(List.of(), List.of()); } @Override public String toString() { @@ -198,6 +222,19 @@ public class History { @Override public String toString() { return "'" + type + "' event at " + at + " by " + agent; } + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Event event = (Event) o; + return at.equals(event.at) && agent == event.agent && type == event.type; + } + + @Override + public int hashCode() { + return Objects.hash(at, agent, type); + } + } } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java index 4990c1e9db8..7eea56c7c4e 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializer.java @@ -42,6 +42,7 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.time.Instant; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.Optional; import java.util.Set; @@ -75,6 +76,7 @@ public class NodeSerializer { private static final String idKey = "openStackId"; private static final String parentHostnameKey = "parentHostname"; private static final String historyKey = "history"; + private static final String logKey = "log"; private static final String instanceKey = "instance"; // legacy name, TODO: change to allocation with backwards compat private static final String rebootGenerationKey = "rebootGeneration"; private static final String currentRebootGenerationKey = "currentRebootGeneration"; @@ -177,7 +179,8 @@ public class NodeSerializer { object.setBool(wantToFailKey, node.status().wantToFail()); object.setBool(wantToRebuildKey, node.status().wantToRebuild()); node.allocation().ifPresent(allocation -> toSlime(allocation, object.setObject(instanceKey))); - toSlime(node.history(), object.setArray(historyKey)); + toSlime(node.history().events(), object.setArray(historyKey)); + toSlime(node.history().log(), object.setArray(logKey)); object.setString(nodeTypeKey, toString(node.type())); node.status().osVersion().current().ifPresent(version -> object.setString(osVersionKey, version.toString())); node.status().osVersion().wanted().ifPresent(version -> object.setString(wantedOsVersionKey, version.toFullString())); @@ -218,8 +221,8 @@ public class NodeSerializer { allocation.networkPorts().ifPresent(ports -> NetworkPortsSerializer.toSlime(ports, object.setArray(networkPortsKey))); } - private void toSlime(History history, Cursor array) { - for (History.Event event : history.events()) + private void toSlime(Collection<History.Event> events, Cursor array) { + for (History.Event event : events) toSlime(event, array.addObject()); } @@ -277,7 +280,7 @@ public class NodeSerializer { statusFromSlime(object), state, allocationFromSlime(flavor.resources(), object.field(instanceKey)), - historyFromSlime(object.field(historyKey)), + historyFromSlime(object), nodeTypeFromString(object.field(nodeTypeKey).asString()), Reports.fromSlime(object.field(reportsKey)), modelNameFromSlime(object), @@ -338,14 +341,20 @@ public class NodeSerializer { InstanceName.from(object.field(instanceIdKey).asString())); } - private History historyFromSlime(Inspector array) { + private History historyFromSlime(Inspector object) { + return new History(eventsFromSlime(object.field(historyKey)), + eventsFromSlime(object.field(logKey))); + } + + private List<History.Event> eventsFromSlime(Inspector array) { + if (!array.valid()) return List.of(); List<History.Event> events = new ArrayList<>(); array.traverse((ArrayTraverser) (int i, Inspector item) -> { History.Event event = eventFromSlime(item); if (event != null) events.add(event); }); - return new History(events); + return events; } private History.Event eventFromSlime(Inspector object) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java index 922c8bc8e20..aa429522147 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java @@ -22,6 +22,7 @@ import com.yahoo.vespa.orchestrator.status.HostInfo; import com.yahoo.vespa.orchestrator.status.HostStatus; import java.net.URI; +import java.util.Collection; import java.util.Comparator; import java.util.List; import java.util.Optional; @@ -171,7 +172,8 @@ class NodesResponse extends SlimeJsonResponse { object.setBool("preferToRetire", node.status().preferToRetire()); object.setBool("wantToDeprovision", node.status().wantToDeprovision()); object.setBool("wantToRebuild", node.status().wantToRebuild()); - toSlime(node.history(), object.setArray("history")); + toSlime(node.history().events(), object.setArray("history")); + toSlime(node.history().log(), object.setArray("log")); ipAddressesToSlime(node.ipConfig().primary(), object.setArray("ipAddresses")); ipAddressesToSlime(node.ipConfig().pool().ipSet(), object.setArray("additionalIpAddresses")); addressesToSlime(node.ipConfig().pool().getAddressList(), object); @@ -196,8 +198,8 @@ class NodesResponse extends SlimeJsonResponse { object.setBool("retired", membership.retired()); } - private void toSlime(History history, Cursor array) { - for (History.Event event : history.events()) { + private void toSlime(Collection<History.Event> events, Cursor array) { + for (History.Event event : events) { Cursor object = array.addObject(); object.setString("event", event.type().name()); object.setLong("at", event.at().toEpochMilli()); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/node/HistoryTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/node/HistoryTest.java new file mode 100644 index 00000000000..ccd60ded517 --- /dev/null +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/node/HistoryTest.java @@ -0,0 +1,44 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.hosted.provision.node; + +import com.google.common.collect.ImmutableMap; +import com.yahoo.vespa.hosted.provision.node.History.Event; +import org.junit.Test; + +import java.time.Instant; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import static org.junit.Assert.assertEquals; + +/** + * @author mpolden + */ +public class HistoryTest { + + @Test + public void truncate_log() { + assertEquals(0, new History(List.of(), List.of()).log().size()); + assertEquals(1, new History(ImmutableMap.of(), shuffledEvents(1), 2).log().size()); + assertEquals(2, new History(ImmutableMap.of(), shuffledEvents(2), 2).log().size()); + + History history = new History(ImmutableMap.of(), shuffledEvents(5), 3); + assertEquals(3, history.log().size()); + assertEquals("Most recent events are kept", + List.of(2L, 3L, 4L), + history.log().stream().map(e -> e.at().toEpochMilli()).collect(Collectors.toList())); + } + + private static List<Event> shuffledEvents(int count) { + Instant start = Instant.ofEpochMilli(0); + List<Event> events = new ArrayList<>(); + for (int i = 0; i < count; i++) { + events.add(new Event(Event.Type.values()[i], Agent.system, start.plusMillis(i))); + } + Collections.shuffle(events); + return events; + } + +} diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java index 48ee23c7b60..2d2194b1f28 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/persistence/NodeSerializerTest.java @@ -80,21 +80,23 @@ public class NodeSerializerTest { NodeResources requestedResources = new NodeResources(1.2, 3.4, 5.6, 7.8, DiskSpeed.any, StorageType.any, Architecture.arm64); - clock.advance(Duration.ofMinutes(3)); assertEquals(0, node.history().events().size()); node = node.allocate(ApplicationId.from(TenantName.from("myTenant"), ApplicationName.from("myApplication"), InstanceName.from("myInstance")), ClusterMembership.from("content/myId/0/0/stateful", Vtag.currentVersion, Optional.empty()), requestedResources, - clock.instant()); + Instant.ofEpochMilli(1)); assertEquals(1, node.history().events().size()); node = node.withRestart(new Generation(1, 2)); node = node.withReboot(new Generation(3, 4)); - node = node.with(FlavorConfigBuilder.createDummies("arm64").getFlavorOrThrow("arm64"), Agent.system, clock.instant()); + node = node.with(FlavorConfigBuilder.createDummies("arm64").getFlavorOrThrow("arm64"), Agent.system, Instant.ofEpochMilli(2)); node = node.with(node.status().withVespaVersion(Version.fromString("1.2.3"))); node = node.with(node.status().withIncreasedFailCount().withIncreasedFailCount()); node = node.with(NodeType.tenant); + node = node.downAt(Instant.ofEpochMilli(5), Agent.system) + .upAt(Instant.ofEpochMilli(6), Agent.system) + .downAt(Instant.ofEpochMilli(7), Agent.system); Node copy = nodeSerializer.fromJson(Node.State.provisioned, nodeSerializer.toJson(node)); assertEquals(node.id(), copy.id()); @@ -112,8 +114,11 @@ public class NodeSerializerTest { assertEquals(node.allocation().get().membership(), copy.allocation().get().membership()); assertEquals(node.allocation().get().requestedResources(), copy.allocation().get().requestedResources()); assertEquals(node.allocation().get().isRemovable(), copy.allocation().get().isRemovable()); - assertEquals(2, copy.history().events().size()); - assertEquals(clock.instant().truncatedTo(MILLIS), copy.history().event(History.Event.Type.reserved).get().at()); + assertEquals(4, copy.history().events().size()); + assertEquals(5, copy.history().log().size()); + assertEquals(Instant.ofEpochMilli(1), copy.history().event(History.Event.Type.reserved).get().at()); + assertEquals(new History.Event(History.Event.Type.down, Agent.system, Instant.ofEpochMilli(7)), + copy.history().log().get(copy.history().log().size() - 1)); assertEquals(NodeType.tenant, copy.type()); } @@ -159,8 +164,8 @@ public class NodeSerializerTest { assertEquals(2, node.status().reboot().current()); assertEquals(3, node.allocation().get().restartGeneration().wanted()); assertEquals(4, node.allocation().get().restartGeneration().current()); - assertEquals(Arrays.asList(History.Event.Type.provisioned, History.Event.Type.reserved), - node.history().events().stream().map(History.Event::type).collect(Collectors.toList())); + assertEquals(List.of(History.Event.Type.provisioned, History.Event.Type.reserved), + node.history().events().stream().map(History.Event::type).collect(Collectors.toList())); assertTrue(node.allocation().get().isRemovable()); assertEquals(NodeType.tenant, node.type()); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg1.json index 9848c8ad401..7541e7df42d 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg1.json @@ -28,6 +28,23 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.201.1", "::201:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json index 109100fe959..e4abedfa926 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/cfg2.json @@ -28,6 +28,23 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.202.1", "::202:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/controller1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/controller1.json index 80cec3595ef..97df1ba9761 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/controller1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/controller1.json @@ -23,6 +23,13 @@ "agent": "operator" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "operator" + } + ], "ipAddresses": [ "127.0.0.1" ], diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-container1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-container1.json index 0a4689307b5..56d9502af61 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-container1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-container1.json @@ -45,6 +45,23 @@ "agent": "application" } ], + "log": [ + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "system" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "::102:2" ], diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-os-upgrade-complete.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-os-upgrade-complete.json index 09b5575ea02..a53aa23169d 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-os-upgrade-complete.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-os-upgrade-complete.json @@ -62,6 +62,43 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + }, + { + "event": "osUpgraded", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.100.1", "::100:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-2.json index 50323171f2d..1f269636a94 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-2.json @@ -68,6 +68,43 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + }, + { + "event": "wantToRetire", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.100.1", "::100:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-3.json index f91cd2f3dfb..4bdc81cf0cd 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-3.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-3.json @@ -68,6 +68,43 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + }, + { + "event": "wantToRetire", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.100.1", "::100:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-4.json index 80299c055d7..46830c0b9f1 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-4.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports-4.json @@ -68,6 +68,43 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + }, + { + "event": "wantToRetire", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.100.1", "::100:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports.json index 70ab51ebd2f..dc11457c218 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1-reports.json @@ -68,6 +68,43 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + }, + { + "event": "wantToRetire", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.100.1", "::100:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1.json index 340902702c8..64c309d8e51 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node1.json @@ -55,6 +55,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.100.1", "::100:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node2.json index 0db5f84bce2..7d7528ecacf 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node2.json @@ -55,6 +55,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.101.1", "::101:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node3.json index 988550eabaf..49ebe7fdab7 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node3.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node3.json @@ -55,6 +55,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.102.1", "::102:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node4.json index 4b9e0e1af24..6e084d0a882 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node4.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node4.json @@ -55,6 +55,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.103.1", "::103:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node5.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node5.json index 806cd05ac03..168a32432d5 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node5.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/docker-node5.json @@ -55,6 +55,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.104.1", "::104:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/dockerhost1-with-firmware-data.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/dockerhost1-with-firmware-data.json index a73e9a7bade..91a544da298 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/dockerhost1-with-firmware-data.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/dockerhost1-with-firmware-data.json @@ -62,6 +62,43 @@ "agent": "system" } ], + "log": [ + { + "event": "firmwareVerified", + "at": 100, + "agent": "system" + }, + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.100.1", "::100:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/dockerhost6.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/dockerhost6.json index 151afd66eff..566989c4508 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/dockerhost6.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/dockerhost6.json @@ -38,6 +38,33 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "failed", + "at": 123, + "agent": "operator" + }, + { + "event": "deprovisioned", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [], "additionalIpAddresses": [] } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node1.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node1.json index 8ca9b7bf734..ae8ca77ddda 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node1.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node1.json @@ -53,6 +53,38 @@ "at": 123, "agent": "application"} ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.1.1", "::1:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node10.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node10.json index 7e515f28368..1f68b970007 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node10.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node10.json @@ -57,6 +57,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.10.1", "::10:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node11.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node11.json index 6f07712dd0c..d825e105291 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node11.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node11.json @@ -23,6 +23,13 @@ "agent": "operator" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "operator" + } + ], "ipAddresses": [ "::11" ], diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node13.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node13.json index 79d94f65196..0545c600c19 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node13.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node13.json @@ -49,6 +49,28 @@ "agent": "application" } ], + "log": [ + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.13.1", "::13:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node14.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node14.json index a93f9c642e9..05668bf83c6 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node14.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node14.json @@ -49,6 +49,28 @@ "agent": "application" } ], + "log": [ + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.14.1", "::14:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node2.json index 0692c68fa5f..b6d53e2c509 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node2.json @@ -54,6 +54,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.2.1", "::2:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json index 68108f41204..e560027668a 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node3.json @@ -27,6 +27,23 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.3.1", "::3:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4-after-changes.json index 378925bbc81..f59d9ff561f 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4-after-changes.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4-after-changes.json @@ -80,6 +80,58 @@ "agent": "operator" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + }, + { + "event": "wantToFail", + "at": 123, + "agent": "operator" + }, + { + "event": "rebooted", + "at": 123, + "agent": "system" + }, + { + "event": "resized", + "at": 123, + "agent": "operator" + }, + { + "event": "wantToRetire", + "at": 123, + "agent": "operator" + } + ], "ipAddresses": [ "127.0.0.1", "::1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4-with-hostnames.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4-with-hostnames.json index de3321f2694..78c6d1d7243 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4-with-hostnames.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4-with-hostnames.json @@ -57,6 +57,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.4.1", "::4:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4.json index 935abf031ea..86e904d7970 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node4.json @@ -57,6 +57,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.4.1", "::4:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node5-after-changes.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node5-after-changes.json index 32e22c5fd67..b70675f5ab2 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node5-after-changes.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node5-after-changes.json @@ -33,6 +33,28 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "failed", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.5.1", "::5:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node5.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node5.json index 651914e7ecf..80dfbbaa982 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node5.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node5.json @@ -35,6 +35,28 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "failed", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.5.1", "::5:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node55.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node55.json index b18e08c0218..015c5a5558f 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node55.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node55.json @@ -27,6 +27,18 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.55.1", "::55:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node6.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node6.json index af19f835335..f9e9053dec2 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node6.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node6.json @@ -54,6 +54,38 @@ "agent": "application" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + }, + { + "event": "deallocated", + "at": 123, + "agent": "system" + }, + { + "event": "readied", + "at": 123, + "agent": "system" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "reserved", + "at": 123, + "agent": "application" + }, + { + "event": "activated", + "at": 123, + "agent": "application" + } + ], "ipAddresses": [ "127.0.6.1", "::6:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node7.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node7.json index 71012fb09be..62c7faf30ae 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node7.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node7.json @@ -22,6 +22,13 @@ "agent": "system" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "system" + } + ], "ipAddresses": [ "127.0.7.1", "::7:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node8.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node8.json index 8c98acfc650..7ab57e42757 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node8.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node8.json @@ -23,6 +23,13 @@ "agent": "operator" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "operator" + } + ], "ipAddresses": [ "127.0.8.1" ], diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json index e388c104ebd..e94ae56f00f 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json @@ -23,6 +23,13 @@ "agent": "operator" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "operator" + } + ], "ipAddresses": [ "127.0.9.1", "::9:1" diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/parent2.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/parent2.json index a71ad54a725..741f4bc1274 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/parent2.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/parent2.json @@ -25,6 +25,13 @@ "agent": "operator" } ], + "log": [ + { + "event": "provisioned", + "at": 123, + "agent": "operator" + } + ], "ipAddresses": [ "127.0.127.1", "::127:1" |