I followed your procedure with 8.2.4 and I don’t see the same problem.
the first command (cylc vip) installs and starts the workflow; after which cylc config and cat flow-processed.cylc match
the second command (cylc vr) doesn’t work:
WARNING - Template variables (from --set/--set-file)
can only be changed if the workflow is stopped.
After that, the two queries still match, but still with the original value.
Can you double check? I guess one of us has made a mistake.
the flow-processed.cylcshould be updated if it changes on re-install
template values are “processed out” during file parsing, so what the UI edit runtime page sees is the parsed result. (However they are also stored in the run DB for reuse if not repeated on the command line e.g. for a restart)
ditto
(maybe you just missed the error message above - that reload, unlike restart, doesn’t accept template changes?)
I am uncertain why you need to stop and start a workflow to change a jinja2 variable? I’m pretty sure (haven’t checked), I could change the graph and reinstall a workflow without needing to stop it. Similarly, I could change hardcoded stuff inside a flow.cylc without needing to stop/start it. So why does -[sS] need a special case when others do not?
EDIT:
Also, this seems to be a loss of functionality if this is the case. In Cylc7 with rose to install things at least, you could update jinja2 variables without issue whilst a workflow is running. If Cylc7 was similar to rose, able to update jinja2 variables without stop/starting, has this functionality change been called out in the 7to8 documentation?
Yeah I was wondering about that myself @TomC (although didn’t mention it, as failing to reproduce your problem seemed more salient at the time).
I suspect it might be an accidental omission in migrating rose suite-run into Cylc 8. Jinja2 templating is worked out when the flow.cylc is parsed, but that has to been done for a runtime reload as well for a restart. Let’s see what @wxtim says.
The -S option applies to (re)installation. It should work with the cylc vr command irrespective of whether the workflow is running or not, I think this is just a bug somewhere.
The -s, -z and --set-file options are not currently supported by the cylc reload command (they weren’t supported at Cylc 7 either). I don’t think there’s any technical reason for this, we just never implemented it.
There’s a one-line hack there that will suppress the issue for now if you’re willing to patch your deployment, otherwise, we’ll aim to get this into a bugfix release as soon we’re able to.