Skip to content

Launching a secondary workflow from within a main workflow with ROSE variables corrupts the environment #355

@ColemanTom

Description

@ColemanTom

Description

If you have have a workflow, and it does cylc vip to launch another workflow, from within a ROSE app, the second workflow gets confused as the ROSE variables are passed through.

NOTE: I thought this should go in this repo but happy to be corrected if it should be in the rose repo.

Workaround

Current workaround is to do unset "${!ROSE_@}" before cylc vip to ensure they are unset.

Reproducible Example

rose_app_launch_corruption.tar.gz

Download the above. Check its contents to make sure I'm not doing anything nefarious. Then, run the run.sh in the top level.

The launcher workflow launches the runner workflow. If I look at the log for the only task in runner, this is the job.out:

$ cat cylc-run/runner/log/job/20201010T0000Z/run_stuff/NN/job.out
Workflow : runner
Job : 20201010T0000Z/run_stuff/01 (try 1)
User@Host: username@hostname

2024-12-19T23:54:10Z INFO - started
[INFO] export PATH=.....
[INFO] command: launch.sh
$ cylc validate /home/username/rose_app_launch_corruption/runner
Valid for cylc-8.3.6
$ cylc install /home/username/rose_app_launch_corruption/runner

The run_stuff app should be doing an echo.

$ cat cylc-run/runner/app/run_stuff/rose-app.conf
[command]
default=echo "I am running stuff"

Expected Behaviour

The second workflow should not think it is the first workflow. And the tasks should not think they are the launching workflows task.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions