diff options
author | Eirik Nygaard <eirik.nygaard@yahooinc.com> | 2022-04-24 21:31:52 +0200 |
---|---|---|
committer | Eirik Nygaard <eirik.nygaard@yahooinc.com> | 2022-04-24 21:32:50 +0200 |
commit | 20fd51daffdda837cad866a6eab3378079d6c35c (patch) | |
tree | cc497ed313d785b6cae53c34ea968c4f857a9ed5 | |
parent | 42dfc8a672fa4e088246fd8d7430a61b724bcbdf (diff) |
Notifications should link to tenant and application name combination
3 files changed, 22 insertions, 9 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 935ba17eed6..7ac7a36d742 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.ApplicationName; import com.yahoo.config.provision.AthenzDomain; import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.Environment; @@ -85,6 +86,9 @@ public interface ZoneRegistry { URI dashboardUrl(TenantName id); /** Returns a URL which displays information about the given application. */ + URI dashboardUrl(TenantName tenantName, ApplicationName applicationName); + + /** Returns a URL which displays information about the given application instance. */ URI dashboardUrl(ApplicationId id); /** Returns a URL which displays information about the given job run. */ diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notify/Notifier.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notify/Notifier.java index 7692752f3ca..19d5cd8c1b3 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notify/Notifier.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/notify/Notifier.java @@ -106,16 +106,19 @@ public class Notifier { } private URI url(NotificationSource source) { - if (source.application().isPresent() && source.instance().isPresent()) { - if (source.jobType().isPresent() && source.runNumber().isPresent()) { - return zoneRegistry.dashboardUrl( - new RunId(ApplicationId.from(source.tenant(), - source.application().get(), - source.instance().get()), - source.jobType().get(), - source.runNumber().getAsLong())); + if (source.application().isPresent()) { + if (source.instance().isPresent()) { + if (source.jobType().isPresent() && source.runNumber().isPresent()) { + return zoneRegistry.dashboardUrl( + new RunId(ApplicationId.from(source.tenant(), + source.application().get(), + source.instance().get()), + source.jobType().get(), + source.runNumber().getAsLong())); + } + return zoneRegistry.dashboardUrl(ApplicationId.from(source.tenant(), source.application().get(), source.instance().get())); } - return zoneRegistry.dashboardUrl(ApplicationId.from(source.tenant(), source.application().get(), source.instance().get())); + return zoneRegistry.dashboardUrl(source.tenant(), source.application().get()); } return zoneRegistry.dashboardUrl(source.tenant()); } 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 a4b17239626..5b8e25cbfe8 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 @@ -3,6 +3,7 @@ package com.yahoo.vespa.hosted.controller.integration; import com.yahoo.component.AbstractComponent; import com.yahoo.config.provision.ApplicationId; +import com.yahoo.config.provision.ApplicationName; import com.yahoo.config.provision.AthenzDomain; import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.Environment; @@ -200,6 +201,11 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry } @Override + public URI dashboardUrl(TenantName tenantName, ApplicationName applicationName) { + return URI.create("https://dashboard.tld/" + tenantName + "/" + applicationName); + } + + @Override public URI dashboardUrl(TenantName tenantName) { return URI.create("https://dashboard.tld/" + tenantName); } |