From 195cccd884298b9f67fcd210bfe243bf7510aba5 Mon Sep 17 00:00:00 2001 From: Victor Chang Date: Wed, 6 Sep 2023 09:30:48 -0700 Subject: [PATCH] Read TaskPriorityClass from config (#872) * Read TaskPriorityClass from config Signed-off-by: Victor Chang --- src/Common/Configuration/TaskManagerConfiguration.cs | 3 +++ src/TaskManager/Plug-ins/Argo/ArgoPlugin.cs | 2 +- src/TaskManager/TaskManager/appsettings.json | 3 ++- tests/UnitTests/TaskManager.Argo.Tests/ArgoPluginTestBase.cs | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Common/Configuration/TaskManagerConfiguration.cs b/src/Common/Configuration/TaskManagerConfiguration.cs index 352dee455..7ab02046a 100644 --- a/src/Common/Configuration/TaskManagerConfiguration.cs +++ b/src/Common/Configuration/TaskManagerConfiguration.cs @@ -74,5 +74,8 @@ public class ArgoPluginArguments [ConfigurationKeyName("messageSenderContainerMemoryLimit")] public string MessageSenderContainerMemoryLimit { get; set; } = "500Mi"; + + [ConfigurationKeyName("taskPriorityClass")] + public string TaskPriorityClass { get; set; } = string.Empty; } } diff --git a/src/TaskManager/Plug-ins/Argo/ArgoPlugin.cs b/src/TaskManager/Plug-ins/Argo/ArgoPlugin.cs index fdafd7232..579378c86 100755 --- a/src/TaskManager/Plug-ins/Argo/ArgoPlugin.cs +++ b/src/TaskManager/Plug-ins/Argo/ArgoPlugin.cs @@ -432,7 +432,7 @@ private async Task BuildWorkflowWrapper(CancellationToken cancellation private void ProcessTaskPluginArguments(Workflow workflow) { Guard.Against.Null(workflow, nameof(workflow)); - var priorityClassName = Event.GetTaskPluginArgumentsParameter(ArgoParameters.TaskPriorityClassName) ?? "standard"; + var priorityClassName = Event.GetTaskPluginArgumentsParameter(ArgoParameters.TaskPriorityClassName) ?? _options.Value.TaskManager.ArgoPluginArguments.TaskPriorityClass; foreach (var template in workflow.Spec.Templates) { diff --git a/src/TaskManager/TaskManager/appsettings.json b/src/TaskManager/TaskManager/appsettings.json index 684258a85..9353ca939 100755 --- a/src/TaskManager/TaskManager/appsettings.json +++ b/src/TaskManager/TaskManager/appsettings.json @@ -59,7 +59,8 @@ "messageGeneratorContainerCpuLimit": "1", "messageGeneratorContainerMemoryLimit": "500Mi", "messageSenderContainerCpuLimit": "1", - "messageSenderContainerMemoryLimit": "500Mi" + "messageSenderContainerMemoryLimit": "500Mi", + "taskPriorityClass": "" }, "argoExitHookSendMessageContainerImage": "ghcr.io/project-monai/monai-deploy-task-manager-callback:0.2.0-beta.211" }, diff --git a/tests/UnitTests/TaskManager.Argo.Tests/ArgoPluginTestBase.cs b/tests/UnitTests/TaskManager.Argo.Tests/ArgoPluginTestBase.cs index 0e93c3b39..93e8037e0 100644 --- a/tests/UnitTests/TaskManager.Argo.Tests/ArgoPluginTestBase.cs +++ b/tests/UnitTests/TaskManager.Argo.Tests/ArgoPluginTestBase.cs @@ -100,6 +100,7 @@ public ArgoPluginTestBase() Options.Value.TaskManager.ArgoPluginArguments.MessageGeneratorContainerMemoryLimit = MessageGeneratorContainerMemoryLimit; Options.Value.TaskManager.ArgoPluginArguments.MessageSenderContainerCpuLimit = MessageSenderContainerCpuLimit; Options.Value.TaskManager.ArgoPluginArguments.MessageSenderContainerMemoryLimit = MessageSenderContainerMemoryLimit; + Options.Value.TaskManager.ArgoPluginArguments.TaskPriorityClass = "standard"; } } }