aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2018-05-04 14:34:56 +0200
committerMartin Polden <mpolden@mpolden.no>2018-05-04 14:34:56 +0200
commit97b7eeab0af84532b7e5b85e326bff53a222a798 (patch)
tree2caaa2f0def993a719cda0360974857f0927c719
parent0506a7ef99c22df6a398b38d1f4519d6353c66a4 (diff)
Add upgrade method to ProvisionResource
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeUpgrade.java34
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/ProvisionResource.java6
2 files changed, 40 insertions, 0 deletions
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);
+
}