summaryrefslogtreecommitdiffstats
path: root/controller-server/src
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2020-11-20 19:09:45 +0100
committerGitHub <noreply@github.com>2020-11-20 19:09:45 +0100
commitbaaf68ad6d329399b30f93b0a5799a6575f8e70e (patch)
tree0c435ef8ffc6754e71f7a1e4cef4dcce56d4a405 /controller-server/src
parent13d8300d2c404edb6c6946b6b48065906023256c (diff)
parente6f880fec472614dc77b07a25799346bdec5e6ff (diff)
Merge pull request #15399 from vespa-engine/jonmv/throw-during-prepare-with-disallowed-config-change-actions
Jonmv/throw during prepare with disallowed config change actions
Diffstat (limited to 'controller-server/src')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java34
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java1
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java29
3 files changed, 2 insertions, 62 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
index 9b959bf1765..ed1e442f266 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java
@@ -219,43 +219,11 @@ public class InternalStepRunner implements StepRunner {
LogEntry.typeOf(LogLevel.parse(entry.level)),
entry.message))
.collect(toList()));
- if ( ! prepareResponse.configChangeActions.refeedActions.stream().allMatch(action -> action.allowed)) {
- List<String> messages = new ArrayList<>();
- messages.add("Deploy failed due to non-compatible changes that require re-feed.");
- messages.add("Your options are:");
- messages.add("1. Revert the incompatible changes.");
- messages.add("2. If you think it is safe in your case, you can override this validation, see");
- messages.add(" http://docs.vespa.ai/documentation/reference/validation-overrides.html");
- messages.add("3. Deploy as a new application under a different name.");
- messages.add("Illegal actions:");
- prepareResponse.configChangeActions.refeedActions.stream()
- .filter(action -> ! action.allowed)
- .flatMap(action -> action.messages.stream())
- .forEach(messages::add);
- logger.log(messages);
- return Optional.of(deploymentFailed);
- }
-
- if ( ! prepareResponse.configChangeActions.reindexActions.stream().allMatch(action -> action.allowed)) {
- List<String> messages = new ArrayList<>();
- messages.add("Deploy failed due to non-compatible changes that require re-index.");
- messages.add("Your options are:");
- messages.add("1. Revert the incompatible changes.");
- messages.add("2. If you think it is safe in your case, you can override this validation, see");
- messages.add(" http://docs.vespa.ai/documentation/reference/validation-overrides.html");
- messages.add("3. Deploy as a new application under a different name.");
- messages.add("Illegal actions:");
- prepareResponse.configChangeActions.reindexActions.stream()
- .filter(action -> ! action.allowed)
- .flatMap(action -> action.messages.stream())
- .forEach(messages::add);
- logger.log(messages);
- return Optional.of(deploymentFailed);
- }
logger.log("Deployment successful.");
if (prepareResponse.message != null)
logger.log(prepareResponse.message);
+
return Optional.of(running);
}
catch (ConfigServerException e) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index 4d928a6b8a7..fc0b8eb9fee 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -2054,7 +2054,6 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
for (RefeedAction refeedAction : result.prepareResponse().configChangeActions.refeedActions) {
Cursor refeedActionObject = refeedActionsArray.addObject();
refeedActionObject.setString("name", refeedAction.name);
- refeedActionObject.setBool("allowed", refeedAction.allowed);
refeedActionObject.setString("documentType", refeedAction.documentType);
refeedActionObject.setString("clusterName", refeedAction.clusterName);
serviceInfosToSlime(refeedAction.services, refeedActionObject.setArray("services"));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
index 7b248052eac..d54971f5b1d 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
@@ -125,34 +125,7 @@ public class InternalStepRunnerTest {
}
@Test
- public void reindexRequirementBlocksDeployment() {
- tester.configServer().setConfigChangeActions(new ConfigChangeActions(List.of(),
- List.of(),
- List.of(new ReindexAction("Reindex",
- false,
- "doctype",
- "cluster",
- Collections.emptyList(),
- List.of("Reindex it!")))));
- tester.jobs().deploy(app.instanceId(), JobType.devUsEast1, Optional.empty(), applicationPackage);
- assertEquals(failed, tester.jobs().last(app.instanceId(), JobType.devUsEast1).get().stepStatuses().get(Step.deployReal));
- }
-
- @Test
- public void refeedRequirementBlocksDeployment() {
- tester.configServer().setConfigChangeActions(new ConfigChangeActions(List.of(),
- List.of(new RefeedAction("Refeed",
- false,
- "doctype",
- "cluster",
- Collections.emptyList(),
- singletonList("Refeed it!"))),
- List.of()));
- tester.jobs().deploy(app.instanceId(), JobType.devUsEast1, Optional.empty(), applicationPackage);
- assertEquals(failed, tester.jobs().last(app.instanceId(), JobType.devUsEast1).get().stepStatuses().get(Step.deployReal));
- }
-
- @Test
+ // TODO jonmv: Change to only wait for restarts, and remove triggering of restarts from runner.
public void restartsServicesAndWaitsForRestartAndReboot() {
RunId id = app.newRun(JobType.productionUsCentral1);
ZoneId zone = id.type().zone(system());