diff --git a/src/FSLibrary/MissionHistoryPubnetParallelCatchupV2.fs b/src/FSLibrary/MissionHistoryPubnetParallelCatchupV2.fs index 1ab6c4b4..d37fe8ab 100644 --- a/src/FSLibrary/MissionHistoryPubnetParallelCatchupV2.fs +++ b/src/FSLibrary/MissionHistoryPubnetParallelCatchupV2.fs @@ -369,7 +369,7 @@ let dumpLogs (context: MissionContext, podName: String) = for i in lineStart .. logLines.Count - 1 do LogInfo "%s" logLines.[i] - let filename = sprintf "%s.log" podName + let filename = sprintf "FAILED-last%dlines-%s.log" failedJobLogFileLineCount podName context.destination.WriteLines filename (logLines.ToArray()) stream.Close() diff --git a/src/FSLibrary/StellarNamespaceContent.fs b/src/FSLibrary/StellarNamespaceContent.fs index e6ec6ebd..550f3443 100644 --- a/src/FSLibrary/StellarNamespaceContent.fs +++ b/src/FSLibrary/StellarNamespaceContent.fs @@ -18,6 +18,7 @@ type NamespaceContent(kube: Kubernetes, apiRateLimit: int, namespaceProperty: st let ingresses : Set ref = ref Set.empty let jobs : Set ref = ref Set.empty let daemonSets : Set ref = ref Set.empty + let deployments : Set ref = ref Set.empty let ignoreError f = try @@ -96,6 +97,18 @@ type NamespaceContent(kube: Kubernetes, apiRateLimit: int, namespaceProperty: st propagationPolicy = "Foreground" )) + let delDeployment (name: string) = + LogInfo "Deleting Deployment %s" name + ApiRateLimit.sleepUntilNextRateLimitedApiCallTime (apiRateLimit) + + ignoreError + (fun _ -> + kube.DeleteNamespacedDeployment( + namespaceParameter = namespaceProperty, + name = name, + propagationPolicy = "Foreground" + )) + let cleanSet (f: 'a -> unit) (s: Set<'a> ref) : unit = Set.iter f (!s) s := Set.empty @@ -109,6 +122,7 @@ type NamespaceContent(kube: Kubernetes, apiRateLimit: int, namespaceProperty: st member self.Cleanup() = cleanSet delService services cleanSet delStatefulSet statefulSets + cleanSet delDeployment deployments cleanSet delConfigMap configMaps cleanSet delIngress ingresses cleanSet delJob jobs @@ -126,6 +140,8 @@ type NamespaceContent(kube: Kubernetes, apiRateLimit: int, namespaceProperty: st member self.Add(daemonSet: V1DaemonSet) = addOne daemonSets daemonSet.Metadata.Name + member self.Add(deployment: V1Deployment) = addOne deployments deployment.Metadata.Name + member self.Del(service: V1Service) = delOne delService services service.Metadata.Name member self.Del(configMap: V1ConfigMap) = delOne delConfigMap configMaps configMap.Metadata.Name @@ -138,6 +154,8 @@ type NamespaceContent(kube: Kubernetes, apiRateLimit: int, namespaceProperty: st member self.Del(daemonSet: V1DaemonSet) = delOne delDaemonSet daemonSets daemonSet.Metadata.Name + member self.Del(deployment: V1Deployment) = delOne delDeployment deployments deployment.Metadata.Name + member self.AddAll() = ApiRateLimit.sleepUntilNextRateLimitedApiCallTime (apiRateLimit) @@ -169,3 +187,8 @@ type NamespaceContent(kube: Kubernetes, apiRateLimit: int, namespaceProperty: st for d in kube.ListNamespacedDaemonSet(namespaceParameter = namespaceProperty).Items do self.Add(d) + + ApiRateLimit.sleepUntilNextRateLimitedApiCallTime (apiRateLimit) + + for d in kube.ListNamespacedDeployment(namespaceParameter = namespaceProperty).Items do + self.Add(d)