diff options
author | Morten Tokle <mortent@oath.com> | 2017-11-22 14:07:37 +0100 |
---|---|---|
committer | Morten Tokle <mortent@oath.com> | 2017-11-22 14:07:37 +0100 |
commit | a304ae016dd10ffcb7018dff77207415dcab3483 (patch) | |
tree | 272fba651df88323e1b740932a818ba7f9b3e43d /config-model/src/main/java/com/yahoo | |
parent | a677dbb09f92d1c19ed394ebb93b2e5f247fa8c5 (diff) |
Remove deploymentspec member variable
Diffstat (limited to 'config-model/src/main/java/com/yahoo')
-rw-r--r-- | config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index e91d360c9f8..5049bd43db5 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -93,7 +93,6 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { private final boolean standaloneBuilder; private final Networking networking; protected DeployLogger log; - private Optional<DeploymentSpec> deploymentSpec; public static final List<ConfigModelId> configModelIds = ImmutableList.of(ConfigModelId.fromName("container"), ConfigModelId.fromName("jdisc")); @@ -117,7 +116,6 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { @Override public void doBuild(ContainerModel model, Element spec, ConfigModelContext modelContext) { app = modelContext.getApplicationPackage(); - deploymentSpec = app.getDeployment().map(DeploymentSpec::fromXml); checkVersion(spec); this.log = modelContext.getDeployLogger(); @@ -174,30 +172,31 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { // Athenz copper argos // NOTE: Must be done after addNodes() - addIdentityProvider(cluster, - context.getDeployState().getProperties().configServerSpecs(), - context.getDeployState().getProperties().loadBalancerName(), - context.getDeployState().zone()); - - addRotationProperties(cluster, context.getDeployState().zone(), context.getDeployState().getRotations()); + app.getDeployment().map(DeploymentSpec::fromXml) + .ifPresent(deplspec -> { + addIdentityProvider(cluster, + context.getDeployState().getProperties().configServerSpecs(), + context.getDeployState().getProperties().loadBalancerName(), + context.getDeployState().zone(), + deplspec); + + addRotationProperties(cluster, context.getDeployState().zone(), context.getDeployState().getRotations(), deplspec); + }); //TODO: overview handler, see DomQrserverClusterBuilder } - private void addRotationProperties(ContainerCluster cluster, Zone zone, Set<Rotation> rotations) { - Optional<String> globalServiceId = deploymentSpec.flatMap(DeploymentSpec::globalServiceId); + private void addRotationProperties(ContainerCluster cluster, Zone zone, Set<Rotation> rotations, DeploymentSpec spec) { cluster.getContainers().forEach(container -> { - setRotations(container, rotations, globalServiceId, cluster.getName()); - container.setProp("activeRotation", Boolean.toString(zoneHasActiveRotation(zone))); + setRotations(container, rotations, spec.globalServiceId(), cluster.getName()); + container.setProp("activeRotation", Boolean.toString(zoneHasActiveRotation(zone, spec))); }); } - private boolean zoneHasActiveRotation(Zone zone) { - return deploymentSpec.map(DeploymentSpec::zones) - .map(List::stream) - .map(x -> x.anyMatch(declaredZone -> declaredZone.deploysTo(zone.environment(), Optional.of(zone.region())) && - declaredZone.active())) - .orElse(false); + private boolean zoneHasActiveRotation(Zone zone, DeploymentSpec spec) { + return spec.zones().stream() + .anyMatch(declaredZone -> declaredZone.deploysTo(zone.environment(), Optional.of(zone.region())) && + declaredZone.active()); } private void setRotations(Container container, Set<Rotation> rotations, Optional<String> globalServiceId, String containerClusterName) { @@ -732,18 +731,16 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> { } } - private void addIdentityProvider(ContainerCluster cluster, List<ConfigServerSpec> configServerSpecs, HostName loadBalancerName, Zone zone) { - deploymentSpec.ifPresent(spec -> { - spec.athenzDomain().ifPresent(domain -> { - AthenzService service = spec.athenzService(zone.environment(), zone.region()) - .orElseThrow(() -> new RuntimeException("Missing Athenz service configuration")); - IdentityProvider identityProvider = new IdentityProvider(domain, service, getLoadBalancerName(loadBalancerName, configServerSpecs)); - cluster.addComponent(identityProvider); + private void addIdentityProvider(ContainerCluster cluster, List<ConfigServerSpec> configServerSpecs, HostName loadBalancerName, Zone zone, DeploymentSpec spec) { + spec.athenzDomain().ifPresent(domain -> { + AthenzService service = spec.athenzService(zone.environment(), zone.region()) + .orElseThrow(() -> new RuntimeException("Missing Athenz service configuration")); + IdentityProvider identityProvider = new IdentityProvider(domain, service, getLoadBalancerName(loadBalancerName, configServerSpecs)); + cluster.addComponent(identityProvider); - cluster.getContainers().forEach(container -> { - container.setProp("identity.domain", domain.value()); - container.setProp("identity.service", service.value()); - }); + cluster.getContainers().forEach(container -> { + container.setProp("identity.domain", domain.value()); + container.setProp("identity.service", service.value()); }); }); } |