diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-03-31 10:00:03 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-03-31 10:00:03 +0200 |
commit | 0428599eda9b0a19df5898c3fe1d8ab86d969c2e (patch) | |
tree | ac3e603e80e4e48c69f343836fc562352dd0ace0 | |
parent | 8b4e8084d17a64c6b90767cfe7d4f4805e466c2e (diff) |
Set athenz domain
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()); |