Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

handle version change on restart (resume) #4039

Closed
oliver-sanders opened this issue Jan 20, 2021 · 5 comments · Fixed by #5074
Closed

handle version change on restart (resume) #4039

oliver-sanders opened this issue Jan 20, 2021 · 5 comments · Fixed by #5074
Assignees
Labels
Milestone

Comments

@oliver-sanders
Copy link
Member

oliver-sanders commented Jan 20, 2021

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!

@oliver-sanders oliver-sanders added small question Flag this as a question for the next Cylc project meeting. labels Jan 20, 2021
@oliver-sanders oliver-sanders added this to the cylc-8.0.0 milestone Jan 20, 2021
@hjoliver
Copy link
Member

hjoliver commented Jan 26, 2021

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.

@MetRonnie
Copy link
Member

Possibly there could be cylc play --force option to override a block?

@oliver-sanders
Copy link
Member Author

That's what the "(require an override to bypass)" was meant to mean, some sort of --force option.

@oliver-sanders
Copy link
Member Author

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

@oliver-sanders
Copy link
Member Author

Re worded the proposal to avoid confusion.

@hjoliver hjoliver removed the question Flag this as a question for the next Cylc project meeting. label Nov 30, 2021
@oliver-sanders oliver-sanders modified the milestones: cylc-8.x, cylc-8.1.0 Aug 1, 2022
@oliver-sanders oliver-sanders self-assigned this Aug 15, 2022
oliver-sanders added a commit to oliver-sanders/cylc-flow that referenced this issue Aug 16, 2022
* Closes cylc#4039
* When restarting a workflow, check the version it previously ran under
  against the current version in order to determine if the change is
  sensible.
  * 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.
* This also moves the pre-existing workflow DB check from post-detatch
  to pre-detach.
oliver-sanders added a commit to oliver-sanders/cylc-flow that referenced this issue Aug 16, 2022
* Closes cylc#4039
* When restarting a workflow, check the version it previously ran under
  against the current version in order to determine if the change is
  sensible.
  * 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.
* This also moves the pre-existing workflow DB check from post-detatch
  to pre-detach.
oliver-sanders added a commit to oliver-sanders/cylc-flow that referenced this issue Aug 16, 2022
* Closes cylc#4039
* When restarting a workflow, check the version it previously ran under
  against the current version in order to determine if the change is
  sensible.
  * 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.
* This also moves the pre-existing workflow DB check from post-detatch
  to pre-detach.
oliver-sanders added a commit to oliver-sanders/cylc-flow that referenced this issue Aug 17, 2022
* Closes cylc#4039
* When restarting a workflow, check the version it previously ran under
  against the current version in order to determine if the change is
  sensible.
  * 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.
* This also moves the pre-existing workflow DB check from post-detatch
  to pre-detach.
oliver-sanders added a commit to oliver-sanders/cylc-flow that referenced this issue Aug 18, 2022
* Closes cylc#4039
* When restarting a workflow, check the version it previously ran under
  against the current version in order to determine if the change is
  sensible.
  * 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.
* This also moves the pre-existing workflow DB check from post-detatch
  to pre-detach.
oliver-sanders added a commit to oliver-sanders/cylc-flow that referenced this issue Aug 18, 2022
* Closes cylc#4039
* When restarting a workflow, check the version it previously ran under
  against the current version in order to determine if the change is
  sensible.
  * 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.
* This also moves the pre-existing workflow DB check from post-detatch
  to pre-detach.
oliver-sanders added a commit to oliver-sanders/cylc-flow that referenced this issue Oct 3, 2022
* Closes cylc#4039
* When restarting a workflow, check the version it previously ran under
  against the current version in order to determine if the change is
  sensible.
  * 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.
* This also moves the pre-existing workflow DB check from post-detatch
  to pre-detach.
oliver-sanders added a commit to oliver-sanders/cylc-flow that referenced this issue Oct 20, 2022
* Closes cylc#4039
* When restarting a workflow, check the version it previously ran under
  against the current version in order to determine if the change is
  sensible.
  * 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.
* This also moves the pre-existing workflow DB check from post-detatch
  to pre-detach.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants