diff options
12 files changed, 29 insertions, 98 deletions
diff --git a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/orchestrator/OrchestratorImplTest.java b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/orchestrator/OrchestratorImplTest.java index c64e650a70c..e4c46c504be 100644 --- a/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/orchestrator/OrchestratorImplTest.java +++ b/node-admin/src/test/java/com/yahoo/vespa/hosted/node/admin/configserver/orchestrator/OrchestratorImplTest.java @@ -3,7 +3,6 @@ package com.yahoo.vespa.hosted.node.admin.configserver.orchestrator; import com.yahoo.vespa.hosted.node.admin.configserver.ConfigServerApiImpl; import com.yahoo.vespa.hosted.node.admin.configserver.HttpException; -import com.yahoo.vespa.orchestrator.restapi.wire.BatchHostSuspendRequest; import com.yahoo.vespa.orchestrator.restapi.wire.BatchOperationResult; import com.yahoo.vespa.orchestrator.restapi.wire.HostStateChangeDenialReason; import com.yahoo.vespa.orchestrator.restapi.wire.UpdateHostResponse; @@ -149,8 +148,8 @@ public class OrchestratorImplTest { String exceptionMessage = "Exception: Something crashed!"; when(configServerApi.put( - OrchestratorImpl.ORCHESTRATOR_PATH_PREFIX_HOST_SUSPENSION_API, - Optional.of(new BatchHostSuspendRequest(parentHostName, hostNames)), + "/orchestrator/v1/suspensions/hosts/host1.test.yahoo.com?hostname=a1.host1.test.yahoo.com&hostname=a2.host1.test.yahoo.com", + Optional.empty(), BatchOperationResult.class )).thenThrow(new RuntimeException(exceptionMessage)); diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/HostSuspensionApi.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/HostSuspensionApi.java index a9846134eff..603d6a1adac 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/HostSuspensionApi.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/HostSuspensionApi.java @@ -1,7 +1,6 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.orchestrator.restapi; -import com.yahoo.vespa.orchestrator.restapi.wire.BatchHostSuspendRequest; import com.yahoo.vespa.orchestrator.restapi.wire.BatchOperationResult; import javax.ws.rs.Consumes; @@ -32,12 +31,6 @@ public interface HostSuspensionApi { * batch-requests for suspension of hosts succeed. */ @PUT - @Produces(MediaType.APPLICATION_JSON) - @Consumes(MediaType.APPLICATION_JSON) - @Deprecated // TODO: Remove after 2018-04-01 - BatchOperationResult suspendAll(BatchHostSuspendRequest request); - - @PUT @Path("/{hostname}") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/BatchHostSuspendRequest.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/BatchHostSuspendRequest.java deleted file mode 100644 index 3dc28f53217..00000000000 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/BatchHostSuspendRequest.java +++ /dev/null @@ -1,67 +0,0 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.orchestrator.restapi.wire; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonProperty; - -import javax.annotation.concurrent.Immutable; -import java.util.Collections; -import java.util.List; - -@Immutable -public class BatchHostSuspendRequest { - public static final String PARENT_HOSTNAME_FIELD = "parentHostname"; - public static final String HOSTNAMES_FIELD = "hostnames"; - - public final String parentHostname; - public final List<String> hostnames; - - @JsonCreator - public BatchHostSuspendRequest( - @JsonProperty(PARENT_HOSTNAME_FIELD) String parentHostname, - @JsonProperty(HOSTNAMES_FIELD) List<String> hostnames) { - this.parentHostname = parentHostname; - this.hostnames = Collections.unmodifiableList(hostnames); - } - - /** - * @return The hostname of the parent of the hostnames, if applicable, which can be used for debugging. - */ - @JsonProperty(PARENT_HOSTNAME_FIELD) - public String getParentHostname() { - return parentHostname; - } - - @JsonProperty(HOSTNAMES_FIELD) - public List<String> getHostnames() { - return hostnames; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - BatchHostSuspendRequest that = (BatchHostSuspendRequest) o; - - if (parentHostname != null ? !parentHostname.equals(that.parentHostname) : that.parentHostname != null) - return false; - return hostnames != null ? hostnames.equals(that.hostnames) : that.hostnames == null; - - } - - @Override - public int hashCode() { - int result = parentHostname != null ? parentHostname.hashCode() : 0; - result = 31 * result + (hostnames != null ? hostnames.hashCode() : 0); - return result; - } - - @Override - public String toString() { - return "BatchHostSuspendRequest{" + - "parentHostname=" + parentHostname + - ", hostnames=" + hostnames + - '}'; - } -} diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/BatchOperationResult.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/BatchOperationResult.java index 0e1d0306c4c..601dcad6208 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/BatchOperationResult.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/BatchOperationResult.java @@ -2,10 +2,15 @@ package com.yahoo.vespa.orchestrator.restapi.wire; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Optional; +/** + * @author hakonhall + */ +@JsonIgnoreProperties(ignoreUnknown = true) public class BatchOperationResult { private static final String FAILURE_REASON = "failure-reason"; diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/GetHostResponse.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/GetHostResponse.java index 775ab3a6c5c..3f14579dfba 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/GetHostResponse.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/GetHostResponse.java @@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; import java.util.Objects; -/* +/** * @author andreer */ @JsonIgnoreProperties(ignoreUnknown = true) diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/HostService.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/HostService.java index 70cc9187dd1..8a02e368f86 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/HostService.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/HostService.java @@ -8,6 +8,9 @@ import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; +/** + * @author hakonhall + */ @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class HostService { diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/HostStateChangeDenialReason.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/HostStateChangeDenialReason.java index 1df7ca2d16c..3a1e8d6564d 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/HostStateChangeDenialReason.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/HostStateChangeDenialReason.java @@ -2,14 +2,17 @@ package com.yahoo.vespa.orchestrator.restapi.wire; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; -/* +/** * A reason to reject a host state change request + * * @author andreer */ +@JsonIgnoreProperties(ignoreUnknown = true) public class HostStateChangeDenialReason { public static final String FIELD_NAME_CONSTRAINT = "constraint"; diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/PatchHostRequest.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/PatchHostRequest.java index 064f5e74ce2..fae4a089e24 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/PatchHostRequest.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/PatchHostRequest.java @@ -5,6 +5,9 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +/** + * @author hakonhall + */ @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class PatchHostRequest { diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/PatchHostResponse.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/PatchHostResponse.java index 2a168b53cf2..20364d30547 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/PatchHostResponse.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/PatchHostResponse.java @@ -5,6 +5,9 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; +/** + * @author hakonhall + */ @JsonIgnoreProperties(ignoreUnknown = true) @JsonInclude(JsonInclude.Include.NON_NULL) public class PatchHostResponse { diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/SlobrokEntryResponse.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/SlobrokEntryResponse.java index 5efdd2581a9..062fa186cb6 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/SlobrokEntryResponse.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/SlobrokEntryResponse.java @@ -1,10 +1,15 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.orchestrator.restapi.wire; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.Objects; +/** + * @author hakonhall + */ +@JsonIgnoreProperties(ignoreUnknown = true) public class SlobrokEntryResponse { @JsonProperty("name") public final String name; diff --git a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/UpdateHostResponse.java b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/UpdateHostResponse.java index 4302a7d6d62..4e11d7af819 100644 --- a/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/UpdateHostResponse.java +++ b/orchestrator-restapi/src/main/java/com/yahoo/vespa/orchestrator/restapi/wire/UpdateHostResponse.java @@ -2,14 +2,16 @@ package com.yahoo.vespa.orchestrator.restapi.wire; import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import javax.annotation.Nullable; import java.util.Objects; -/* +/** * @author andreer */ +@JsonIgnoreProperties(ignoreUnknown = true) public class UpdateHostResponse { public static final String FIELD_NAME_HOSTNAME = "hostname"; diff --git a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/HostSuspensionResource.java b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/HostSuspensionResource.java index c1e312ddee6..6fa1e06520e 100644 --- a/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/HostSuspensionResource.java +++ b/orchestrator/src/main/java/com/yahoo/vespa/orchestrator/resources/HostSuspensionResource.java @@ -9,7 +9,6 @@ import com.yahoo.vespa.orchestrator.BatchInternalErrorException; import com.yahoo.vespa.orchestrator.Orchestrator; import com.yahoo.vespa.orchestrator.policy.BatchHostStateChangeDeniedException; import com.yahoo.vespa.orchestrator.restapi.HostSuspensionApi; -import com.yahoo.vespa.orchestrator.restapi.wire.BatchHostSuspendRequest; import com.yahoo.vespa.orchestrator.restapi.wire.BatchOperationResult; import javax.inject.Inject; @@ -37,23 +36,6 @@ public class HostSuspensionResource implements HostSuspensionApi { } @Override - public BatchOperationResult suspendAll(BatchHostSuspendRequest request) throws WebApplicationException { - String parentHostnameString = request.getParentHostname(); - if (parentHostnameString == null || parentHostnameString.isEmpty()) { - String message = "parentHostname missing or empty in request: " + request; - log.log(LogLevel.DEBUG, message); - throw createWebApplicationException(message, Response.Status.BAD_REQUEST); - } - List<String> hostnamesAsStrings = request.getHostnames(); - if (hostnamesAsStrings == null) { - String message = "hostnames missing in request: " + request; - log.log(LogLevel.DEBUG, message); - throw createWebApplicationException(message, Response.Status.BAD_REQUEST); - } - return suspendAll(parentHostnameString, hostnamesAsStrings); - } - - @Override public BatchOperationResult suspendAll(String parentHostnameString, List<String> hostnamesAsStrings) { HostName parentHostname = new HostName(parentHostnameString); List<HostName> hostnames = hostnamesAsStrings.stream().map(HostName::new).collect(Collectors.toList()); |