summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2020-04-17 14:33:43 +0200
committerOla Aunrønning <olaa@verizonmedia.com>2020-04-17 14:36:16 +0200
commitd822cc16543807f5978023389c9f1cc33b518b8d (patch)
tree05786a033ae6093c849e258e9cc96aa56b20c352 /node-admin
parentecc327f10416a0d7c7d01274139e1b221fa5a497 (diff)
Check existence of ownership and membership
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java27
1 files changed, 17 insertions, 10 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
index cd856c275ea..6aa5a8d9fc1 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/maintenance/coredump/CoredumpHandler.java
@@ -228,20 +228,27 @@ public class CoredumpHandler {
private Dimensions generateDimensions(NodeAgentContext context) {
NodeSpec node = context.node();
- ApplicationId owner = node.owner().get();
- NodeMembership membership = node.membership().get();
Dimensions.Builder dimensionsBuilder = new Dimensions.Builder()
.add("host", node.hostname())
.add("flavor", node.flavor())
.add("state", node.state().toString())
- .add("zone", context.zone().getId().value())
- .add("tenantName", owner.tenant().value())
- .add("applicationName", owner.application().value())
- .add("instanceName", owner.instance().value())
- .add("app", String.join(".", owner.application().value(), owner.instance().value()))
- .add("applicationId", owner.toFullString())
- .add("clustertype", membership.clusterType())
- .add("clusterid", membership.clusterId());
+ .add("zone", context.zone().getId().value());
+
+ node.owner().ifPresent(owner ->
+ dimensionsBuilder
+ .add("tenantName", owner.tenant().value())
+ .add("applicationName", owner.application().value())
+ .add("instanceName", owner.instance().value())
+ .add("app", String.join(".", owner.application().value(), owner.instance().value()))
+ .add("applicationId", owner.toFullString())
+ );
+
+ node.membership().ifPresent(membership ->
+ dimensionsBuilder
+ .add("clustertype", membership.clusterType())
+ .add("clusterid", membership.clusterId())
+ );
+
node.parentHostname().ifPresent(parent -> dimensionsBuilder.add("parentHostname", parent));
node.allowedToBeDown().ifPresent(allowed ->
dimensionsBuilder.add("orchestratorState", allowed ? "ALLOWED_TO_BE_DOWN" : "NO_REMARKS"));