From 92a5a1e361ad5b83d572f96b61df4b9599e7dd38 Mon Sep 17 00:00:00 2001 From: ThatBen Date: Fri, 21 Feb 2025 15:21:42 +0100 Subject: [PATCH] fixes crashwatcher stop --- Framework/KubernetesWorkflow/ContainerCrashWatcher.cs | 4 ++-- Framework/KubernetesWorkflow/K8sController.cs | 5 ++++- ProjectPlugins/CodexPlugin/CodexContainerProcessControl.cs | 2 +- Tests/CodexReleaseTests/DataTests/StreamlessDownloadTest.cs | 4 +--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Framework/KubernetesWorkflow/ContainerCrashWatcher.cs b/Framework/KubernetesWorkflow/ContainerCrashWatcher.cs index 2932b01f..f4f181aa 100644 --- a/Framework/KubernetesWorkflow/ContainerCrashWatcher.cs +++ b/Framework/KubernetesWorkflow/ContainerCrashWatcher.cs @@ -70,13 +70,13 @@ namespace KubernetesWorkflow using var client = new Kubernetes(config); while (!token.IsCancellationRequested) { - token.WaitHandle.WaitOne(TimeSpan.FromSeconds(10)); - if (HasContainerBeenRestarted(client)) { DownloadCrashedContainerLogs(client); return; } + + token.WaitHandle.WaitOne(TimeSpan.FromSeconds(10)); } } diff --git a/Framework/KubernetesWorkflow/K8sController.cs b/Framework/KubernetesWorkflow/K8sController.cs index fb4f2fb9..9c71fe30 100644 --- a/Framework/KubernetesWorkflow/K8sController.cs +++ b/Framework/KubernetesWorkflow/K8sController.cs @@ -735,7 +735,10 @@ namespace KubernetesWorkflow throw new Exception($"Expected to find 1 pod by podLabel '{deployment.PodLabel}'. Found: {pods.Length}. " + $"Total number of pods: {allPods.Items.Count}. Their labels: {string.Join(Environment.NewLine, allLabels)}"); } - return pods[0]; + var pod = pods[0]; + if (pod.Status == null) throw new Exception("Pod status unknown"); + if (string.IsNullOrEmpty(pod.Status.PodIP)) throw new Exception("Pod IP unknown"); + return pod; } #endregion diff --git a/ProjectPlugins/CodexPlugin/CodexContainerProcessControl.cs b/ProjectPlugins/CodexPlugin/CodexContainerProcessControl.cs index a6afc2fe..49bc4950 100644 --- a/ProjectPlugins/CodexPlugin/CodexContainerProcessControl.cs +++ b/ProjectPlugins/CodexPlugin/CodexContainerProcessControl.cs @@ -26,9 +26,9 @@ namespace CodexPlugin public void Stop(bool waitTillStopped) { Log($"Stopping node..."); + crashWatcher.Stop(); var workflow = tools.CreateWorkflow(); workflow.Stop(pod, waitTillStopped); - crashWatcher.Stop(); onStop(); Log("Stopped."); } diff --git a/Tests/CodexReleaseTests/DataTests/StreamlessDownloadTest.cs b/Tests/CodexReleaseTests/DataTests/StreamlessDownloadTest.cs index fd431ffa..d53d16dc 100644 --- a/Tests/CodexReleaseTests/DataTests/StreamlessDownloadTest.cs +++ b/Tests/CodexReleaseTests/DataTests/StreamlessDownloadTest.cs @@ -1,7 +1,5 @@ -using CodexPlugin; -using CodexTests; +using CodexTests; using NUnit.Framework; -using System.Drawing; using Utils; namespace CodexReleaseTests.DataTests