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
Task using WorkingDirectory cache ends with an error: Unable to execute WorkingDirectory post actions
#2233
Comments
We must support docker runner |
Does it work? I think it has something to do with file write access on some Docker installation so it can be ignored. |
thanks. I shared a reproducer, can you try it? I ran it here on the preview https://preview-oss.kestra.io/ui/executions/dev/python_cached_dependencies/16dIqspaJWkf1eDO3s8i0o/logs?level=TRACE&page=1 and it leads to the error shown in the issue body |
we don't display error if it's work for the end users, so if it work, hide the log |
I can confirm it didn't work |
I checked and this is caused by the container being run as root. This is caused by the Docker daemon being run as root I think. |
Interesting, so it means that the files are properly cached and the error is only due to writing those files with the root user? if so, it seems reasonable to change to WARNING |
Unfortunately this is when creating the cache file so caching will not work. |
we don't have a solution for this atm as it's more a Docker issue than a Kestra issue - for now, we should extend task documentation for the WorkingDirectory task saying that the cache property can only be used with PROCESS runner |
I am getting the same issue but have specified a PROCESS runner for all tasks. My overall Kestra deployment is using Docker with user as ROOT. Is the solution to have Kestra utilize a different system user in its docker compose to resolve the issue? |
Hi @walker-philips, sorry for the late response — I think we don't know yet what's the right way to resolve the issue, that's why it's still open. We might solve it as part of the new script runner for Docker #3153 |
@anna-geller I made a small adjustement by ignoring directories and files that cannot be read (like executables) and I can make it works. I'm not sure but depending on the system you may need to set the docker user to 1000 for ex to avoid permission issue. See #3422 |
nice! let's keep the issue open to QA your change thoroughly first on the develop image |
Explain the bug
Is cache only intended for use with Process runner - @loicmathieu? if so, we can close the issue
reproducer:
stack trace:
changing to PROCESS runner works:
Environment Information
The text was updated successfully, but these errors were encountered: