summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java6
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java13
2 files changed, 10 insertions, 9 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 16244dd62f3..6aa5ad81309 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
@@ -707,13 +707,13 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
/** Returns version to use when deploying application in given environment */
static Version decideVersion(ApplicationId application, Environment environment, Version sessionVersion, boolean bootstrap) {
- // TODO jvenstad: Re-enable when 7 is forced, or replace with more proper mechanism, using deployment orchestration.
- /*if ( environment.isManuallyDeployed()
+ if ( environment.isManuallyDeployed()
+ && sessionVersion.getMajor() == Vtag.currentVersion.getMajor()
&& ! "hosted-vespa".equals(application.tenant().value()) // Never change version of system applications
&& ! application.instance().isTester() // Never upgrade tester containers
&& ! bootstrap) { // Do not use current version when bootstrapping config server
return Vtag.currentVersion;
- }*/
+ }
return sessionVersion;
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
index 467f4cc84e8..ad25777cdf8 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java
@@ -171,7 +171,8 @@ public class ApplicationRepositoryTest {
ApplicationId regularApp = ApplicationId.from("tenant1", "application1", "default");
ApplicationId systemApp = ApplicationId.from("hosted-vespa", "routing", "default");
ApplicationId testerApp = ApplicationId.from("tenant1", "application1", "default-t");
- Version sessionVersion = Version.fromString("5.0");
+ Version sessionVersion = new Version(Vtag.currentVersion.getMajor(), 0);
+ Version oldSessionVersion = Version.fromString("5.0");
// Always use session version for system application
assertEquals(sessionVersion, ApplicationRepository.decideVersion(systemApp, Environment.prod, sessionVersion, false));
@@ -183,14 +184,14 @@ public class ApplicationRepositoryTest {
assertEquals(sessionVersion, ApplicationRepository.decideVersion(testerApp, Environment.dev, sessionVersion, false));
assertEquals(sessionVersion, ApplicationRepository.decideVersion(testerApp, Environment.perf, sessionVersion, false));
- // Target for regular application depends on environment
+ // Target for regular application depends on environment and major compatibility
assertEquals(sessionVersion, ApplicationRepository.decideVersion(regularApp, Environment.prod, sessionVersion, false));
- assertEquals(sessionVersion, ApplicationRepository.decideVersion(regularApp, Environment.dev, sessionVersion, false));
- // assertEquals(Vtag.currentVersion, ApplicationRepository.decideVersion(regularApp, Environment.dev, sessionVersion, false));
+ assertEquals(Vtag.currentVersion, ApplicationRepository.decideVersion(regularApp, Environment.dev, sessionVersion, false));
+ assertEquals(oldSessionVersion, ApplicationRepository.decideVersion(regularApp, Environment.dev, oldSessionVersion, false));
+
// If bootstrap, version should be target version
assertEquals(sessionVersion, ApplicationRepository.decideVersion(regularApp, Environment.dev, sessionVersion, true));
- assertEquals(sessionVersion, ApplicationRepository.decideVersion(regularApp, Environment.perf, sessionVersion, false));
- // assertEquals(Vtag.currentVersion, ApplicationRepository.decideVersion(regularApp, Environment.perf, sessionVersion, false));
+ assertEquals(Vtag.currentVersion, ApplicationRepository.decideVersion(regularApp, Environment.perf, sessionVersion, false));
}
@Test