-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CopyFile
and GetFileContents
of kubelet executor don't work
#1003
Comments
@jessesuen I remember we discussed how this feature should be implemented instead of #1022 in offline and you had the idea of utilizing |
@dtaniwaki i have the work staged in a branch right now: The logic to mirror the volume mounts to main container is here: What is not implemented yet is to update the wait logic for K8s/kubelet executor and make use of the mirrored volume mounts. |
Cool! I'm looking forward to the feature. |
I made a comment inline in the diff. Please check it. |
This was fixed as part of #1214. We now have limited support for copying out artifacts from kubelet/k8s executors, as long as the artifact is in a volume (e.g. an emptyDir). All volumes are now mirrored to the wait sidecar, which allows this to happen. |
…argoproj#1003) Signed-off-by: Derek Wang <whynowy@gmail.com>
Is this a BUG REPORT or FEATURE REQUEST?:
BUG REPORT
What happened:
I'm implementing K8sAPI executor and almost finished the implementation based on the kubelet executor. However, I found
CopyFile
andGetFileContents
of the kubelet executor don't work because the container to execute commands is terminated.Here's the wait container log when I tried the artifact-passing example.
wait-container.log
I confirmed the docker executor works because
docker cp
can be executed for terminated containers.What you expected to happen:
CopyFile
andGetFileContents
of the kubelet executor should work. Am I missing something to use the kubelet executor?If it doesn't work and Argo doesn't support it, it should fail with an unsupported error message instead of the raw output from kubelet API.
How to reproduce it (as minimally and precisely as possible):
Use the kubelet executor for artifact-passing example.
Anything else we need to know?:
Environment:
The text was updated successfully, but these errors were encountered: