diff options
author | Martin Polden <mpolden@mpolden.no> | 2018-03-07 08:44:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-07 08:44:40 +0100 |
commit | 47089f7581931bd9fa577a067f0736d60d6c598e (patch) | |
tree | c64975bcf714f23a389d8062d8b08755cdf0f80d | |
parent | 0b8ff6d6b3b8b8b9554c6775251a66ba00932745 (diff) | |
parent | 08c4e99ea0b874ea7f668ca4aa06867a14ab9f90 (diff) |
Merge pull request #5231 from vespa-engine/mpolden/revert-type-field
Ignore unknown properties
7 files changed, 17 insertions, 84 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetAclResponse.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetAclResponse.java index b7762cf6aa9..7000170ca4c 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetAclResponse.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetAclResponse.java @@ -29,6 +29,7 @@ public class GetAclResponse { this.trustedNetworks = trustedNetworks == null ? Collections.emptyList() : trustedNetworks; } + @JsonIgnoreProperties(ignoreUnknown = true) public static class Node { @JsonProperty("hostname") @@ -49,6 +50,7 @@ public class GetAclResponse { } } + @JsonIgnoreProperties(ignoreUnknown = true) public static class Network { @JsonProperty("network") diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetNodesResponse.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetNodesResponse.java index 783ce89ad5c..d1eda3c2d45 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetNodesResponse.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/GetNodesResponse.java @@ -119,7 +119,7 @@ public class GetNodesResponse { + " }"; } - + @JsonIgnoreProperties(ignoreUnknown = true) public static class Owner { public final String tenant; public final String application; @@ -143,6 +143,7 @@ public class GetNodesResponse { } } + @JsonIgnoreProperties(ignoreUnknown = true) public static class Membership { public final String clusterType; public final String clusterId; diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/UpdateNodeAttributesRequestBody.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/UpdateNodeAttributesRequestBody.java index 28605bc3a8d..305d7d386de 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/UpdateNodeAttributesRequestBody.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/UpdateNodeAttributesRequestBody.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.node.admin.configserver.noderepository.bindings; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAttributes; @@ -16,6 +17,7 @@ import com.yahoo.vespa.hosted.node.admin.nodeagent.NodeAttributes; * @author bakksjo */ @JsonInclude(JsonInclude.Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) public class UpdateNodeAttributesRequestBody { public Long currentRestartGeneration; public Long currentRebootGeneration; diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodeAclResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodeAclResponse.java index 65b727ad0dd..2a4f37151de 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodeAclResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/v2/NodeAclResponse.java @@ -7,13 +7,12 @@ import com.yahoo.slime.Cursor; import com.yahoo.slime.Slime; import com.yahoo.vespa.config.SlimeUtils; import com.yahoo.vespa.hosted.provision.Node; -import com.yahoo.vespa.hosted.provision.NodeRepository; import com.yahoo.vespa.hosted.provision.node.NodeAcl; +import com.yahoo.vespa.hosted.provision.NodeRepository; import java.io.File; import java.io.IOException; import java.io.OutputStream; -import java.util.Set; /** * @author mpolden @@ -37,35 +36,36 @@ public class NodeAclResponse extends HttpResponse { toSlime(hostname, root); } + private static String baseName(String path) { + return new File(path).getName(); + } + private void toSlime(String hostname, Cursor object) { Node node = nodeRepository.getNode(hostname) .orElseGet(() -> nodeRepository.getConfigNode(hostname) .orElseThrow(() -> new NotFoundException("No node with hostname '" + hostname + "'"))); Cursor trustedNodesArray = object.setArray("trustedNodes"); - nodeRepository.getNodeAcls(node, aclsForChildren).forEach(nodeAcl -> toSlime(nodeAcl, trustedNodesArray)); + nodeRepository.getNodeAcls(node, aclsForChildren).forEach(nodeAcl -> toTrustedNodeSlime(nodeAcl, trustedNodesArray)); Cursor trustedNetworksArray = object.setArray("trustedNetworks"); - nodeRepository.getNodeAcls(node, aclsForChildren).forEach(nodeAcl -> toSlime(nodeAcl.trustedNetworks(), - nodeAcl.node(), - trustedNetworksArray)); + nodeRepository.getNodeAcls(node, aclsForChildren).forEach(nodeAcl -> toTrustedNetworkSlime(nodeAcl, trustedNetworksArray)); } - private void toSlime(NodeAcl nodeAcl, Cursor array) { + private void toTrustedNodeSlime(NodeAcl nodeAcl, Cursor array) { nodeAcl.trustedNodes().forEach(node -> node.ipAddresses().forEach(ipAddress -> { Cursor object = array.addObject(); object.setString("hostname", node.hostname()); - object.setString("type", node.type().name()); object.setString("ipAddress", ipAddress); object.setString("trustedBy", nodeAcl.node().hostname()); })); } - private void toSlime(Set<String> trustedNetworks, Node trustedBy, Cursor array) { - trustedNetworks.forEach(network -> { + private void toTrustedNetworkSlime(NodeAcl nodeAcl, Cursor array) { + nodeAcl.trustedNetworks().forEach(network -> { Cursor object = array.addObject(); object.setString("network", network); - object.setString("trustedBy", trustedBy.hostname()); + object.setString("trustedBy", nodeAcl.node().hostname()); }); } @@ -78,8 +78,4 @@ public class NodeAclResponse extends HttpResponse { public String getContentType() { return "application/json"; } - - private static String baseName(String path) { - return new File(path).getName(); - } } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-config-server.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-config-server.json index 775d33a3a19..af925e9f94e 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-config-server.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-config-server.json @@ -2,193 +2,161 @@ "trustedNodes": [ { "hostname": "cfg1", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "cfg1" }, { "hostname": "cfg2", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "cfg1" }, { "hostname": "cfg3", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "cfg1" }, { "hostname": "dockerhost1.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "dockerhost1.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "dockerhost2.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "dockerhost2.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "dockerhost3.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "dockerhost3.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "dockerhost4.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "dockerhost4.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "dockerhost5.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "dockerhost5.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host1.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host1.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host10.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host10.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host2.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host2.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host3.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host3.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host4.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host4.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host5.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host5.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host55.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host55.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host6.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host6.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "host7.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "cfg1" }, { "hostname": "host7.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "cfg1" }, { "hostname": "test-container-1", - "type": "tenant", "ipAddress": "::2", "trustedBy": "cfg1" } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-docker-host.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-docker-host.json index f13730ba066..195edac7cce 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-docker-host.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-docker-host.json @@ -2,79 +2,66 @@ "trustedNodes": [ { "hostname": "cfg1", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "cfg2", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "cfg3", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost1.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost1.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost2.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost2.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost3.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost3.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost4.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost4.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost5.yahoo.com", - "type": "host", "ipAddress": "::1", "trustedBy": "dockerhost1.yahoo.com" }, { "hostname": "dockerhost5.yahoo.com", - "type": "host", "ipAddress": "127.0.0.1", "trustedBy": "dockerhost1.yahoo.com" } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-tenant-node.json b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-tenant-node.json index b2184c9d825..eb7a6ba61bb 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-tenant-node.json +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/restapi/v2/responses/acl-tenant-node.json @@ -2,139 +2,116 @@ "trustedNodes": [ { "hostname": "cfg1", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "foo.yahoo.com" }, { "hostname": "cfg2", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "foo.yahoo.com" }, { "hostname": "cfg3", - "type": "config", "ipAddress": "(ignore)", "trustedBy": "foo.yahoo.com" }, { "hostname": "foo.yahoo.com", - "type": "tenant", "ipAddress": "(ignore)", "trustedBy": "foo.yahoo.com" }, { "hostname": "host1.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host1.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host10.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host10.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host2.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host2.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host3.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host3.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host4.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host4.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host5.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host5.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host55.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host55.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host6.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host6.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host7.yahoo.com", - "type": "tenant", "ipAddress": "::1", "trustedBy": "foo.yahoo.com" }, { "hostname": "host7.yahoo.com", - "type": "tenant", "ipAddress": "127.0.0.1", "trustedBy": "foo.yahoo.com" }, { "hostname": "test-container-1", - "type": "tenant", "ipAddress": "::2", "trustedBy": "foo.yahoo.com" } |