aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/certificate
diff options
context:
space:
mode:
authorAndreas Eriksen <andreer@verizonmedia.com>2020-03-04 12:45:55 +0100
committerGitHub <noreply@github.com>2020-03-04 12:45:55 +0100
commitef444e66c24ab1c8b926c09586a6a5a138f64406 (patch)
tree811ac3e096b0f6781f3529ab78b0d1905c251299 /controller-server/src/main/java/com/yahoo/vespa/hosted/controller/certificate
parente9f06463d6847f3b7ab9e8bf748ed2d692763cc1 (diff)
parent455e50dc40c560c7cec9e4d891ba2d7ce9dd039e (diff)
Merge pull request #12430 from vespa-engine/andreer/do-not-fail-if-secret-versions-not-yet-available
do not fail if secret version not yet available
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted/controller/certificate')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/certificate/EndpointCertificateManager.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/certificate/EndpointCertificateManager.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/certificate/EndpointCertificateManager.java
index d9f7d5f36b4..a3d90e423f8 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/certificate/EndpointCertificateManager.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/certificate/EndpointCertificateManager.java
@@ -187,10 +187,13 @@ public class EndpointCertificateManager {
}
private OptionalInt latestVersionInSecretStore(EndpointCertificateMetadata originalCertificateMetadata) {
- var certVersions = new HashSet<>(secretStore.listSecretVersions(originalCertificateMetadata.certName()));
- var keyVersions = new HashSet<>(secretStore.listSecretVersions(originalCertificateMetadata.keyName()));
-
- return Sets.intersection(certVersions, keyVersions).stream().mapToInt(Integer::intValue).max();
+ try {
+ var certVersions = new HashSet<>(secretStore.listSecretVersions(originalCertificateMetadata.certName()));
+ var keyVersions = new HashSet<>(secretStore.listSecretVersions(originalCertificateMetadata.keyName()));
+ return Sets.intersection(certVersions, keyVersions).stream().mapToInt(Integer::intValue).max();
+ } catch (SecretNotFoundException s) {
+ return OptionalInt.empty(); // Likely because the certificate is very recently provisioned - keep current version
+ }
}
private EndpointCertificateMetadata provisionEndpointCertificate(Instance instance, Optional<EndpointCertificateMetadata> currentMetadata) {