diff options
Diffstat (limited to 'controller-server/src/test')
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" + } + ] +} |