-
Notifications
You must be signed in to change notification settings - Fork 94
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
Fix Validation using old tvars fails for Cylc 7 workflows #5313
Fix Validation using old tvars fails for Cylc 7 workflows #5313
Conversation
3980928
to
3ce6562
Compare
The check which prevents Cylc 8 from restarting Cylc 7 workflows is this:
So I think all that's needed is to add the BUT Only do this if the workflow is NOT running (because if it is running, we know it's Cylc 8 compatible). Note it doesn't matter that |
Lines 338 to 339 in 06b4079
IMO whether to create the tables or not should be handled by a different, new arg, called |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have checked out this branch. I have run workflows under cylc7 and then tried validate with this branch and master.
I get a nice error on this branch when the workflow has run and validating at cylc 8, master will state the workflow is valid at cylc 8.
If I validate an actively running (with cylc 7) workflow on this branch, it still pass validation. This is probably a niche case? EDIT: I see Oliver has this covered and it it ok in this case.
When I play
an actively running cylc 7 workflow, I get traceback with KeyError: 'CYLC_WORKFLOW_PID'
at cylc8, again probs niche and maybe a separate issue?
It might well have saved me from this error, but unless you insist I think it's out of scope. |
Could you rebase onto 8.1.x please. |
800dc9a
to
9f5af69
Compare
a workflow database if that database is a Cylc 7 DB.
9f5af69
to
79ee9c3
Compare
Ran through the methodology from here - #5313 (comment)
Need to halt the execution either by raising the original exception as suggested, or by |
230c5f4
to
2a3a93f
Compare
6e55161
to
30d2e6d
Compare
51810cf
to
30d2e6d
Compare
template variables.
Added some tests in wxtim#52 |
050d352
to
c0d7b1a
Compare
Re-reviewed code, LGTM, moving onto functional testing... |
Regression in latest rebase. Would not recommend rebasing at this point due to how out of date the earlier commits are, just whack squash 'n merge at the end Update: I have force pushed back to f26b78c |
3641358
to
f26b78c
Compare
Have tested for both a running and stopped Cylc 7 workflow:
And ensured no tables are created by these commands |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested as working. Thanks @wxtim
Allow parsec to fail gracefully when trying to retrieve template variables from a workflow database if it's a Cylc 7 DB, by doing the same DB compatibility check that's done on restart.
Fixes two small issues not recorded elsewhere
is_public
kwarg onCylcWorkflowDAO.__init__
, without which the function tries to write to the database, which we don't want to do for theparsec.fileparse
use of database access. (Now sorted out by DB interface & safety improvements #5330)cylc play
andcylc vr
fail gracefully when trying to run on such workflows.Also closes #5317
Check List
CONTRIBUTING.md
and added my name as a Code Contributor.setup.cfg
andconda-environment.yml
.CHANGES.md
entry included if this is a change that can affect users?.?.x
branch.