From 97b7eeab0af84532b7e5b85e326bff53a222a798 Mon Sep 17 00:00:00 2001 From: Martin Polden Date: Fri, 4 May 2018 14:34:56 +0200 Subject: Add upgrade method to ProvisionResource --- .../integration/noderepository/NodeUpgrade.java | 34 ++++++++++++++++++++++ .../noderepository/ProvisionResource.java | 6 ++++ 2 files changed, 40 insertions(+) create mode 100644 controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeUpgrade.java (limited to 'controller-api') diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeUpgrade.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeUpgrade.java new file mode 100644 index 00000000000..6b6af02b88c --- /dev/null +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeUpgrade.java @@ -0,0 +1,34 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.hosted.controller.api.integration.noderepository; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * @author mpolden + */ +@JsonIgnoreProperties(ignoreUnknown = true) +public class NodeUpgrade { + + @JsonProperty("version") + private final String version; + + @JsonProperty("force") + private final boolean force; + + @JsonCreator + public NodeUpgrade(@JsonProperty("version") String version, @JsonProperty("force") boolean force) { + this.version = version; + this.force = force; + } + + public String getVersion() { + return version; + } + + public boolean isForce() { + return force; + } + +} diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java index ee808399637..84b8a6ac009 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java @@ -76,5 +76,11 @@ public interface ProvisionResource { @DELETE @Path("/maintenance/inactive/{jobname}") String enableMaintenanceJob(@PathParam("jobname") String jobname); + + @POST + @Path("/upgrade/{nodeType}") + String upgrade(@PathParam("nodeType") NodeType nodeType, NodeUpgrade nodeUpgrade, + @HeaderParam("X-HTTP-Method-Override") String patchOverride); + } -- cgit v1.2.3