Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 25 additions & 6 deletions cylc/flow/cfgspec/workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -2158,49 +2158,60 @@ def upg(
'8.0.0',
['cylc', 'task event mail interval'],
['cylc', 'mail', 'task event batch interval'],
remove_at='8.9'
)
u.deprecate(
'8.0.0',
['runtime', '__MANY__', 'suite state polling'],
['runtime', '__MANY__', 'workflow state polling'],
is_section=True,
remove_at='8.9'
)
u.obsolete(
'8.0.0', ['runtime', '__MANY__', 'workflow state polling', 'host'])
'8.0.0', ['runtime', '__MANY__', 'workflow state polling', 'host'],
remove_at='8.9'
)
u.obsolete(
'8.0.0', ['runtime', '__MANY__', 'workflow state polling', 'user'])
'8.0.0', ['runtime', '__MANY__', 'workflow state polling', 'user'],
remove_at='8.9'
)

u.deprecate(
'8.3.0',
['runtime', '__MANY__', 'workflow state polling', 'run-dir'],
['runtime', '__MANY__', 'workflow state polling', 'alt-cylc-run-dir'],
remove_at='8.9'
)

u.deprecate(
'8.0.0',
['cylc', 'parameters'],
['task parameters'],
is_section=True,
remove_at='8.9'
)
u.deprecate(
'8.0.0',
['cylc', 'parameter templates'],
['task parameters', 'templates'],
is_section=True,
remove_at='8.9'
)
# Whole workflow task mail settings
for mail_setting in ['to', 'from', 'footer']:
u.deprecate(
'8.0.0',
['cylc', 'events', f'mail {mail_setting}'],
['cylc', 'mail', mail_setting],
remove_at='8.9'
)
# Task mail settings in [runtime][TASK]
for mail_setting in ['to', 'from']:
u.deprecate(
'8.0.0',
['runtime', '__MANY__', 'events', f'mail {mail_setting}'],
['runtime', '__MANY__', 'mail', mail_setting],
remove_at='8.9'
)
u.deprecate(
'8.0.0',
Expand All @@ -2210,29 +2221,32 @@ def upg(
'DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" '
'instead')
),
remove_at='8.9'
)
u.deprecate(
'8.0.0',
['runtime', '__MANY__', 'events', 'mail smtp'],
None,
cvtr=converter(lambda x: x, (
'DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" '
'instead')
'DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" ')
Comment thread
Scott-Owen-James marked this conversation as resolved.
Outdated
),
remove_at='8.9'
)
u.deprecate(
'8.0.0',
['scheduling', 'max active cycle points'],
['scheduling', 'runahead limit'],
cvtr=converter(
lambda x: f'P{int(x) - 1}' if x != '' else '',
'"{old}" -> "{new}"'
'"{old}" -> "{new}"',
),
remove_at='8.9'
)
u.deprecate(
'8.0.0',
['scheduling', 'hold after point'],
['scheduling', 'hold after cycle point'],
remove_at='8.9'
)

