summaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com/yahoo
diff options
context:
space:
mode:
Diffstat (limited to 'controller-server/src/test/java/com/yahoo')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java17
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java12
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json18
5 files changed, 41 insertions, 13 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java
index bc5a70b1fa0..640e6860eb6 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/ApplicationPackageBuilder.java
@@ -57,7 +57,8 @@ public class ApplicationPackageBuilder {
private OptionalInt majorVersion = OptionalInt.empty();
private String instances = "default";
private String upgradePolicy = null;
- private String upgradeRevision = "latest";
+ private String revisionTarget = "latest";
+ private String revisionChange = "always";
private String upgradeRollout = null;
private String globalServiceId = null;
private String athenzIdentityAttributes = "athenz-domain='domain' athenz-service='service'";
@@ -81,8 +82,13 @@ public class ApplicationPackageBuilder {
return this;
}
- public ApplicationPackageBuilder upgradeRevision(String upgradeRevision) {
- this.upgradeRevision = upgradeRevision;
+ public ApplicationPackageBuilder revisionTarget(String revisionTarget) {
+ this.revisionTarget = revisionTarget;
+ return this;
+ }
+
+ public ApplicationPackageBuilder revisionChange(String revisionChange) {
+ this.revisionChange = revisionChange;
return this;
}
@@ -259,10 +265,11 @@ public class ApplicationPackageBuilder {
}
xml.append(">\n");
xml.append(" <instance id='").append(instances).append("'>\n");
- if (upgradePolicy != null || upgradeRevision != null || upgradeRollout != null) {
+ if (upgradePolicy != null || revisionTarget != null || revisionChange != null || upgradeRollout != null) {
xml.append(" <upgrade ");
if (upgradePolicy != null) xml.append("policy='").append(upgradePolicy).append("' ");
- if (upgradeRevision != null) xml.append("revision='").append(upgradeRevision).append("' ");
+ if (revisionTarget != null) xml.append("revision-target='").append(revisionTarget).append("' ");
+ if (revisionChange != null) xml.append("revision-change='").append(revisionChange).append("' ");
if (upgradeRollout != null) xml.append("rollout='").append(upgradeRollout).append("' ");
xml.append("/>\n");
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
index 925aabf76e3..d0462fd6182 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
@@ -107,10 +107,10 @@ public class DeploymentTriggerTest {
}
@Test
- public void separateRevisionMakesApplicationChangeWaitForPreviousToComplete() {
+ public void revisionChangeWhenFailingMakesApplicationChangeWaitForPreviousToComplete() {
DeploymentContext app = tester.newDeploymentContext();
ApplicationPackage applicationPackage = new ApplicationPackageBuilder()
- .upgradeRevision(null) // separate by default, but we override this in test builder
+ .revisionChange(null) // separate by default, but we override this in test builder
.region("us-east-3")
.test("us-east-3")
.build();
@@ -863,7 +863,7 @@ public class DeploymentTriggerTest {
DeploymentContext i4 = tester.newDeploymentContext("t", "a", "i4");
ApplicationPackage applicationPackage = ApplicationPackageBuilder
.fromDeploymentXml("<deployment version='1'>\n" +
- " <upgrade revision='separate' />\n" +
+ " <upgrade revision-change='when-failing' />\n" +
" <parallel>\n" +
" <instance id='i1'>\n" +
" <prod>\n" +
@@ -1425,21 +1425,21 @@ public class DeploymentTriggerTest {
" <instance id='alpha'>\n" +
" <test />\n" +
" <staging />\n" +
- " <upgrade revision='latest' />\n" +
+ " <upgrade revision-change='always' />\n" +
" <prod>\n" +
" <region>us-east-3</region>\n" +
" <test>us-east-3</test>\n" +
" </prod>\n" +
" </instance>\n" +
" <instance id='beta'>\n" +
- " <upgrade revision='separate' />\n" +
+ " <upgrade revision-change='when-failing' />\n" +
" <prod>\n" +
" <region>us-east-3</region>\n" +
" <test>us-east-3</test>\n" +
" </prod>\n" +
" </instance>\n" +
" <instance id='gamma'>\n" +
- " <upgrade revision='exclusive' />\n" +
+ " <upgrade revision-change='when-clear' revision-target='next' />\n" +
" <prod>\n" +
" <region>us-east-3</region>\n" +
" <test>us-east-3</test>\n" +
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java
index acaa8b24d9d..052a8bffab1 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java
@@ -28,10 +28,9 @@ public class OutstandingChangeDeployerTest {
@Test
public void testChangeDeployer() {
DeploymentTester tester = new DeploymentTester();
- OutstandingChangeDeployer deployer = new OutstandingChangeDeployer(tester.controller(), Duration.ofMinutes(10));
ApplicationPackage applicationPackage = new ApplicationPackageBuilder()
.region("us-west-1")
- .upgradeRevision("separate")
+ .revisionChange("when-failing")
.build();
var app = tester.newDeploymentContext().submit(applicationPackage).deploy();
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
index 516911b3c7b..61e9ea02acc 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
@@ -861,6 +861,10 @@ public class ApplicationApiTest extends ControllerContainerTest {
"");
addNotifications(TenantName.from("tenant1"));
+ addNotifications(TenantName.from("tenant2"));
+ tester.assertResponse(request("/application/v4/notifications", GET)
+ .properties(Map.of("type", "applicationPackage", "excludeMessages", "true")).userIdentity(HOSTED_VESPA_OPERATOR),
+ new File("notifications-applicationPackage.json"));
tester.assertResponse(request("/application/v4/tenant/tenant1/notifications", GET).userIdentity(USER_ID),
new File("notifications-tenant1.json"));
tester.assertResponse(request("/application/v4/tenant/tenant1/notifications", GET)
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json
new file mode 100644
index 00000000000..c0833ae0f05
--- /dev/null
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/responses/notifications-applicationPackage.json
@@ -0,0 +1,18 @@
+{
+ "notifications": [
+ {
+ "at": "(ignore)",
+ "level": "warning",
+ "type": "applicationPackage",
+ "tenant": "tenant1",
+ "application": "app1"
+ },
+ {
+ "at": "(ignore)",
+ "level": "warning",
+ "type": "applicationPackage",
+ "tenant": "tenant2",
+ "application": "app1"
+ }
+ ]
+}