summaryrefslogtreecommitdiffstats
path: root/node-repository/src
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-10-01 12:49:23 +0200
committerMartin Polden <mpolden@mpolden.no>2020-10-01 12:49:23 +0200
commitb5fb609bd6cfd732d09006d857e2157fa4ad447d (patch)
treeccf567103e36b02c9162524df5f56ca5f33a5517 /node-repository/src
parent0b93aefb3ef8933d19cacf63d982808c384a6e7d (diff)
Store correct agent when adding nodes
Diffstat (limited to 'node-repository/src')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/NodeRepository.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/CuratorDatabaseClient.java8
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/controller1.json2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node11.json2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node8.json2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/node9.json2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/responses/parent2.json2
9 files changed, 13 insertions, 16 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 77ae6ecf1a7..e8a4620b520 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
@@ -428,7 +428,7 @@ public class NodeRepository extends AbstractComponent {
existing.get() + ", " + existing.get().history() + "). Node to be added: " +
node + ", " + node.history());
}
- return db.addNodesInState(nodes.asList(), State.reserved);
+ return db.addNodesInState(nodes.asList(), State.reserved, Agent.system);
}
/**
@@ -463,8 +463,7 @@ public class NodeRepository extends AbstractComponent {
nodesToAdd.add(node);
}
- List<Node> resultingNodes = new ArrayList<>();
- resultingNodes.addAll(db.addNodesInState(IP.Config.verify(nodesToAdd, list(lock)), State.provisioned));
+ List<Node> resultingNodes = db.addNodesInState(IP.Config.verify(nodesToAdd, list(lock)), State.provisioned, agent);
db.removeNodes(nodesToRemove);
return resultingNodes;
}
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 56f7c951025..160ab86591a 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
@@ -108,17 +108,15 @@ public class CuratorDatabaseClient {
provisionIndexCounter.initialize(100);
}
- /**
- * Adds a set of nodes. Rollbacks/fails transaction if any node is not in the expected state.
- */
- public List<Node> addNodesInState(List<Node> nodes, Node.State expectedState) {
+ /** Adds a set of nodes. Rollbacks/fails transaction if any node is not in the expected state. */
+ public List<Node> addNodesInState(List<Node> nodes, Node.State expectedState, Agent agent) {
NestedTransaction transaction = new NestedTransaction();
CuratorTransaction curatorTransaction = db.newCuratorTransactionIn(transaction);
for (Node node : nodes) {
if (node.state() != expectedState)
throw new IllegalArgumentException(node + " is not in the " + expectedState + " state");
- node = node.with(node.history().recordStateTransition(null, expectedState, Agent.system, clock.instant()));
+ node = node.with(node.history().recordStateTransition(null, expectedState, agent, clock.instant()));
curatorTransaction.add(CuratorOperations.create(toPath(node).getAbsolute(), nodeSerializer.toJson(node)));
}
transaction.commit();
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java
index 7cc81f218ec..8b3b6aee5c1 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java
@@ -249,7 +249,7 @@ public class DynamicProvisioningMaintainerTest {
createNode("proxyhost1", Optional.empty(), NodeType.proxyhost, Node.State.provisioned, Optional.empty()),
createNode("proxyhost2", Optional.empty(), NodeType.proxyhost, Node.State.active, Optional.of(proxyHostApp)),
createNode("proxy2", Optional.of("proxyhost2"), NodeType.proxy, Node.State.active, Optional.of(proxyApp)))
- .forEach(node -> nodeRepository.database().addNodesInState(List.of(node), node.state()));
+ .forEach(node -> nodeRepository.database().addNodesInState(List.of(node), node.state(), Agent.system));
return this;
}
@@ -259,7 +259,7 @@ public class DynamicProvisioningMaintainerTest {
private Node addNode(String hostname, Optional<String> parentHostname, NodeType nodeType, Node.State state, ApplicationId application) {
Node node = createNode(hostname, parentHostname, nodeType, state, Optional.ofNullable(application));
- return nodeRepository.database().addNodesInState(List.of(node), node.state()).get(0);
+ return nodeRepository.database().addNodesInState(List.of(node), node.state(), Agent.system).get(0);
}
private Node createNode(String hostname, Optional<String> parentHostname, NodeType nodeType, Node.State state, Optional<ApplicationId> application) {
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
index 29a121b8a21..88f5d41a4f0 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
@@ -273,7 +273,7 @@ public class LoadBalancerProvisionerTest {
nodeType);
nodes.add(node);
}
- nodes = tester.nodeRepository().database().addNodesInState(nodes, Node.State.reserved);
+ nodes = tester.nodeRepository().database().addNodesInState(nodes, Node.State.reserved, Agent.system);
nodes = tester.nodeRepository().setDirty(nodes, Agent.system, getClass().getSimpleName());
tester.nodeRepository().setReady(nodes, Agent.system, getClass().getSimpleName());
}
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 035e15ead49..413c1af0c71 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
@@ -18,7 +18,7 @@
{
"event": "provisioned",
"at": 123,
- "agent": "system"
+ "agent": "operator"
}
],
"ipAddresses": [
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 17f8210fa4d..baf0325b284 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
@@ -18,7 +18,7 @@
{
"event": "provisioned",
"at": 123,
- "agent": "system"
+ "agent": "operator"
}
],
"ipAddresses": [
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 aa2b2acdb9f..8951d1905ab 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
@@ -18,7 +18,7 @@
{
"event": "provisioned",
"at": 123,
- "agent": "system"
+ "agent": "operator"
}
],
"ipAddresses": [
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 a5672f25d57..dac9fd30267 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
@@ -18,7 +18,7 @@
{
"event": "provisioned",
"at": 123,
- "agent": "system"
+ "agent": "operator"
}
],
"ipAddresses": [
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 ecc497172c7..2e20d1a8f35 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
@@ -19,7 +19,7 @@
{
"event": "provisioned",
"at": 123,
- "agent": "system"
+ "agent": "operator"
}
],
"ipAddresses": [