diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2019-02-01 10:59:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-01 10:59:07 +0100 |
commit | 809e726cb714fd357eec4de4553e0b5d331423ba (patch) | |
tree | 8418cd318e05ba8e605a8ffaed21acf2fc647e95 | |
parent | f8c80ad311b6136711d2925bb751a55fe1cf75bb (diff) | |
parent | 74cfd1f7eef8a9eb78fbf8f049b4df27713e3831 (diff) |
Merge pull request #8326 from vespa-engine/jvenstad/upgrade-within-majors-in-dev
Upgrade in dev/perf when old session is on same major MERGEOK
-rw-r--r-- | configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java | 6 | ||||
-rw-r--r-- | configserver/src/test/java/com/yahoo/vespa/config/server/ApplicationRepositoryTest.java | 13 |
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 |