cylc-flow
cylc-flow copied to clipboard
handle version change on restart (resume)
cylc restart
(soon to be renamed cylc play
) currently [8.0a3.dev] restarts a workflow using whatever version of Cylc is selected by the current environment.
For many this is a departure from rose suite-restart
which sets the CYLC_VERSION
to the version of the previous run. This old behaviour has an upside and a downside in that whist it ensures a compatible Cylc version is selected, it prohibits restarts from benefiting from bug fixes in maintainance releases.
Note: This issue does not cover the configuration of a Cylc version or compatible version range for a workflow which is a different matter (#3780 may provide a mechanism for this).
Proposal:
Note: for version 8.1.2 (major=8, minor=1, maintainance=2)
Edit 2021-11-29: Re worded to avoid confusion.
- Restart normally if the restart would:
- Not change the version.
- Increase the maintenance number.
- Prompt (override with
--yes
) for confirmation if the restart would:- Reduce the maintenance number.
- Increase the minor number.
- Exit with nasty error (override with
--force
or--yes --yes
?) if the restart would:- Decrease the minor number.
- Change the major number.
Thoughts?
Pull requests welcome!
All good, except:
Block restart if the new Cylc version is lower than that of the previous run.
Not sure about a total block. How about prompt the user for confirmation but with a sterner warning of possible consequences.
Possibly there could be cylc play --force
option to override a block?
That's what the "(require an override to bypass)" was meant to mean, some sort of --force
option.
Note this issue isn't completely critical for 8.0.0 as it wouldn't come into effect until the release after 8.0.0
Re worded the proposal to avoid confusion.