diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2019-11-15 16:06:40 +0100 |
---|---|---|
committer | Ola Aunrønning <olaa@verizonmedia.com> | 2019-11-15 16:06:40 +0100 |
commit | da978ae5a7ae163f33dd604831dded50cb1c6ee3 (patch) | |
tree | a5e2da86d1f6cf0b65aa748e911a9e1c68628fa9 | |
parent | a078c9d8d365682639477c6d499a48fe12b56ecd (diff) |
Map hostname to applicationId
4 files changed, 16 insertions, 16 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java index 6992e813b10..0fd114095d7 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java @@ -1,8 +1,8 @@ // Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.api.integration.aws; +import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.HostName; -import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.zone.ZoneApi; import com.yahoo.config.provision.zone.ZoneId; @@ -14,15 +14,15 @@ import java.util.Map; */ public class MockResourceTagger implements ResourceTagger { - Map<ZoneId, Map<HostName, TenantName>> values = new HashMap<>(); + Map<ZoneId, Map<HostName, ApplicationId>> values = new HashMap<>(); @Override - public int tagResources(ZoneApi zone, Map<HostName, TenantName> tenantOfHosts) { + public int tagResources(ZoneApi zone, Map<HostName, ApplicationId> tenantOfHosts) { values.put(zone.getId(), tenantOfHosts); return 0; } - public Map<ZoneId, Map<HostName, TenantName>> getValues() { + public Map<ZoneId, Map<HostName, ApplicationId>> getValues() { return values; } } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java index 46561ccf401..9d0e6481d38 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java @@ -1,8 +1,8 @@ // Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.api.integration.aws; +import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.HostName; -import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.zone.ZoneApi; import java.util.Map; @@ -15,12 +15,12 @@ public interface ResourceTagger { /** * Returns number of tagged resources */ - int tagResources(ZoneApi zone, Map<HostName, TenantName> tenantOfHosts); + int tagResources(ZoneApi zone, Map<HostName, ApplicationId> tenantOfHosts); static ResourceTagger empty() { return new ResourceTagger() { @Override - public int tagResources(ZoneApi zone, Map<HostName, TenantName> tenantOfHosts) { + public int tagResources(ZoneApi zone, Map<HostName, ApplicationId> tenantOfHosts) { return 0; } }; diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java index 32c8d64bf29..44e21b3aed9 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java @@ -1,9 +1,9 @@ // Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.hosted.controller.maintenance; +import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.HostName; -import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.hosted.controller.Controller; import com.yahoo.vespa.hosted.controller.api.integration.aws.ResourceTagger; @@ -31,8 +31,8 @@ public class ResourceTagMaintainer extends Maintainer { .ofCloud(CloudName.from("aws")) .reachable() .zones().forEach(zone -> { - Map<HostName, TenantName> tenantOfHosts = getTenantOfParentHosts(zone.getId()); - int taggedResources = resourceTagger.tagResources(zone, tenantOfHosts); + Map<HostName, ApplicationId> applicationOfHosts = getTenantOfParentHosts(zone.getId()); + int taggedResources = resourceTagger.tagResources(zone, applicationOfHosts); if (taggedResources > 0) log.log(Level.INFO, "Tagged " + taggedResources + " resources in " + zone.getId()); }); @@ -40,14 +40,14 @@ public class ResourceTagMaintainer extends Maintainer { } - private Map<HostName, TenantName> getTenantOfParentHosts(ZoneId zoneId) { + private Map<HostName, ApplicationId> getTenantOfParentHosts(ZoneId zoneId) { return controller().serviceRegistry().configServer().nodeRepository() .list(zoneId) .stream() .filter(node -> node.parentHostname().isPresent() && node.owner().isPresent()) .collect(Collectors.toMap( node -> node.parentHostname().get(), - node -> node.owner().get().tenant() + node -> node.owner().get() )); } } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java index 2421a477568..e5e124d6647 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java @@ -1,7 +1,7 @@ package com.yahoo.vespa.hosted.controller.maintenance; +import com.yahoo.config.provision.ApplicationId; import com.yahoo.config.provision.HostName; -import com.yahoo.config.provision.TenantName; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.vespa.hosted.controller.ControllerTester; import com.yahoo.vespa.hosted.controller.api.integration.aws.MockResourceTagger; @@ -30,9 +30,9 @@ public class ResourceTagMaintainerTest { mockResourceTagger); resourceTagMaintainer.maintain(); assertEquals(2, mockResourceTagger.getValues().size()); - Map<HostName, TenantName> tenanForHost = mockResourceTagger.getValues().get(ZoneId.from("prod.region-2")); - assertEquals(TenantName.from("tenant1"), tenanForHost.get(HostName.from("parentHostA"))); - assertEquals(TenantName.from("tenant2"), tenanForHost.get(HostName.from("parentHostB"))); + Map<HostName, ApplicationId> applicationForHost = mockResourceTagger.getValues().get(ZoneId.from("prod.region-2")); + assertEquals(ApplicationId.from("tenant1", "app1", "default"), applicationForHost.get(HostName.from("parentHostA"))); + assertEquals(ApplicationId.from("tenant2", "app2", "default"), applicationForHost.get(HostName.from("parentHostB"))); } |