aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-04-16 19:13:44 +0200
committerjonmv <venstad@gmail.com>2022-04-19 10:38:07 +0200
commitf9133d57754e4659f1fd8dc6efe82c5120f789dc (patch)
treec2944fb9c15f46217c7ef437307b22d2d3f2f734 /controller-server
parent14a5b194aef938fbaa91a80d9140c73c117619cc (diff)
Use JobType.fromJobName with zones all other places than in sdeserialisation
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/BadgeApiHandler.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/filter/AthenzRoleFilter.java6
3 files changed, 10 insertions, 8 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index 8b43de58cbe..375e0a6c1bf 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -713,7 +713,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
propertyEquals(request, "application", ApplicationName::from, notification.source().application()) &&
propertyEquals(request, "instance", InstanceName::from, notification.source().instance()) &&
propertyEquals(request, "zone", ZoneId::from, notification.source().zoneId()) &&
- propertyEquals(request, "job", JobType::fromJobName, notification.source().jobType()) &&
+ propertyEquals(request, "job", job -> JobType.fromJobName(job, controller.zoneRegistry()), notification.source().jobType()) &&
propertyEquals(request, "type", Notification.Type::valueOf, Optional.of(notification.type())) &&
propertyEquals(request, "level", Notification.Level::valueOf, Optional.of(notification.level())))
.forEach(notification -> toSlime(notificationsArray.addObject(), notification, includeTenantFieldInResponse, excludeMessages));
@@ -2715,11 +2715,11 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
return ApplicationId.from(path.get("tenant"), path.get("application"), path.get("instance"));
}
- private static JobType jobTypeFromPath(Path path) {
- return JobType.fromJobName(path.get("jobtype"));
+ private JobType jobTypeFromPath(Path path) {
+ return JobType.fromJobName(path.get("jobtype"), controller.zoneRegistry());
}
- private static RunId runIdFromPath(Path path) {
+ private RunId runIdFromPath(Path path) {
long number = Long.parseLong(path.get("number"));
return new RunId(appIdFromPath(path), jobTypeFromPath(path), number);
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/BadgeApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/BadgeApiHandler.java
index eb74f931b2c..3078eb3cb24 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/BadgeApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/deployment/BadgeApiHandler.java
@@ -90,7 +90,7 @@ public class BadgeApiHandler extends ThreadedHttpRequestHandler {
/** Returns a URI which points to a history badge for the given application and job type. */
private HttpResponse historyBadge(String tenant, String application, String instance, String jobName, String historyLength) {
ApplicationId id = ApplicationId.from(tenant, application, instance);
- JobType type = JobType.fromJobName(jobName);
+ JobType type = JobType.fromJobName(jobName, controller.zoneRegistry());
int length = historyLength == null ? 5 : Math.min(32, Math.max(0, Integer.parseInt(historyLength)));
return cachedResponse(new Key(id, type, length),
controller.clock().instant(),
@@ -135,7 +135,7 @@ public class BadgeApiHandler extends ThreadedHttpRequestHandler {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Key key = (Key) o;
- return historyLength == key.historyLength && id.equals(key.id) && type == key.type;
+ return historyLength == key.historyLength && id.equals(key.id) && type.equals(key.type);
}
@Override
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/filter/AthenzRoleFilter.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/filter/AthenzRoleFilter.java
index a7472ced09c..43037322f22 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/filter/AthenzRoleFilter.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/filter/AthenzRoleFilter.java
@@ -21,6 +21,7 @@ import com.yahoo.vespa.hosted.controller.TenantController;
import com.yahoo.vespa.hosted.controller.api.integration.athenz.ApplicationAction;
import com.yahoo.vespa.hosted.controller.api.integration.athenz.AthenzClientFactory;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
+import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneRegistry;
import com.yahoo.vespa.hosted.controller.api.role.Role;
import com.yahoo.vespa.hosted.controller.api.role.SecurityContext;
import com.yahoo.vespa.hosted.controller.athenz.impl.AthenzFacade;
@@ -62,6 +63,7 @@ public class AthenzRoleFilter extends JsonSecurityRequestFilterBase {
private final TenantController tenants;
private final ExecutorService executor;
private final SystemName systemName;
+ private final ZoneRegistry zones;
@Inject
public AthenzRoleFilter(AthenzClientFactory athenzClientFactory, Controller controller) {
@@ -69,6 +71,7 @@ public class AthenzRoleFilter extends JsonSecurityRequestFilterBase {
this.tenants = controller.tenants();
this.executor = Executors.newCachedThreadPool();
this.systemName = controller.system();
+ this.zones = controller.zoneRegistry();
}
@Override
@@ -108,8 +111,7 @@ public class AthenzRoleFilter extends JsonSecurityRequestFilterBase {
} else if(path.matches("/application/v4/tenant/{tenant}/application/{application}/environment/{environment}/region/{region}/{*}")) {
zone = Optional.of(ZoneId.from(path.get("environment"), path.get("region")));
} else if(path.matches("/application/v4/tenant/{tenant}/application/{application}/instance/{instance}/deploy/{jobname}")) {
- var jobtype= JobType.fromJobName(path.get("jobname"));
- zone = Optional.of(jobtype.zone(systemName));
+ zone = Optional.of(JobType.fromJobName(path.get("jobname"), zones).zone(systemName));
} else {
zone = Optional.empty();
}