14198: Federation feature and testing
[arvados.git] / sdk / cwl / tests / federation / README
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: Apache-2.0
4
5 Things to test.
6
7 Single step --submit --no-wait workflow, matrix of:
8
9 Runner on home/remote cluster
10 Docker image on home/remote cluster
11 Step on home/remote cluster
12
13 Two step workflow, matrix of:
14
15 Step1 on home cluster -> Step2 on remote cluster
16 Step1 on remote cluster -> Step2 on home cluster
17
18 Three step workflow:
19
20 (Step1 on remoteA cluster, Step2 on remoteB cluster) -> Step3 on home cluster
21 Step1 on remoteA cluster -> Step2 on remoteB cluster -> Step3 on home cluster
22
23 Workflow which has a remote collection in InitialWorkDir, which is captured in output.
24
25 Workflow with file input that has a secondary file in a separate
26 collection, which is remote.
27
28
29 Need to pull Docker image
30 Can't run in container because it doesn't have access to Docker from inside -> how can we workaround?
31 Turns out we also can't run in container because cwltool doesn't pathmap inside "Any" (this is a bug -> fix this)
32 Try setting up a virtualenv -> annoying because you need C dependencies to build
33 Virtualenv sets up shop in /tmp instead of the real directory
34 --relocatable ???
35
36
37 arvados/jobs doesn't have the docker client
38 arvbox has docker client
39
40 - Still need venv or something to run cwltool to manage all this.
41 - Unless we run cwltool in docker as well.
42
43 Can use cwl-docker.sh to run cwltool in docker
44
45 - arvbox needs Docker.  This will *probably* work launched from container if base dir is under PWD
46 - want to run arvados-cwl-runner.  this needs Docker to pull images.
47
48 For a-c-r solutions are one of:
49
50 1) Don't run in Docker, use virtualenv instead.
51 2) Access to Docker from inside Docker to pull images.
52 2a) Docker-in-Docker
53 2b) Bind mount Docker socket
54 2c) Communicate to Docker daemon over TCP
55 3) Arvados feature to pull images