for job_setting in [
Expand All @@ -2246,6 +2260,7 @@ def upg(
'8.0.0',
['runtime', '__MANY__', 'job', job_setting],
['runtime', '__MANY__', job_setting],
remove_at='8.9'
)

# Workflow timeout is now measured from start of run.
Expand All @@ -2266,6 +2281,7 @@ def upg(
'8.0.0',
['cylc', 'events', old],
['cylc', 'events', new],
remove_at='8.9',
)

for old in [
Expand All @@ -2288,6 +2304,7 @@ def upg(
'8.0.0',
['runtime', '__MANY__', 'events', old],
['runtime', '__MANY__', 'events', f"{old}s"],
remove_at='8.9',
)

for old in [
Expand All @@ -2298,13 +2315,15 @@ def upg(
'abort if inactivity handler fails',
'abort if stalled handler fails',
]:
u.obsolete('8.0.0', ['cylc', 'events', old])
u.obsolete('8.0.0', ['cylc', 'events', old,],
remove_at='8.9')

u.deprecate(
'8.0.0',
['cylc'],
['scheduler'],
is_section=True,
remove_at='8.9'
)
u.upgrade()

Expand Down
14 changes: 10 additions & 4 deletions cylc/flow/parsec/upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ def __init__(self, cfg: dict, descr: str, broadcast: bool = False):

def deprecate(
self, vn, oldkeys, newkeys=None,
cvtr=None, is_section=False,
cvtr=None, is_section=False, remove_at=None
):
"""Replace a deprecated key from a config
Args:
Expand All @@ -84,6 +84,8 @@ def deprecate(
description of that function.
is_section (bool):
Is a section heading.
remove_at (str):
Describes when this will be removed
Comment thread
Scott-Owen-James marked this conversation as resolved.
Outdated
"""
if vn not in self.upgrades:
self.upgrades[vn] = []
Expand All @@ -92,10 +94,10 @@ def deprecate(
self.upgrades[vn].append(
{
'old': oldkeys, 'new': newkeys, 'cvt': cvtr,
'is_section': is_section
'is_section': is_section, 'remove_at': remove_at
})

def obsolete(self, vn, oldkeys, is_section=False):
def obsolete(self, vn, oldkeys, is_section=False, remove_at=None):
Comment thread
MetRonnie marked this conversation as resolved.
"""Remove an obsolete key from a config
Args:
vn (str):
Expand All @@ -111,7 +113,7 @@ def obsolete(self, vn, oldkeys, is_section=False):
self.upgrades[vn].append(
{
'old': oldkeys, 'new': None, 'cvt': cvtr,
'is_section': is_section
'is_section': is_section, 'remove_at': remove_at
Comment thread
Scott-Owen-James marked this conversation as resolved.
})

def get_item(self, keys):
Expand Down Expand Up @@ -232,6 +234,10 @@ def upgrade(self):
old=old,
new=upg['cvt'].convert(old)
)
with contextlib.suppress(KeyError):
if upg['remove_at'] is not None:
msg += (" - will be removed at " +
f"{upg['remove_at']}")
Comment thread
Scott-Owen-James marked this conversation as resolved.
Outdated
warnings.setdefault(vn, [])
warnings[vn].append(msg)
self.del_item(upg['old'])
Expand Down
54 changes: 27 additions & 27 deletions tests/functional/deprecations/01-cylc8-basic/validation.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -13,41 +13,41 @@ WARNING - * (8.0.0) [cylc][environment] - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc][reference test] - DELETED (OBSOLETE)
Comment thread
Scott-Owen-James marked this conversation as resolved.
Outdated
WARNING - * (8.0.0) [cylc][simulation]disable suite event handlers - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc][simulation] - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc]task event mail interval -> [cylc][mail]task event batch interval - value unchanged
WARNING - * (8.0.0) [cylc]task event mail interval -> [cylc][mail]task event batch interval - value unchanged - will be removed at 8.9
Comment thread
Scott-Owen-James marked this conversation as resolved.
Outdated
WARNING - * (8.0.0) [runtime][foo, cat, dog][suite state polling] -> [runtime][foo, cat, dog][workflow state polling] - value unchanged
Comment thread
Scott-Owen-James marked this conversation as resolved.
Outdated
WARNING - * (8.0.0) [cylc][parameters] -> [task parameters] - value unchanged
WARNING - * (8.0.0) [cylc][parameter templates] -> [task parameters][templates] - value unchanged
WARNING - * (8.0.0) [cylc][events]mail to -> [cylc][mail]to - value unchanged
WARNING - * (8.0.0) [cylc][events]mail from -> [cylc][mail]from - value unchanged
WARNING - * (8.0.0) [cylc][events]mail footer -> [cylc][mail]footer - value unchanged
WARNING - * (8.0.0) [cylc][parameters] -> [task parameters] - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][parameter templates] -> [task parameters][templates] - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]mail to -> [cylc][mail]to - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]mail from -> [cylc][mail]from - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]mail footer -> [cylc][mail]footer - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail to -> [runtime][foo, cat, dog][mail]to - value unchanged

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should these have version numbers?

WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail from -> [runtime][foo, cat, dog][mail]from - value unchanged
WARNING - * (8.0.0) [cylc][events]mail smtp - DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" instead
WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail smtp - DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" instead
WARNING - * (8.0.0) [scheduling]max active cycle points -> [scheduling]runahead limit - "2" -> "P1"
WARNING - * (8.0.0) [scheduling]hold after point -> [scheduling]hold after cycle point - value unchanged
WARNING - * (8.0.0) [cylc][events]mail smtp - DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" instead - will be removed at 8.9
WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail smtp - DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp"
WARNING - * (8.0.0) [scheduling]max active cycle points -> [scheduling]runahead limit - "2" -> "P1" - will be removed at 8.9
WARNING - * (8.0.0) [scheduling]hold after point -> [scheduling]hold after cycle point - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [runtime][foo, cat, dog][job]execution polling intervals -> [runtime][foo, cat, dog]execution polling intervals - value unchanged
Comment thread
Scott-Owen-James marked this conversation as resolved.
Outdated
WARNING - * (8.0.0) [runtime][foo, cat, dog][job]execution retry delays -> [runtime][foo, cat, dog]execution retry delays - value unchanged
WARNING - * (8.0.0) [runtime][foo, cat, dog][job]execution time limit -> [runtime][foo, cat, dog]execution time limit - value unchanged
WARNING - * (8.0.0) [runtime][foo, cat, dog][job]submission polling intervals -> [runtime][foo, cat, dog]submission polling intervals - value unchanged
WARNING - * (8.0.0) [runtime][foo, cat, dog][job]submission retry delays -> [runtime][foo, cat, dog]submission retry delays - value unchanged
WARNING - * (8.0.0) [cylc][events]timeout -> [cylc][events]stall timeout - value unchanged
WARNING - * (8.0.0) [cylc][events]abort on timeout -> [cylc][events]abort on stall timeout - value unchanged
WARNING - * (8.0.0) [cylc][events]inactivity -> [cylc][events]inactivity timeout - value unchanged
WARNING - * (8.0.0) [cylc][events]abort on inactivity -> [cylc][events]abort on inactivity timeout - value unchanged
WARNING - * (8.0.0) [cylc][events]startup handler -> [cylc][events]startup handlers - value unchanged
WARNING - * (8.0.0) [cylc][events]shutdown handler -> [cylc][events]shutdown handlers - value unchanged
WARNING - * (8.0.0) [cylc][events]timeout handler -> [cylc][events]stall timeout handlers - value unchanged
WARNING - * (8.0.0) [cylc][events]stalled handler -> [cylc][events]stall handlers - value unchanged
WARNING - * (8.0.0) [cylc][events]aborted handler -> [cylc][events]abort handlers - value unchanged
WARNING - * (8.0.0) [cylc][events]inactivity handler -> [cylc][events]inactivity timeout handlers - value unchanged
WARNING - * (8.0.0) [cylc][events]abort on stalled - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc][events]abort if startup handler fails - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc][events]abort if shutdown handler fails - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc][events]abort if timeout handler fails - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc][events]abort if inactivity handler fails - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc][events]abort if stalled handler fails - DELETED (OBSOLETE)
WARNING - * (8.0.0) [cylc] -> [scheduler] - value unchanged
WARNING - * (8.0.0) [cylc][events]timeout -> [cylc][events]stall timeout - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]abort on timeout -> [cylc][events]abort on stall timeout - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]inactivity -> [cylc][events]inactivity timeout - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]abort on inactivity -> [cylc][events]abort on inactivity timeout - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]startup handler -> [cylc][events]startup handlers - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]shutdown handler -> [cylc][events]shutdown handlers - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]timeout handler -> [cylc][events]stall timeout handlers - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]stalled handler -> [cylc][events]stall handlers - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]aborted handler -> [cylc][events]abort handlers - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]inactivity handler -> [cylc][events]inactivity timeout handlers - value unchanged - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]abort on stalled - DELETED (OBSOLETE) - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]abort if startup handler fails - DELETED (OBSOLETE) - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]abort if shutdown handler fails - DELETED (OBSOLETE) - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]abort if timeout handler fails - DELETED (OBSOLETE) - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]abort if inactivity handler fails - DELETED (OBSOLETE) - will be removed at 8.9
WARNING - * (8.0.0) [cylc][events]abort if stalled handler fails - DELETED (OBSOLETE) - will be removed at 8.9
WARNING - * (8.0.0) [cylc] -> [scheduler] - value unchanged - will be removed at 8.9
WARNING - graph items were automatically upgraded in "workflow definition":
Comment thread
Scott-Owen-James marked this conversation as resolved.
Outdated
* (8.0.0) [scheduling][dependencies][X]graph -> [scheduling][graph]X - for X in:
P1D
3 changes: 2 additions & 1 deletion tests/integration/scripts/test_validate_integration.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,8 @@ def test_pre_cylc8(flow, validate, caplog):
' * (8.0.0) [runtime][foo, cat, dog][suite state polling]'
' -> [runtime][foo, cat, dog][workflow state polling]'
' - value unchanged'),
' * (8.0.0) [cylc] -> [scheduler] - value unchanged'
(' * (8.0.0) [cylc] -> [scheduler] - value unchanged'
' - will be removed at 8.9')
):
assert warning in caplog.messages

Expand Down
Loading