aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-03-31 10:00:03 +0200
committerHarald Musum <musum@verizonmedia.com>2020-03-31 10:00:03 +0200
commit0428599eda9b0a19df5898c3fe1d8ab86d969c2e (patch)
treeac3e603e80e4e48c69f343836fc562352dd0ace0
parent8b4e8084d17a64c6b90767cfe7d4f4805e466c2e (diff)
Set athenz domain
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/ApplicationRepository.java3
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/deploy/Deployment.java17
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java5
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java2
4 files changed, 20 insertions, 7 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 b10726cd73b..08cf4c2d5e0 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
@@ -317,7 +317,8 @@ public class ApplicationRepository implements com.yahoo.config.provision.Deploye
false /* don't validate as this is already deployed */,
newSession.getDockerImageRepository(),
newSession.getVespaVersion(),
- bootstrap));
+ bootstrap,
+ newSession.getAthenzDomain()));
}
@Override
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 7e7bda6b148..629a0eadc0e 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
@@ -4,6 +4,7 @@ package com.yahoo.vespa.config.server.deploy;
import com.yahoo.component.Version;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.AthenzDomain;
import com.yahoo.config.provision.HostFilter;
import com.yahoo.config.provision.Provisioner;
import com.yahoo.log.LogLevel;
@@ -56,6 +57,9 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
/** True if this deployment is done to bootstrap the config server */
private final boolean isBootstrap;
+ /** The (optional) Athenz domain this application should use */
+ private final Optional<AthenzDomain> athenzDomain;
+
private boolean prepared = false;
/** Whether this model should be validated (only takes effect if prepared=false) */
@@ -66,7 +70,8 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
private Deployment(LocalSession session, ApplicationRepository applicationRepository,
Optional<Provisioner> hostProvisioner, Tenant tenant,
Duration timeout, Clock clock, boolean prepared, boolean validate,
- Optional<String> dockerImageRepository, Version version, boolean isBootstrap) {
+ Optional<String> dockerImageRepository, Version version, boolean isBootstrap,
+ Optional<AthenzDomain> athenzDomain) {
this.session = session;
this.applicationRepository = applicationRepository;
this.hostProvisioner = hostProvisioner;
@@ -78,15 +83,16 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
this.dockerImageRepository = dockerImageRepository;
this.version = version;
this.isBootstrap = isBootstrap;
+ this.athenzDomain = athenzDomain;
}
public static Deployment unprepared(LocalSession session, ApplicationRepository applicationRepository,
Optional<Provisioner> hostProvisioner, Tenant tenant,
Duration timeout, Clock clock, boolean validate,
Optional<String> dockerImageRepository, Version version,
- boolean isBootstrap) {
- return new Deployment(session, applicationRepository, hostProvisioner, tenant,
- timeout, clock, false, validate, dockerImageRepository, version, isBootstrap);
+ boolean isBootstrap, Optional<AthenzDomain> athenzDomain) {
+ return new Deployment(session, applicationRepository, hostProvisioner, tenant, timeout, clock, false,
+ validate, dockerImageRepository, version, isBootstrap, athenzDomain);
}
public static Deployment prepared(LocalSession session, ApplicationRepository applicationRepository,
@@ -94,7 +100,7 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
Duration timeout, Clock clock, boolean isBootstrap) {
return new Deployment(session, applicationRepository, hostProvisioner, tenant,
timeout, clock, true, true, session.getDockerImageRepository(),
- session.getVespaVersion(), isBootstrap);
+ session.getVespaVersion(), isBootstrap, session.getAthenzDomain());
}
public void setIgnoreSessionStaleFailure(boolean ignoreSessionStaleFailure) {
@@ -114,6 +120,7 @@ public class Deployment implements com.yahoo.config.provision.Deployment {
.vespaVersion(version.toString())
.isBootstrap(isBootstrap);
dockerImageRepository.ifPresent(params::dockerImageRepository);
+ athenzDomain.ifPresent(params::athenzDomain);
session.prepare(logger, params.build(), Optional.empty(), tenant.getPath(), clock.instant());
this.prepared = true;
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java
index 6a671648b27..f7ed801ddbd 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/PrepareParams.java
@@ -163,6 +163,11 @@ public final class PrepareParams {
return this;
}
+ public Builder athenzDomain(AthenzDomain athenzDomain) {
+ this.athenzDomain = Optional.of(athenzDomain);
+ return this;
+ }
+
public PrepareParams build() {
return new PrepareParams(applicationId, timeoutBudget, ignoreValidationErrors, dryRun,
verbose, isBootstrap, vespaVersion, containerEndpoints, tlsSecretsKeyName,
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
index fc28db1e4b7..06a3dfa8777 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/session/SessionFactoryImpl.java
@@ -129,7 +129,7 @@ public class SessionFactoryImpl implements SessionFactory, LocalSessionLoader {
long activeSessionId = getActiveSessionId(existingApplicationId);
logger.log(LogLevel.DEBUG, "Create from existing application id " + existingApplicationId + ", active session id is " + activeSessionId);
LocalSession session = create(existingApp, existingApplicationId, activeSessionId, internalRedeploy, timeoutBudget);
- // Note: Needs to be kept in sync with callss in SessionPreparer.writeStateToZooKeeper()
+ // Note: Needs to be kept in sync with calls in SessionPreparer.writeStateToZooKeeper()
session.setApplicationId(existingApplicationId);
session.setVespaVersion(existingSession.getVespaVersion());
session.setDockerImageRepository(existingSession.getDockerImageRepository());