summaryrefslogtreecommitdiffstats
path: root/configserver
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2017-10-05 07:56:04 +0200
committerHarald Musum <musum@oath.com>2017-10-05 07:56:04 +0200
commitaf20f9a4f8390833e8cc750bba3f18a049b3f218 (patch)
treee977f846cc12c765b569610517f36307178993d5 /configserver
parentfd2fbd3e6137e6b01d8e2466ff066f29d93fe291 (diff)
Use vespa version from active application if not supplied
* If preparing a deployment and no vespa version is given in request parameter use the vespa version from the active application if one exists AND running on hosted vespa, else use current vespa version.
Diffstat (limited to 'configserver')
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java7
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java6
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java23
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java16
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java4
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java2
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java61
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java11
11 files changed, 98 insertions, 43 deletions
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
index f49c32b061a..e1fd6a62372 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java
@@ -330,7 +330,12 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
LocalSession session = getLocalSession(tenant, sessionId);
ApplicationId appId = params.getApplicationId();
Optional<ApplicationSet> currentActiveApplicationSet = getCurrentActiveApplicationSet(tenant, appId);
- return session.prepare(logger, params, currentActiveApplicationSet, tenant.getPath(), clock.instant());
+ Optional<Version> currentActiveVespaVersion = Optional.empty();
+ if (currentActiveApplicationSet.isPresent()) {
+ currentActiveVespaVersion = Optional.of(getExistingSession(tenant, appId).getVespaVersion());
+ }
+ return session.prepare(logger, params, currentActiveApplicationSet, currentActiveVespaVersion,
+ tenant.getPath(), clock.instant());
}
private List<ApplicationId> listApplicationIds(Tenant tenant) {
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
index e38be55290f..20f9dc741a2 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java
@@ -111,6 +111,7 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
.vespaVersion(version.toString())
.build(),
Optional.empty(),
+ Optional.empty(),
tenantPath,
clock.instant());
this.prepared = true;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
index 308ca31f278..439e647d582 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/LocalSession.java
@@ -61,12 +61,14 @@ public class LocalSession extends Session implements Comparable<LocalSession> {
public ConfigChangeActions prepare(DeployLogger logger,
PrepareParams params,
- Optional<ApplicationSet> currentActiveApplicationSet,
+ Optional<ApplicationSet> currentActiveApplicationSet,
+ Optional<Version> currentActiveVespaVersion,
Path tenantPath,
Instant now) {
Curator.CompletionWaiter waiter = zooKeeperClient.createPrepareWaiter();
ConfigChangeActions actions = sessionPreparer.prepare(sessionContext, logger, params,
- currentActiveApplicationSet, tenantPath, now);
+ currentActiveApplicationSet, currentActiveVespaVersion,
+ tenantPath, now);
setPrepared();
waiter.awaitCompletion(params.getTimeoutBudget().timeLeft());
return actions;
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
index 31be18d9b22..ca0e33e4925 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionPreparer.java
@@ -87,9 +87,11 @@ public class SessionPreparer {
* @return the config change actions that must be done to handle the activation of the models prepared.
*/
public ConfigChangeActions prepare(SessionContext context, DeployLogger logger, PrepareParams params,
- Optional<ApplicationSet> currentActiveApplicationSet, Path tenantPath,
+ Optional<ApplicationSet> currentActiveApplicationSet,
+ Optional<com.yahoo.component.Version> currentActiveVespaVersion, Path tenantPath,
Instant now) {
- Preparation preparation = new Preparation(context, logger, params, currentActiveApplicationSet, tenantPath);
+ Preparation preparation = new Preparation(context, logger, params, currentActiveApplicationSet,
+ currentActiveVespaVersion, tenantPath);
preparation.preprocess();
try {
AllocatedHosts allocatedHosts = preparation.buildModels(now);
@@ -134,7 +136,9 @@ public class SessionPreparer {
private final PreparedModelsBuilder preparedModelsBuilder;
Preparation(SessionContext context, DeployLogger logger, PrepareParams params,
- Optional<ApplicationSet> currentActiveApplicationSet, Path tenantPath) {
+ Optional<ApplicationSet> currentActiveApplicationSet,
+ Optional<com.yahoo.component.Version> currentActiveVespaVersion,
+ Path tenantPath) {
this.context = context;
this.logger = logger;
this.params = params;
@@ -142,7 +146,7 @@ public class SessionPreparer {
this.tenantPath = tenantPath;
this.applicationId = params.getApplicationId();
- this.vespaVersion = params.vespaVersion().orElse(Vtag.currentVersion);
+ this.vespaVersion = wantedVespaVersion(params, currentActiveVespaVersion, configserverConfig.hostedVespa());
this.rotations = new Rotations(curator, tenantPath);
this.rotationsSet = getRotations(params.rotations());
this.properties = new ModelContextImpl.Properties(params.getApplicationId(),
@@ -163,6 +167,17 @@ public class SessionPreparer {
properties);
}
+ private com.yahoo.component.Version wantedVespaVersion(PrepareParams params,
+ Optional<com.yahoo.component.Version> currentActiveVespaVersion,
+ boolean hostedVespa) {
+ if (params.vespaVersion().isPresent())
+ return params.vespaVersion().get();
+ else if (hostedVespa)
+ return currentActiveVespaVersion.orElse(Vtag.currentVersion);
+ else
+ return Vtag.currentVersion;
+ }
+
void checkTimeout(String step) {
if (! params.getTimeoutBudget().hasTimeLeft()) {
String used = params.getTimeoutBudget().timesUsed();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
index 8a60a439943..5b4eca70364 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/DeployTester.java
@@ -140,9 +140,14 @@ public class DeployTester {
PrepareParams.Builder paramsBuilder = new PrepareParams.Builder().applicationId(id);
if (vespaVersion != null)
paramsBuilder.vespaVersion(vespaVersion);
+ LocalSession activeSession = tenant.getLocalSessionRepo().getActiveSession(id);
+ Optional<com.yahoo.component.Version> currentActiveVespaVersion = Optional.empty();
+ if (activeSession != null)
+ currentActiveVespaVersion = Optional.of(activeSession.getVespaVersion());
session.prepare(new SilentDeployLogger(),
paramsBuilder.build(),
Optional.empty(),
+ currentActiveVespaVersion,
tenant.getPath(),
now);
session.createActivateTransaction().commit();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
index 301ae63fb8c..e3f34cebd6d 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/deploy/HostedDeployTest.java
@@ -18,6 +18,7 @@ import java.util.List;
import java.util.Optional;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -104,6 +105,21 @@ public class HostedDeployTest {
}
}
+ // If on hosted vespa and no version is given, the version for the current active application should be used
+ // This might be the case for manual/emergency deployments not coming from controller
+ @Test
+ public void deployWithoutVersionShouldUseActiveVersionOnHostedVespa() throws InterruptedException, IOException {
+ DeployTester tester = new DeployTester("src/test/apps/hosted/", createConfigserverConfig());
+ String vespaVersion = "4.5.6";
+ ApplicationId initialApplicationId = tester.deployApp("myApp", vespaVersion, Instant.now());
+ long initialSessionId = tester.tenant().getApplicationRepo().getSessionIdForApplication(initialApplicationId);
+
+ ApplicationId applicationId = tester.deployApp("myApp", Instant.now()); // no version
+ long sessionId = tester.tenant().getApplicationRepo().getSessionIdForApplication(applicationId);
+ assertNotEquals(initialSessionId, sessionId);
+ assertEquals(vespaVersion, tester.tenant().getLocalSessionRepo().getSession(sessionId).getVespaVersion().toFullString());
+ }
+
@Test
@Ignore //WIP
public void testDeployWithDockerImage() throws InterruptedException, IOException {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
index 2c677441c68..8d159da84e3 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/SessionHandlerTest.java
@@ -104,7 +104,10 @@ public class SessionHandlerTest {
}
@Override
- public ConfigChangeActions prepare(DeployLogger logger, PrepareParams params, Optional<ApplicationSet> application, Path tenantPath, Instant now) {
+ public ConfigChangeActions prepare(DeployLogger logger, PrepareParams params,
+ Optional<ApplicationSet> applicationSet,
+ Optional<com.yahoo.component.Version> currentActiveVespaVersion,
+ Path tenantPath, Instant now) {
status = Session.Status.PREPARE;
if (doVerboseLogging) {
logger.log(LogLevel.DEBUG, "debuglog");
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
index a03940ca95c..5f9d42c9ce6 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/http/v2/SessionPrepareHandlerTest.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.config.server.http.v2;
import com.google.common.collect.ImmutableMap;
import com.google.common.util.concurrent.UncheckedTimeoutException;
import com.yahoo.cloud.config.ConfigserverConfig;
+import com.yahoo.component.Version;
import com.yahoo.config.application.api.ApplicationFile;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.api.ServiceInfo;
@@ -408,7 +409,8 @@ public class SessionPrepareHandlerTest extends SessionHandlerTest {
@Override
public ConfigChangeActions prepare(DeployLogger logger,
PrepareParams params,
- Optional<ApplicationSet> application,
+ Optional<ApplicationSet> applicationSet,
+ Optional<Version> currentActiveVespaVersion,
Path tenantPath,
Instant now) {
throw exception;
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
index df011dd9307..13307e5625f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/LocalSessionTest.java
@@ -173,7 +173,7 @@ public class LocalSessionTest {
}
private void doPrepare(LocalSession session, PrepareParams params, Instant now) {
- session.prepare(getLogger(false), params, Optional.empty(), tenantPath, now);
+ session.prepare(getLogger(false), params, Optional.empty(), Optional.empty(), tenantPath, now);
}
DeployHandlerLogger getLogger(boolean verbose) {
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
index 5dc529e3381..06d4039b9ab 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionPreparerTest.java
@@ -21,6 +21,7 @@ import com.yahoo.vespa.config.server.*;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.config.server.application.MemoryTenantApplications;
import com.yahoo.vespa.config.server.application.PermanentApplicationPackage;
+import com.yahoo.vespa.config.server.configchange.ConfigChangeActions;
import com.yahoo.vespa.config.server.configchange.MockRestartAction;
import com.yahoo.vespa.config.server.configchange.RestartActions;
import com.yahoo.vespa.config.server.deploy.DeployHandlerLogger;
@@ -100,31 +101,24 @@ public class SessionPreparerTest extends TestWithCurator {
@Test(expected = InvalidApplicationException.class)
public void require_that_application_validation_exception_is_not_caught() throws IOException, SAXException {
- FilesApplicationPackage app = getApplicationPackage(invalidTestApp);
- preparer.prepare(getContext(app), getLogger(), new PrepareParams.Builder().build(), Optional.empty(), tenantPath, Instant.now());
+ prepare(invalidTestApp, new PrepareParams.Builder().build());
}
@Test
public void require_that_application_validation_exception_is_ignored_if_forced() throws IOException, SAXException {
- FilesApplicationPackage app = getApplicationPackage(invalidTestApp);
- preparer.prepare(getContext(app), getLogger(),
- new PrepareParams.Builder().ignoreValidationErrors(true).timeoutBudget(TimeoutBudgetTest.day()).build(),
- Optional.empty(), tenantPath, Instant.now());
+ prepare(invalidTestApp,
+ new PrepareParams.Builder().ignoreValidationErrors(true).timeoutBudget(TimeoutBudgetTest.day()).build());
}
@Test
public void require_that_zookeeper_is_not_written_to_if_dryrun() throws IOException {
- preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(),
- new PrepareParams.Builder().dryRun(true).timeoutBudget(TimeoutBudgetTest.day()).build(),
- Optional.empty(), tenantPath, Instant.now());
+ prepare(testApp, new PrepareParams.Builder().dryRun(true).timeoutBudget(TimeoutBudgetTest.day()).build());
assertFalse(configCurator.exists(sessionsPath.append(ConfigCurator.USERAPP_ZK_SUBPATH).append("services.xml").getAbsolute()));
}
@Test
public void require_that_filedistribution_is_ignored_on_dryrun() throws IOException {
- preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(),
- new PrepareParams.Builder().dryRun(true).timeoutBudget(TimeoutBudgetTest.day()).build(),
- Optional.empty(), tenantPath, Instant.now());
+ prepare(testApp, new PrepareParams.Builder().dryRun(true).timeoutBudget(TimeoutBudgetTest.day()).build());
assertThat(fileDistributionFactory.mockFileDistributionProvider.getMockFileDBHandler().sendDeployedFilesCalled, is(0));
assertThat(fileDistributionFactory.mockFileDistributionProvider.getMockFileDBHandler().limitSendingOfDeployedFilesToCalled, is(0));
assertThat(fileDistributionFactory.mockFileDistributionProvider.getMockFileDBHandler().reloadDeployFileDistributorCalled, is(0));
@@ -132,7 +126,7 @@ public class SessionPreparerTest extends TestWithCurator {
@Test
public void require_that_application_is_prepared() throws Exception {
- preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(), new PrepareParams.Builder().build(), Optional.empty(), tenantPath, Instant.now());
+ prepare(testApp, new PrepareParams.Builder().build());
assertThat(fileDistributionFactory.mockFileDistributionProvider.getMockFileDBHandler().sendDeployedFilesCalled, is(2));
// Should be called only once no matter how many model versions are built
assertThat(fileDistributionFactory.mockFileDistributionProvider.getMockFileDBHandler().reloadDeployFileDistributorCalled, is(1));
@@ -145,7 +139,7 @@ public class SessionPreparerTest extends TestWithCurator {
new TestModelFactory(Version.fromIntValues(1, 2, 3)),
new FailingModelFactory(Version.fromIntValues(3, 2, 1), new IllegalArgumentException("BOOHOO"))));
preparer = createPreparer(modelFactoryRegistry, HostProvisionerProvider.empty());
- preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(), new PrepareParams.Builder().build(), Optional.empty(), tenantPath, Instant.now());
+ prepare(testApp, new PrepareParams.Builder().build());
}
@Test(expected = InvalidApplicationException.class)
@@ -154,14 +148,14 @@ public class SessionPreparerTest extends TestWithCurator {
new TestModelFactory(Version.fromIntValues(3, 2, 3)),
new FailingModelFactory(Version.fromIntValues(1, 2, 1), new IllegalArgumentException("BOOHOO"))));
preparer = createPreparer(modelFactoryRegistry, HostProvisionerProvider.empty());
- preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(), new PrepareParams.Builder().build(), Optional.empty(), tenantPath, Instant.now());
+ prepare(testApp, new PrepareParams.Builder().build());
}
@Test(expected = InvalidApplicationException.class)
public void require_exception_for_overlapping_host() throws IOException {
SessionContext ctx = getContext(getApplicationPackage(testApp));
((HostRegistry<ApplicationId>)ctx.getHostValidator()).update(applicationId("foo"), Collections.singletonList("mytesthost"));
- preparer.prepare(ctx, new BaseDeployLogger(), new PrepareParams.Builder().build(), Optional.empty(), tenantPath, Instant.now());
+ prepare(new PrepareParams.Builder().build(), new BaseDeployLogger(), ctx);
}
@Test
@@ -173,7 +167,7 @@ public class SessionPreparerTest extends TestWithCurator {
System.out.println(level + ": "+message);
if (level.equals(LogLevel.WARNING) && message.contains("The host mytesthost is already in use")) logged.append("ok");
};
- preparer.prepare(ctx, logger, new PrepareParams.Builder().build(), Optional.empty(), tenantPath, Instant.now());
+ prepare(testApp, new PrepareParams.Builder().build(), logger);
assertEquals(logged.toString(), "");
}
@@ -184,7 +178,7 @@ public class SessionPreparerTest extends TestWithCurator {
.tenant(tenant)
.applicationName("foo").instanceName("quux").build();
PrepareParams params = new PrepareParams.Builder().applicationId(origId).build();
- preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(), params, Optional.empty(), tenantPath, Instant.now());
+ prepare(testApp, params);
SessionZooKeeperClient zkc = new SessionZooKeeperClient(curator, sessionsPath);
assertTrue(configCurator.exists(sessionsPath.append(SessionZooKeeperClient.APPLICATION_ID_PATH).getAbsolute()));
assertThat(zkc.readApplicationId(), is(origId));
@@ -199,10 +193,8 @@ public class SessionPreparerTest extends TestWithCurator {
new ConfigChangeActionsModelFactory(Version.fromIntValues(1, 2, 4),
new MockRestartAction("other change", Arrays.asList(service)))));
preparer = createPreparer(modelFactoryRegistry, HostProvisionerProvider.empty());
- List<RestartActions.Entry> actions =
- preparer.prepare(getContext(getApplicationPackage(testApp)), getLogger(),
- new PrepareParams.Builder().build(), Optional.empty(), tenantPath, Instant.now())
- .getRestartActions().getEntries();
+ List<RestartActions.Entry> actions = prepare(testApp, new PrepareParams.Builder().build())
+ .getRestartActions().getEntries();
assertThat(actions.size(), is(1));
assertThat(actions.get(0).getMessages(), equalTo(ImmutableSet.of("change", "other change")));
}
@@ -217,7 +209,7 @@ public class SessionPreparerTest extends TestWithCurator {
final ApplicationId applicationId = applicationId("test");
PrepareParams params = new PrepareParams.Builder().applicationId(applicationId).rotations(rotations).build();
File app = new File("src/test/resources/deploy/app");
- preparer.prepare(getContext(getApplicationPackage(app)), getLogger(), params, Optional.empty(), tenantPath, Instant.now());
+ prepare(app, params);
assertThat(readRotationsFromZK(applicationId), contains(new Rotation(rotations)));
}
@@ -233,7 +225,7 @@ public class SessionPreparerTest extends TestWithCurator {
new Rotations(curator, tenantPath).writeRotationsToZooKeeper(applicationId, Collections.singleton(new Rotation(rotations)));
final PrepareParams params = new PrepareParams.Builder().applicationId(applicationId).build();
final File app = new File("src/test/resources/deploy/app");
- preparer.prepare(getContext(getApplicationPackage(app)), getLogger(), params, Optional.empty(), tenantPath, Instant.now());
+ prepare(app, params);
// check that the rotation from zookeeper were used
final ModelContext modelContext = modelFactory.getModelContext();
@@ -244,6 +236,19 @@ public class SessionPreparerTest extends TestWithCurator {
assertThat(readRotationsFromZK(applicationId), contains(new Rotation(rotations)));
}
+ private ConfigChangeActions prepare(File app, PrepareParams params) throws IOException {
+ return prepare(app, params, getLogger());
+ }
+
+ private ConfigChangeActions prepare(File app, PrepareParams params, DeployLogger logger) throws IOException {
+ return prepare(params, logger, getContext(getApplicationPackage(app)));
+ }
+
+ private ConfigChangeActions prepare(PrepareParams params, DeployLogger logger, SessionContext sessionContext) throws IOException {
+ return preparer.prepare(sessionContext, logger, params, Optional.empty(),
+ Optional.empty(), tenantPath, Instant.now());
+ }
+
private SessionContext getContext(FilesApplicationPackage app) throws IOException {
return new SessionContext(app, new SessionZooKeeperClient(curator, sessionsPath), app.getAppDir(), new MemoryTenantApplications(), new HostRegistry<>(), new SuperModelGenerationCounter(curator));
}
@@ -254,12 +259,8 @@ public class SessionPreparerTest extends TestWithCurator {
return FilesApplicationPackage.fromFile(appDir);
}
- DeployHandlerLogger getLogger() {
- return getLogger(false);
- }
-
- DeployHandlerLogger getLogger(boolean verbose) {
- return new DeployHandlerLogger(new Slime().get(), verbose,
+ private DeployHandlerLogger getLogger() {
+ return new DeployHandlerLogger(new Slime().get(), false,
new ApplicationId.Builder().tenant("testtenant").applicationName("testapp").build());
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java
index 71b31754c5d..d2db5d06193 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/session/SessionTest.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.config.server.session;
+import com.yahoo.component.Version;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.path.Path;
import com.yahoo.vespa.config.server.application.ApplicationSet;
@@ -18,14 +19,18 @@ import java.util.Optional;
public class SessionTest {
public static class MockSessionPreparer extends SessionPreparer {
- public boolean isPrepared = false;
+ boolean isPrepared = false;
public MockSessionPreparer() {
- super(null, null, null, null, null, null, new MockCurator(), null);
+ super(null, null, null, null,
+ null, null, new MockCurator(), null);
}
@Override
- public ConfigChangeActions prepare(SessionContext context, DeployLogger logger, PrepareParams params, Optional<ApplicationSet> currentActiveApplicationSet, Path tenantPath, Instant now) {
+ public ConfigChangeActions prepare(SessionContext context, DeployLogger logger, PrepareParams params,
+ Optional<ApplicationSet> currentActiveApplicationSet,
+ Optional<Version> currentVespaVersion,
+ Path tenantPath, Instant now) {
isPrepared = true;
return new ConfigChangeActions(new ArrayList<>());
}