If I want to warm-start a workflow by pre-preparing the share area on disk, I am getting a failure.
2024-06-03T07:43:26Z DEBUG - ['ssh', '-oBatchMode=yes', '-oConnectTimeout=10', 'remote.host', 'env', 'CYLC_VERSION=8.2.7', 'CYLC_ENV_NAME=cylc-8.2.7', 'bash', '--login', '-c', '\'exec "$0" "$@"\'', '/cylc-bin/cylc', 'remote-init', '-v', 'dev:b:aps4_g', '$HOME/cylc-run/my_workflow', 'share=/g/sc/lustre/cylc-run/my_workflow/share', 'work=/g/sc/lustre/cylc-run/my_workflow/work']
2024-06-03T07:43:29Z ERROR - platform: my_platform - initialisation did not complete
COMMAND:
ssh -oBatchMode=yes -oConnectTimeout=10 \
remote.host env \
CYLC_VERSION=8.2.7 CYLC_ENV_NAME=cylc-8.2.7 bash --login \
-c 'exec "$0" "$@"' \
/cylc-bin/cylc \
remote-init -v something \
$HOME/cylc-run/my_workflow \
share=/g/sc/lustre/cylc-run/my_workflow/share \
work=/g/sc/lustre/cylc-run/my_workflow/work
RETURN CODE:
1
STDERR:
WorkflowFilesError: Symlink dir target already exists: (/home/me/cylc-run/my_workflow/share ->) /g/sc/lustre/cylc-run/my_workflow/share
Tip: in future, use 'cylc clean' instead of manually deleting workflow run dirs.
In Cylc7/rose suite-run, we were able to pre-setup the share area on disk, and then install the suite. In Cylc8, it seems, if the share directory already exists when the first task tries to run, the workflow fails. Looking at the source code I cannot see any way to override this behaviour.
In Cylc8, how do we pre-prepare data on disk before a workflow starts? I don’t really want to have a new task to copy data into place.