miniwdl
miniwdl copied to clipboard
PermissionError when running miniwdl with Docker Desktop on Linux
When running miniwdl run_self_test
miniwdl fails to chmod the work directories
2023-06-07 12:36:11.862 wdl.w:hello_caller.download0.t:download-aria2c Traceback (most recent call last):
File "/home/heaucques/Documents/toil/venv/lib/python3.10/site-packages/WDL/runtime/task.py", line 224, in run_local_task
chmod_R_plus(run_dir, file_bits=0o660, dir_bits=0o770)
File "/home/heaucques/Documents/toil/venv/lib/python3.10/site-packages/WDL/_util.py", line 677, in chmod_R_plus
do1(os.path.join(root, dn), dir_bits)
File "/home/heaucques/Documents/toil/venv/lib/python3.10/site-packages/WDL/_util.py", line 668, in do1
os.chmod(path1, (os.stat(path1).st_mode & 0o7777) | bits)
PermissionError: [Errno 1] Operation not permitted: '/tmp/miniwdl_run_self_test_1ey4kejx/20230607_123607_hello_caller/download/0/work'
This might be due to how Docker Desktop on Linux delegates user IDs. The files/directoires that miniwdl tries to chmod is owned by UID 100999, but miniwdl is running as my user UID, which is 1000. This is after I already solved a file sharing problem previously mentioned at #404 where I changed the file sharing directory under the Docker Desktop settings to the root directory.
I'm doing this in the context of trying to get Toil's WDL conformance tests to work.