-
Notifications
You must be signed in to change notification settings - Fork 54
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
macOS compatibility #145
Comments
Hey @mlin, I'm trying out WDL and having troubles using the
I presume this might be related to needing permission to control Docker.
I've already changed my user-specific temp directory for mixing CWLTool and Docker, and I'm running miniwdl 0.3.0, Docker Desktop community 2.0.5.0, and the Docker python module 2.5.1. |
@illusional based on those tracebacks I suspect the installed docker-py package might need updating ( (More broadly, we don't have routine testing on macOS yet, need to plow through the issues above and get the test suite going on Travis) |
@mlin Amazing, I didn't realise how out of date my Docker was (due to a Toil dependency). I'm not sure what the min version of Docker this would require, but might be worth adding a minimum in setuptools |
Dang, it seems that Travis' macOS environment doesn't support Docker for Mac, so we're going to have to come up with some other approach for Mac testing. |
Hey @mlin, just wanted to report back and say that I ran miniwdl on a germline processing pipeline (3 variant callers, scattering, gathering and small expressions) and my outputs were identical to Cromwell. This is totally awesome! |
@illusional thank you for the field report; much appreciated! @mckinsel @bkmartinjr @tjchen |
*- default `--runtime-cpu-max` and `--runtime-memory-max` to the resources available in Docker for Mac's virtual machine, rather than the entire host * `miniwdl run_self_test` failure displays hint on overriding `TMPDIR` (#324) * logging & documentation refinements Some problems remain, particularly with the full test suite; tracking in #145
I've been seeing flakiness with Docker for Mac's volume mounting. Sporadically (maybe less than 1% of container starts) the WDL input files appear to be empty (mount point exists, but zero length) inside the container, with no errors reported by Docker. This is quite concerning because zero-length inputs might be valid for some tasks (e.g., line count) so there's no obvious way to know to retry them. The way Docker for Mac mounts host volumes into containers (in a VM) is pretty complicated. cc @lynnlangit |
I encountered the task-input-is-empty issue repeatedly (deterministically?) tonight when trying to run a wdl workflow on macOS. That gave me a chance to turn some knobs. A temporary solution—for me at least— is to disable the Edit: The problem is still present after updating to Docker Desktop 2.5.0.1 if |
What is the expected
|
Have the issue that inputs are not found. This is on macOS Monterey 12.0.1 w/ Docker Desktop 4.2.0 and Docker Engine 20.10.10. Toggled |
Minor update needed on the original post here. "Use gRPC FUSE for file sharing" is no longer under Docker's experimental features, it's in general. |
FYI - There is a currently a very weird bug in Docker desktop 4.12.0 (docker engine 20.10.17) on Apple M1 where if you try to disable "Use gRPC FUSE for file sharing" via the GUI it will turn itself back on when you try to activate it. Docker is aware of the problem and are working on a fix. In the meantime there is a workaround available: docker/for-mac#6467 Mike |
Hi @mlin and others, thanks for all the hard work here. I just wanted to add that
System Details Output
|
@mlin - I think the instructions in the initial post are now outdated. When enabling |
miniwdl is tested on Intel macOS, with a few specific setup steps:
brew install python3
or Miniconda3 (the OS/Xcode edition has difficulties with CA certificates)pip3 install miniwdl
(if not using conda) orconda install -c conda-forge miniwdl
export TMPDIR=/tmp
to let containers mount shared temporary directories (info)miniwdl run_self_test
Then, proceed through the Getting Started tutorial if so desired.
miniwdl is NOT officially supported on Apple Silicon; but may work experimentally, depending on the required task container images. Further discussion #652
To set up for miniwdl development:
(make sure
which stat
refers to coreutils' version)The text was updated successfully, but these errors were encountered: