diff --git a/cylc/flow/cfgspec/workflow.py b/cylc/flow/cfgspec/workflow.py index 48c9c8ceebf..8bdf94b3032 100644 --- a/cylc/flow/cfgspec/workflow.py +++ b/cylc/flow/cfgspec/workflow.py @@ -2123,57 +2123,80 @@ def upg( u = upgrader(cfg, descr, broadcast=bool(broadcast)) u.obsolete( - '7.8.0', ['runtime', '__MANY__', 'suite state polling', 'template'] + '7.8.0', ['runtime', '__MANY__', 'suite state polling', 'template'], + remove_at='8.9' ) - u.obsolete('7.8.1', ['cylc', 'events', 'reset timer']) - u.obsolete('7.8.1', ['cylc', 'events', 'reset inactivity timer']) - u.obsolete('8.0.0', ['cylc', 'force run mode']) - u.obsolete('7.8.1', ['runtime', '__MANY__', 'events', 'reset timer']) - u.obsolete('8.0.0', ['cylc', 'authentication'], is_section=True) - u.obsolete('8.0.0', ['cylc', 'include at start-up']) - u.obsolete('8.0.0', ['cylc', 'exclude at start-up']) - u.obsolete('8.0.0', ['cylc', 'log resolved dependencies']) - u.obsolete('8.0.0', ['cylc', 'required run mode']) + u.obsolete('7.8.1', ['cylc', 'events', 'reset timer'], remove_at='8.9') + u.obsolete('7.8.1', ['cylc', 'events', 'reset inactivity timer'], + remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'force run mode'], remove_at='8.9') + u.obsolete('7.8.1', ['runtime', '__MANY__', 'events', 'reset timer'], + remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'authentication'], is_section=True, + remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'include at start-up'], remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'exclude at start-up'], remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'log resolved dependencies'], remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'required run mode'], remove_at='8.9') u.obsolete( '8.0.0', - ['cylc', 'health check interval']) - u.obsolete('8.0.0', ['runtime', '__MANY__', 'events', 'mail retry delays']) - u.obsolete('8.0.0', ['runtime', '__MANY__', 'extra log files']) - u.obsolete('8.0.0', ['runtime', '__MANY__', 'job', 'shell']) + ['cylc', 'health check interval'], + remove_at='8.9') + u.obsolete('8.0.0', ['runtime', '__MANY__', 'events', 'mail retry delays'], + remove_at='8.9') + u.obsolete('8.0.0', ['runtime', '__MANY__', 'extra log files'], + remove_at='8.9') + u.obsolete('8.0.0', ['runtime', '__MANY__', 'job', 'shell'], + remove_at='8.9') u.obsolete( '8.0.0', - ['runtime', '__MANY__', 'remote', 'suite definition directory'] + ['runtime', '__MANY__', 'remote', 'suite definition directory'], + remove_at='8.9' ) - u.obsolete('8.0.0', ['cylc', 'abort if any task fails']) - u.obsolete('8.0.0', ['cylc', 'disable automatic shutdown']) - u.obsolete('8.0.0', ['cylc', 'environment'], is_section=True) - u.obsolete('8.0.0', ['cylc', 'reference test'], is_section=True) + u.obsolete('8.0.0', ['cylc', 'abort if any task fails'], + remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'disable automatic shutdown'], + remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'environment'], is_section=True, + remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'reference test'], is_section=True, + remove_at='8.9') u.obsolete( '8.0.0', - ['cylc', 'simulation', 'disable suite event handlers']) - u.obsolete('8.0.0', ['cylc', 'simulation'], is_section=True) - u.obsolete('8.0.0', ['visualization'], is_section=True) - u.obsolete('8.0.0', ['scheduling', 'spawn to max active cycle points']) + ['cylc', 'simulation', 'disable suite event handlers'], + remove_at='8.9') + u.obsolete('8.0.0', ['cylc', 'simulation'], is_section=True, + remove_at='8.9') + u.obsolete('8.0.0', ['visualization'], is_section=True, remove_at='8.9') + u.obsolete('8.0.0', ['scheduling', 'spawn to max active cycle points'], + remove_at='8.9') u.deprecate( '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( @@ -2181,12 +2204,14 @@ def upg( ['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']: @@ -2194,6 +2219,7 @@ def upg( '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']: @@ -2201,6 +2227,7 @@ def upg( '8.0.0', ['runtime', '__MANY__', 'events', f'mail {mail_setting}'], ['runtime', '__MANY__', 'mail', mail_setting], + remove_at='8.9' ) u.deprecate( '8.0.0', @@ -2210,6 +2237,7 @@ def upg( 'DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" ' 'instead') ), + remove_at='8.9' ) u.deprecate( '8.0.0', @@ -2219,6 +2247,7 @@ def upg( 'DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" ' 'instead') ), + remove_at='8.9' ) u.deprecate( '8.0.0', @@ -2226,13 +2255,15 @@ def upg( ['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 [ @@ -2246,6 +2277,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. @@ -2266,6 +2298,7 @@ def upg( '8.0.0', ['cylc', 'events', old], ['cylc', 'events', new], + remove_at='8.9', ) for old in [ @@ -2288,6 +2321,7 @@ def upg( '8.0.0', ['runtime', '__MANY__', 'events', old], ['runtime', '__MANY__', 'events', f"{old}s"], + remove_at='8.9', ) for old in [ @@ -2298,13 +2332,14 @@ 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() @@ -2359,7 +2394,8 @@ def upgrade_graph_section(cfg: Dict[str, Any], descr: str) -> None: if keys: msg = ( 'graph items were automatically upgraded ' - f'in "{descr}":\n' + f'in "{descr}" - support for the old item will be ' + 'removed at Cylc 8.9:\n' f' * (8.0.0) {msg_old} -> {msg_new}' ) if list_cp: diff --git a/cylc/flow/parsec/upgrade.py b/cylc/flow/parsec/upgrade.py index b9909bff0e5..cd6674bdf53 100644 --- a/cylc/flow/parsec/upgrade.py +++ b/cylc/flow/parsec/upgrade.py @@ -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: @@ -84,6 +84,8 @@ def deprecate( description of that function. is_section (bool): Is a section heading. + remove_at (str): + Cylc version when this upgrader will be removed """ if vn not in self.upgrades: self.upgrades[vn] = [] @@ -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): """Remove an obsolete key from a config Args: vn (str): @@ -104,6 +106,8 @@ def obsolete(self, vn, oldkeys, is_section=False): Path within config to be removed. is_section (bool): Is a section heading. + remove_at (str): + Cylc version when this obsoletion will become an error """ if vn not in self.upgrades: self.upgrades[vn] = [] @@ -111,7 +115,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 }) def get_item(self, keys): @@ -183,6 +187,7 @@ def expand(self, upg): 'new': None, 'cvt': upg['cvt'], 'is_section': upg['is_section'], + 'remove_at': upg.get('remove_at') }) return exp_upgs npre = [] @@ -200,6 +205,7 @@ def expand(self, upg): 'new': npre + [m] + npost, 'cvt': upg['cvt'], 'is_section': upg['is_section'], + 'remove_at': upg.get('remove_at') }) return exp_upgs @@ -232,6 +238,13 @@ def upgrade(self): old=old, new=upg['cvt'].convert(old) ) + if (remove_at := upg.get('remove_at')) is not None: + if upg['new']: + msg += (f' - support for the old item will be ' + f'removed at Cylc {remove_at}') + else: + msg += (f' - this will fail validation in ' + f'Cylc {remove_at}') warnings.setdefault(vn, []) warnings[vn].append(msg) self.del_item(upg['old']) diff --git a/tests/functional/deprecations/01-cylc8-basic/validation.stderr b/tests/functional/deprecations/01-cylc8-basic/validation.stderr index 034031f3a71..40b89f5a17d 100644 --- a/tests/functional/deprecations/01-cylc8-basic/validation.stderr +++ b/tests/functional/deprecations/01-cylc8-basic/validation.stderr @@ -1,53 +1,53 @@ WARNING - Obsolete config items were automatically deleted. Please check your workflow and remove them permanently. WARNING - Deprecated config items were automatically upgraded. Please alter your workflow to use the new syntax. -WARNING - * (8.0.0) [cylc]force run mode - DELETED (OBSOLETE) -WARNING - * (8.0.0) [cylc][authentication] - DELETED (OBSOLETE) -WARNING - * (8.0.0) [cylc]log resolved dependencies - DELETED (OBSOLETE) -WARNING - * (8.0.0) [cylc]required run mode - DELETED (OBSOLETE) -WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail retry delays - DELETED (OBSOLETE) -WARNING - * (8.0.0) [runtime][foo, cat, dog]extra log files - DELETED (OBSOLETE) -WARNING - * (8.0.0) [runtime][foo, cat, dog][job]shell - DELETED (OBSOLETE) -WARNING - * (8.0.0) [cylc]abort if any task fails - DELETED (OBSOLETE) -WARNING - * (8.0.0) [cylc]disable automatic shutdown - DELETED (OBSOLETE) -WARNING - * (8.0.0) [cylc][environment] - DELETED (OBSOLETE) -WARNING - * (8.0.0) [cylc][reference test] - DELETED (OBSOLETE) -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) [runtime][foo, cat, dog][suite state polling] -> [runtime][foo, cat, dog][workflow state polling] - value unchanged -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) [runtime][foo, cat, dog][events]mail to -> [runtime][foo, cat, dog][mail]to - value unchanged -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) [runtime][foo, cat, dog][job]execution polling intervals -> [runtime][foo, cat, dog]execution polling intervals - value unchanged -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 - graph items were automatically upgraded in "workflow definition": +WARNING - * (8.0.0) [cylc]force run mode - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][authentication] - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc]log resolved dependencies - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc]required run mode - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail retry delays - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog]extra log files - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][job]shell - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc]abort if any task fails - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc]disable automatic shutdown - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][environment] - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][reference test] - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][simulation]disable suite event handlers - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][simulation] - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc]task event mail interval -> [cylc][mail]task event batch interval - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][suite state polling] -> [runtime][foo, cat, dog][workflow state polling] - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][parameters] -> [task parameters] - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][parameter templates] -> [task parameters][templates] - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]mail to -> [cylc][mail]to - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]mail from -> [cylc][mail]from - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]mail footer -> [cylc][mail]footer - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail to -> [runtime][foo, cat, dog][mail]to - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail from -> [runtime][foo, cat, dog][mail]from - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]mail smtp - DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" instead - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][events]mail smtp - DELETED (OBSOLETE) - use "global.cylc[scheduler][mail]smtp" instead - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [scheduling]max active cycle points -> [scheduling]runahead limit - "2" -> "P1" - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [scheduling]hold after point -> [scheduling]hold after cycle point - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][job]execution polling intervals -> [runtime][foo, cat, dog]execution polling intervals - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][job]execution retry delays -> [runtime][foo, cat, dog]execution retry delays - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][job]execution time limit -> [runtime][foo, cat, dog]execution time limit - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][job]submission polling intervals -> [runtime][foo, cat, dog]submission polling intervals - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [runtime][foo, cat, dog][job]submission retry delays -> [runtime][foo, cat, dog]submission retry delays - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]timeout -> [cylc][events]stall timeout - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]abort on timeout -> [cylc][events]abort on stall timeout - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]inactivity -> [cylc][events]inactivity timeout - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]abort on inactivity -> [cylc][events]abort on inactivity timeout - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]startup handler -> [cylc][events]startup handlers - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]shutdown handler -> [cylc][events]shutdown handlers - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]timeout handler -> [cylc][events]stall timeout handlers - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]stalled handler -> [cylc][events]stall handlers - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]aborted handler -> [cylc][events]abort handlers - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]inactivity handler -> [cylc][events]inactivity timeout handlers - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]abort on stalled - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]abort if startup handler fails - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]abort if shutdown handler fails - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]abort if timeout handler fails - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]abort if inactivity handler fails - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc][events]abort if stalled handler fails - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9 +WARNING - * (8.0.0) [cylc] -> [scheduler] - value unchanged - support for the old item will be removed at Cylc 8.9 +WARNING - graph items were automatically upgraded in "workflow definition" - support for the old item will be removed at Cylc 8.9: * (8.0.0) [scheduling][dependencies][X]graph -> [scheduling][graph]X - for X in: P1D diff --git a/tests/integration/scripts/test_validate_integration.py b/tests/integration/scripts/test_validate_integration.py index 166818699a8..fed3c516b5c 100644 --- a/tests/integration/scripts/test_validate_integration.py +++ b/tests/integration/scripts/test_validate_integration.py @@ -110,7 +110,8 @@ def test_validate_simple_graph(flow, validate, caplog): validate(id_) expect = ( 'graph items were automatically upgraded' - ' in "workflow definition":' + ' in "workflow definition" - support for the old item will be ' + 'removed at Cylc 8.9:' '\n * (8.0.0) [scheduling][dependencies]graph -> [scheduling][graph]R1' ) assert expect in caplog.messages @@ -147,17 +148,22 @@ def test_pre_cylc8(flow, validate, caplog): for warning in ( ( ' * (7.8.0) [runtime][foo, cat, dog][suite state polling]template' - ' - DELETED (OBSOLETE)'), - ' * (7.8.1) [cylc][events]reset timer - DELETED (OBSOLETE)', - ' * (7.8.1) [cylc][events]reset inactivity timer - DELETED (OBSOLETE)', + ' - DELETED (OBSOLETE)' + ' - this will fail validation in Cylc 8.9'), + (' * (7.8.1) [cylc][events]reset timer - DELETED (OBSOLETE)' + ' - this will fail validation in Cylc 8.9'), + (' * (7.8.1) [cylc][events]reset inactivity timer - DELETED (OBSOLETE)' + ' - this will fail validation in Cylc 8.9'), ( ' * (7.8.1) [runtime][foo, cat, dog][events]reset timer' - ' - DELETED (OBSOLETE)'), + ' - DELETED (OBSOLETE) - this will fail validation in Cylc 8.9'), ( ' * (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' + ' - value unchanged - support for the old item will be ' + 'removed at Cylc 8.9'), + (' * (8.0.0) [cylc] -> [scheduler] - value unchanged' + ' - support for the old item will be removed at Cylc 8.9') ): assert warning in caplog.messages @@ -211,7 +217,8 @@ def test_graph_upgrade_msg_graph_equals2(flow, validate, caplog, log_filter): validate(id_) expect = ( 'graph items were automatically upgraded in' - ' "workflow definition":' + ' "workflow definition" - support for the old item will be ' + 'removed at Cylc 8.9:' '\n * (8.0.0) [scheduling][dependencies][X]graph' ' -> [scheduling][graph]X - for X in:' '\n P1Y, graph'