You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/backends/HPC.md
+69-2Lines changed: 69 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -21,13 +21,14 @@ Each `call` has its own subdirectory located at `<workflow_root>/call-<call_name
21
21
Any input files to a call need to be localized into the `<call_dir>/inputs` directory. There are different localization strategies that Cromwell will try until one works:
22
22
23
23
*`hard-link` - This will create a hard link to the file
24
-
*`soft-link` - Create a symbolic link to the file. This strategy is not applicable for tasks which specify a Docker image and will be ignored.
24
+
*`soft-link` - Create a symbolic link to the file. This strategy is not enabled by default for tasks which specify a
25
+
Docker image and will be ignored.
25
26
*`copy` - Make a copy the file
26
27
*`cached-copy` An experimental feature. This copies files to a file cache in
27
28
`<workflow_root>/cached-inputs` and then hard links them in the `<call_dir>/inputs` directory.
28
29
29
30
`cached-copy` is intended for a shared filesystem that runs on multiple physical disks, where docker containers are used.
30
-
Hard-links don't work between different physical disks and soft-links don't work with docker. Copying uses a lot of
31
+
Hard-links don't work between different physical disks and soft-links don't work with docker by default. Copying uses a lot of
31
32
space if a multitude of tasks use the same input. `cached-copy` copies the file only once to the physical disk containing
32
33
the `<workflow_root>` and then uses hard links for every task that needs the input file. This can save a lot of space.
33
34
@@ -45,6 +46,72 @@ filesystems {
45
46
}
46
47
```
47
48
49
+
### Optional docker soft links
50
+
51
+
By default when Cromwell runs a local container it only mounts the workflow's execution directory. Thus any symbolic or
52
+
soft links pointing to files outside of the execution directory will resolve to paths that are not accessible within the
53
+
container.
54
+
55
+
As discussed above regarding `cache-copy`, `soft-link` is disabled by default on docker and other container
56
+
environments, and hard-links do not work across different physical disks.
57
+
58
+
However, it is possible to manually configure Cromwell to mount input paths such that soft links resolve outside and
In this example the two directories `/mnt/one` and and `/mnt/two` will also be available within containers at their
111
+
original paths outside the container. So soft links pointing to paths under those directories will resolve during the
112
+
job execution. Note that if a user runs a workflow using an input file `/mnt/three/path/to/file` the job will fail
113
+
during execution as `/mnt/three` was not present inside the running container.
114
+
48
115
### Additional FileSystems
49
116
50
117
HPC backends (as well as the Local backend) can be configured to be able to interact with other type of filesystems, where the input files can be located for example.
0 commit comments