From 414ed697ae31b9f9c218ef947672f98b0b148e0a Mon Sep 17 00:00:00 2001 From: Bence Kosztolnik Date: Tue, 26 Nov 2024 15:22:32 +0100 Subject: [PATCH] queue-details.ftl --- .../koko/yayu/controller/QueueController.java | 70 ++++++++++++++++++- .../resources/templates/queue-details.ftl | 27 +++++++ 2 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/templates/queue-details.ftl diff --git a/src/main/java/koko/yayu/controller/QueueController.java b/src/main/java/koko/yayu/controller/QueueController.java index 0d9c41a..c93bbb3 100644 --- a/src/main/java/koko/yayu/controller/QueueController.java +++ b/src/main/java/koko/yayu/controller/QueueController.java @@ -6,6 +6,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import koko.yayu.generator.ComponentGenerator; import koko.yayu.service.apiservice.RestApiService; import koko.yayu.util.YayuUtil; import org.json.JSONObject; @@ -46,8 +47,73 @@ public String queues(Model model, @PathVariable String queuePath) { .filter(queue -> queuePath.equals(queue.getString("queuePath"))) .findFirst() .orElseThrow(() -> new RuntimeException("queue not found")); - model.addAttribute("props", found); - return "details"; + + model.addAttribute("am", ComponentGenerator.create() + .setTitle("AM Limits") + .addField("/AMResourceLimit/memory", "AM Memory Limit") + .addField("/AMResourceLimit/vCores", "AM vCore Limit") + .addField("/userAMResourceLimit/memory", "User AM Memory Limit") + .addField("/userAMResourceLimit/vCores", "User AM vCore Limit") + .addField("/usedAMResource/memory", "Used AM memory") + .addField("/usedAMResource/vCores", "Used AM vCore") + .generate(found) + ); + + model.addAttribute("capacity", ComponentGenerator.create() + .setTitle("Capacity") + .addField("/absoluteCapacity") + .addField("/absoluteMaxCapacity") + .addField("/absoluteUsedCapacity") + .addField("/usedCapacity") + .addField("/maxCapacity") + .generate(found) + ); + + model.addAttribute("config", ComponentGenerator.create() + .setTitle("Config") + .addField("/autoCreateChildQueueEnabled") + .addField("/autoCreationEligibility") + .addField("/configuredMaxAMResourceLimit") + .addField("/creationMethod") + .addField("/defaultPriority") + .addField("/hideReservationQueues") + .addField("/intraQueuePreemptionDisabled") + .addField("/isAbsoluteResource") + .addField("/isAutoCreatedLeafQueue") + .addField("/maxApplications") + .addField("/maxApplicationsPerUser") + .addField("/maxApplications") + .addField("/maxParallelApps") + .addField("/mode") + .addField("/orderingPolicyInfo") + .addField("/preemptionDisabled") + .addField("/queueType") + .addField("/userLimit") + .addField("/userLimitFactor") + .generate(found) + ); + + model.addAttribute("acls", ComponentGenerator.create() + .setTitle("ACLs") + .addField("/accessType") + .addField("/accessControlList") + .generate(YayuUtil.mapJsonList(found, "queueAcls", "queueAcl")) + ); + + model.addAttribute("state", ComponentGenerator.create() + .setTitle("State") + .addField("/allocatedContainers") + .addField("/children") + .addField("/numActiveApplications") + .addField("/numApplications") + .addField("/numContainers") + .addField("/pendingContainers") + .addField("/reservedContainers") + .addField("/state") + .generate(found) + ); + + return "queue-details"; } public Stream flatten(List queues) { diff --git a/src/main/resources/templates/queue-details.ftl b/src/main/resources/templates/queue-details.ftl new file mode 100644 index 0000000..17a0d0d --- /dev/null +++ b/src/main/resources/templates/queue-details.ftl @@ -0,0 +1,27 @@ + + + + YAYU + + + +<#include "nav-bar.ftl"> +
+
+
+
+ ${am} + ${acls} +
+
+ ${capacity} + ${state} +
+
+ ${config} +
+
+
+
+ + \ No newline at end of file