diff options
Diffstat (limited to 'controller-server')
3 files changed, 37 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java index dbb3b13f69d..c44c533e995 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/ApplicationController.java @@ -398,7 +398,7 @@ public class ApplicationController { validateRun(application.get().require(instance), zone, platformVersion, applicationVersion); } - endpointCertificateMetadata = endpointCertificateManager.getEndpointCertificate(application.get().require(instance), zone); + endpointCertificateMetadata = endpointCertificateManager.getEndpointCertificateMetadata(application.get().require(instance), zone); endpoints = registerEndpointsInDns(applicationPackage.deploymentSpec(), application.get().require(instanceId.instance()), zone); } // Release application lock while doing the deployment, which is a lengthy task. diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/endpointcertificates/EndpointCertificateManager.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/endpointcertificates/EndpointCertificateManager.java index 22152917f60..4908735659f 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/endpointcertificates/EndpointCertificateManager.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/endpointcertificates/EndpointCertificateManager.java @@ -51,11 +51,9 @@ public class EndpointCertificateManager { this.clock = clock; } - public Optional<EndpointCertificateMetadata> getEndpointCertificate(Instance instance, ZoneId zone) { + public Optional<EndpointCertificateMetadata> getEndpointCertificateMetadata(Instance instance, ZoneId zone) { - if (!zoneRegistry.zones().directlyRouted().ids().contains(zone)) { - return Optional.empty(); - } + if (!zoneRegistry.zones().directlyRouted().ids().contains(zone)) return Optional.empty(); // Re-use certificate if already provisioned Optional<EndpointCertificateMetadata> endpointCertificateMetadata = diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/endpointcertificates/EndpointCertificateManagerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/endpointcertificates/EndpointCertificateManagerTest.java new file mode 100644 index 00000000000..231f8be2ed3 --- /dev/null +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/endpointcertificates/EndpointCertificateManagerTest.java @@ -0,0 +1,34 @@ +package com.yahoo.vespa.hosted.controller.endpointcertificates; + +import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.SystemName; +import com.yahoo.config.provision.zone.ZoneId; +import com.yahoo.vespa.hosted.controller.Instance; +import com.yahoo.vespa.hosted.controller.api.integration.certificates.ApplicationCertificateMock; +import com.yahoo.vespa.hosted.controller.api.integration.certificates.EndpointCertificateMetadata; +import com.yahoo.vespa.hosted.controller.integration.SecretStoreMock; +import com.yahoo.vespa.hosted.controller.integration.ZoneRegistryMock; +import com.yahoo.vespa.hosted.controller.persistence.MockCuratorDb; +import org.junit.Test; + +import java.time.Clock; +import java.util.Optional; + +import static org.junit.Assert.assertTrue; + +public class EndpointCertificateManagerTest { + + @Test + public void getEndpointCertificate() { + SecretStoreMock secretStore = new SecretStoreMock(); + ZoneRegistryMock zoneRegistryMock = new ZoneRegistryMock(SystemName.main); + MockCuratorDb mockCuratorDb = new MockCuratorDb(); + ApplicationCertificateMock applicationCertificateMock = new ApplicationCertificateMock(); + Clock clock = Clock.systemUTC(); + EndpointCertificateManager endpointCertificateManager = new EndpointCertificateManager(zoneRegistryMock, mockCuratorDb, secretStore, applicationCertificateMock, clock); + ZoneId id = zoneRegistryMock.zones().directlyRouted().zones().stream().findFirst().get().getId(); + Instance instance = new Instance(ApplicationId.defaultId()); + Optional<EndpointCertificateMetadata> endpointCertificateMetadata = endpointCertificateManager.getEndpointCertificateMetadata(instance, id); + assertTrue(endpointCertificateMetadata.isPresent()); + } +}
\ No newline at end of file |