From 094fa05c0eaae2b302cf6f35b4c68b08b2172fd0 Mon Sep 17 00:00:00 2001 From: Øyvind Grønnesby Date: Thu, 18 Jul 2019 17:00:22 +0200 Subject: Make AthenzDomain for the system available from ZoneRegistry --- .../vespa/hosted/controller/api/integration/zone/ZoneRegistry.java | 5 ++++- .../vespa/hosted/controller/integration/ZoneRegistryMock.java | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java index db9291cd651..d8c8bfcd70e 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.hosted.controller.api.integration.zone; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.AthenzDomain; import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.RegionName; @@ -10,7 +11,6 @@ import com.yahoo.config.provision.zone.UpgradePolicy; import com.yahoo.config.provision.zone.ZoneFilter; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.athenz.api.AthenzIdentity; -import com.yahoo.vespa.athenz.api.AthenzService; import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId; import com.yahoo.vespa.hosted.controller.api.integration.deployment.RunId; @@ -56,6 +56,9 @@ public interface ZoneRegistry { /** Return the configserver's Athenz service identity */ AthenzIdentity getConfigServerAthenzIdentity(ZoneId zoneId); + /** Return the system Athenz domain */ + AthenzDomain getSystemAthenzDomain(); + /** Returns the Vespa upgrade policy to use for zones in this registry */ UpgradePolicy upgradePolicy(); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java index f802a6af549..0cc24d3eeae 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java @@ -6,6 +6,7 @@ import com.google.inject.Inject; import com.yahoo.cloud.config.ConfigserverConfig; import com.yahoo.component.AbstractComponent; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.AthenzDomain; import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.RegionName; @@ -27,7 +28,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.stream.Collectors; /** * @author mpolden @@ -107,6 +107,11 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry return new AthenzService("vespadomain", "provider-" + zone.environment().value() + "-" + zone.region().value()); } + @Override + public AthenzDomain getSystemAthenzDomain() { + return AthenzDomain.from("vespadomain"); + } + @Override public UpgradePolicy upgradePolicy() { return upgradePolicy; -- cgit v1.2.3 From 466b9915fc3ec5a59abf7318e3657bf58999c4f6 Mon Sep 17 00:00:00 2001 From: Øyvind Grønnesby Date: Thu, 18 Jul 2019 17:00:44 +0200 Subject: Use AthenzDomain from ZoneRegistry when building configuration --- .../hosted/controller/deployment/InternalStepRunner.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java index 45620c262cb..2f8dcb96b23 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java @@ -12,7 +12,6 @@ import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.AthenzDomain; import com.yahoo.config.provision.AthenzService; import com.yahoo.config.provision.ClusterSpec; -import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.io.IOUtils; import com.yahoo.log.LogLevel; @@ -587,7 +586,7 @@ public class InternalStepRunner implements StepRunner { ApplicationVersion version = controller.jobController().run(id).get().versions().targetApplication(); DeploymentSpec spec = controller.applications().require(id.application()).deploymentSpec(); - byte[] servicesXml = servicesXml(controller.system(), testerFlavorFor(id, spec)); + byte[] servicesXml = servicesXml(controller.zoneRegistry().getSystemAthenzDomain(), testerFlavorFor(id, spec)); byte[] testPackage = controller.applications().applicationStore().get(id.tester(), version); ZoneId zone = id.type().zone(controller.system()); @@ -619,9 +618,7 @@ public class InternalStepRunner implements StepRunner { } /** Returns the generated services.xml content for the tester application. */ - static byte[] servicesXml(SystemName systemName, Optional testerFlavor) { - String domain = systemName == SystemName.main ? "vespa.vespa" : "vespa.vespa.cd"; - + static byte[] servicesXml(AthenzDomain domain, Optional testerFlavor) { String flavor = testerFlavor.orElse("d-1-4-50"); int memoryGb = Integer.parseInt(flavor.split("-")[2]); // Memory available in tester container. int jdiscMemoryPercentage = (int) Math.ceil(200.0 / memoryGb); // 2Gb memory for tester application (excessive?). @@ -646,7 +643,7 @@ public class InternalStepRunner implements StepRunner { " \n" + " \n" + " \n" + - " \n" + // Set up dummy access control to pass validation :/ + " \n" + // Set up dummy access control to pass validation :/ " \n" + " http://*/tester/v1/*\n" + " \n" + @@ -659,7 +656,7 @@ public class InternalStepRunner implements StepRunner { " \n" + " \n" + " \n" + - " " + domain + ":tester-application\n" + + " " + domain.value() + ":tester-application\n" + " deploy\n" + " \n" + " \n" + -- cgit v1.2.3 From a2d00cfb32da38b9e2248068fd26eb826a0f1794 Mon Sep 17 00:00:00 2001 From: Øyvind Grønnesby Date: Fri, 19 Jul 2019 10:26:43 +0200 Subject: Rename method --- .../vespa/hosted/controller/api/integration/zone/ZoneRegistry.java | 2 +- .../yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java | 2 +- .../com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java index d8c8bfcd70e..7d037b928cd 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java @@ -57,7 +57,7 @@ public interface ZoneRegistry { AthenzIdentity getConfigServerAthenzIdentity(ZoneId zoneId); /** Return the system Athenz domain */ - AthenzDomain getSystemAthenzDomain(); + AthenzDomain getSystemAccessControlDomain(); /** Returns the Vespa upgrade policy to use for zones in this registry */ UpgradePolicy upgradePolicy(); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java index 2f8dcb96b23..eb45780e331 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java @@ -586,7 +586,7 @@ public class InternalStepRunner implements StepRunner { ApplicationVersion version = controller.jobController().run(id).get().versions().targetApplication(); DeploymentSpec spec = controller.applications().require(id.application()).deploymentSpec(); - byte[] servicesXml = servicesXml(controller.zoneRegistry().getSystemAthenzDomain(), testerFlavorFor(id, spec)); + byte[] servicesXml = servicesXml(controller.zoneRegistry().getSystemAccessControlDomain(), testerFlavorFor(id, spec)); byte[] testPackage = controller.applications().applicationStore().get(id.tester(), version); ZoneId zone = id.type().zone(controller.system()); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java index 0cc24d3eeae..b9905f6288b 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java @@ -108,7 +108,7 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry } @Override - public AthenzDomain getSystemAthenzDomain() { + public AthenzDomain getSystemAccessControlDomain() { return AthenzDomain.from("vespadomain"); } -- cgit v1.2.3 From 224019445670dd593c941accded6d89331836ee3 Mon Sep 17 00:00:00 2001 From: Øyvind Grønnesby Date: Fri, 19 Jul 2019 10:45:16 +0200 Subject: Rename method --- .../vespa/hosted/controller/api/integration/zone/ZoneRegistry.java | 2 +- .../yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java | 2 +- .../com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java index 7d037b928cd..475671181e3 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/zone/ZoneRegistry.java @@ -57,7 +57,7 @@ public interface ZoneRegistry { AthenzIdentity getConfigServerAthenzIdentity(ZoneId zoneId); /** Return the system Athenz domain */ - AthenzDomain getSystemAccessControlDomain(); + AthenzDomain accessControlDomain(); /** Returns the Vespa upgrade policy to use for zones in this registry */ UpgradePolicy upgradePolicy(); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java index eb45780e331..d2942d77b7a 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunner.java @@ -586,7 +586,7 @@ public class InternalStepRunner implements StepRunner { ApplicationVersion version = controller.jobController().run(id).get().versions().targetApplication(); DeploymentSpec spec = controller.applications().require(id.application()).deploymentSpec(); - byte[] servicesXml = servicesXml(controller.zoneRegistry().getSystemAccessControlDomain(), testerFlavorFor(id, spec)); + byte[] servicesXml = servicesXml(controller.zoneRegistry().accessControlDomain(), testerFlavorFor(id, spec)); byte[] testPackage = controller.applications().applicationStore().get(id.tester(), version); ZoneId zone = id.type().zone(controller.system()); diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java index b9905f6288b..cff0f8da463 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java @@ -108,7 +108,7 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry } @Override - public AthenzDomain getSystemAccessControlDomain() { + public AthenzDomain accessControlDomain() { return AthenzDomain.from("vespadomain"); } -- cgit v1.2.3 From 8b372efe2a7347c24f7db6326d314e840362d070 Mon Sep 17 00:00:00 2001 From: Øyvind Grønnesby Date: Fri, 19 Jul 2019 13:49:55 +0200 Subject: Fix test --- .../hosted/controller/deployment/InternalStepRunnerTest.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java index 095651df033..f8157680cfd 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java @@ -3,15 +3,12 @@ package com.yahoo.vespa.hosted.controller.deployment; import com.yahoo.component.Version; import com.yahoo.config.application.api.DeploymentSpec; -import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.AthenzDomain; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.HostName; -import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.slime.ArrayTraverser; import com.yahoo.slime.Inspector; -import com.yahoo.slime.JsonFormat; -import com.yahoo.slime.ObjectTraverser; import com.yahoo.vespa.config.SlimeUtils; import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.ConfigChangeActions; import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.RefeedAction; @@ -28,7 +25,6 @@ import com.yahoo.vespa.hosted.controller.application.RoutingPolicy; import org.junit.Before; import org.junit.Test; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.UncheckedIOException; import java.net.URI; @@ -38,7 +34,6 @@ import java.nio.file.Paths; import java.time.Duration; import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.Optional; import java.util.Set; import java.util.concurrent.Executors; @@ -404,7 +399,7 @@ public class InternalStepRunnerTest { @Test public void generates_correct_services_xml_test() { - assertFile("test_runner_services.xml-cd", new String(InternalStepRunner.servicesXml(SystemName.cd, Optional.of("d-2-12-75")))); + assertFile("test_runner_services.xml-cd", new String(InternalStepRunner.servicesXml(AthenzDomain.from("vespa.vespa.cd"), Optional.of("d-2-12-75")))); } private void assertFile(String resourceName, String actualContent) { -- cgit v1.2.3