Open static-moonlight opened 1 month ago
I tried it and found that this problem does exist. Log access is normal when the pod is not deleted. After cleaning up the pod, the log on minio should be accessed. I will locate the cause when I have time.
Will fixed by https://github.com/argoproj/argo-workflows/pull/13597
The root cause is that the archived log file name of ContainerSet is different from that of other containers. Containerset uses container name, while others use main.
Pre-requisites
:latest
image tag (i.e.quay.io/argoproj/workflow-controller:latest
) and can confirm the issue still exists on:latest
. If not, I have explained why, in detail, in my description below.What happened? What did you expect to happen?
I am currently looking into ways to optimize the duration of my workflows. And I am looking at containerSet as well. However, I noticed that accessing logs doesn't work well here. Except for a few seconds after the task was finished, the logs are always empty.
But the logs are there, sitting in the artifact repository, waiting to be looked at.
If I click on the link, below the log area (in the UI), I will see them
And yes, I know that the UI specifically states "Your pod GC settings will delete pods and their logs immediately on completion. Logs may not appear for pods that are deleted.".
However, this doesn't seem to be an issue for any other workflow, and using the podGC strategy
OnPodCompletion
is pretty much standard for all my workflows. Simply put: despite what the UI says, it's usually working anyway, except for containerSet tasks.Also consider this: Other people (like operators) are supposed to work with this system as well. If they have difficulties to read the logs, or if there is some extra step necessary, which also breaks the UI experience (the logs are not opened in a new tab or something, they will be opened in the same tab the Argo server UI is currently running in, basically meaning, they will leave the Argo UI to see the logs), this will decrease their general acceptance when I put them in front of a new system like Argo workflows.
Steps to reproduce:
TLDR: The logs are there, Argo can usually show them, even if the pods was already removed, so why does that not work with containerSet?
Version(s)
v.3.5.11
Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
Logs from the workflow controller
Logs from in your workflow's wait container