aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@verizonmedia.com>2019-11-15 16:06:40 +0100
committerOla Aunrønning <olaa@verizonmedia.com>2019-11-15 16:06:40 +0100
commitda978ae5a7ae163f33dd604831dded50cb1c6ee3 (patch)
treea5e2da86d1f6cf0b65aa748e911a9e1c68628fa9
parenta078c9d8d365682639477c6d499a48fe12b56ecd (diff)
Map hostname to applicationId
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/MockResourceTagger.java8
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/aws/ResourceTagger.java6
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainer.java10
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ResourceTagMaintainerTest.java8
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")));
}