The work described in this document aims to:
rose suite-runand provide a new cylc command to replace it.
This will complete cylc-flow #1885.
Implement basic platforms support. See platforms proposal.
Add new platforms features required to support rose suite-run functionality. See platforms proposal.
Define new cylc command to replace rose suite-run (and adapt rose suite-run to provide backwards compatibility). See below.
The remaining points can happen any time after 1) is complete although note that 2) and 3) are higher priority.
Support generation of cylc config reference documentation from the code and ensure all settings are documented. See cylc-doc #11. Alternatively, review and update the existing documentation.
Implement further enhancements to the platforms support. See platforms proposal. Note that these are not essential for Cylc 8.0.
Review all config settings and make any agreed changes. See cylc-flow #3422. Note that these are not essential for Cylc 8.0 although we should try to address any non-controversial changes.
Installation of suites on platforms and support for moving the share, work & log directories to different locations. This will be included in the platforms support.
cylc-run) are both accessible on the host where the command is run.
Utility to remove installed locations (on all platforms) on demand
u-ab123/ run1 run2
rose suite-runcurrent supports this for Subversion only (
cylc install - new command to install workflows.
cylc installwill install the workflow found in
_cylc-installdiretory containing a
sourcesymlink to the source dir.
~/cylc-run/<flow_name>/sourcesymlink. Otherwise it would be possible for
run1to come from a different source dir to
--run-nameis not specified and
run1already exists it will install into
run2(and so on). Create a symlink
runNpointing at the latest run.
--run-name=my-runimplies install into
~/cylc-run/$(basename $PWD)/my-run. If the target directory already exists then fail. Note that
--run-name=_cylc-installis an error.
--no-run-nameimplies install into
--flow-name=my-flowimplies install into
-C ...) implies install the workflow found in
.svndirectories. Everything else will be copied.
.cylcignorefile (future enhancement).
_cylc-installexist in the source directory.
~/cylc-run/my-flowalready contains an installed suite.
workdirectories will be created following whatever symlink rules are defined for localhost (over-ridable via command line options).
cylc play - new command to run an installed workflow
cylc runcommand but with no
[START_POINT]argument (already supported as an option).
cylc cleanto clean out the log directory (and whatever other directories you want removing) after which
cylc playcan be used. Note that this means that
cylc playmust be able to use the command line options from the previous run as stored in the private database. There are 2 options:
--re-runoption to enable this (otherwise
cylc playwill fail if it finds an existing private database).
logdirectory is found.
cylc playwill always load the latest workflow definition found in the run directory and will respect any command line options (which may alter the workflow definition). Therefore, continuing a workflow using
cylc playeffectively implies a reload.
cylc.flowfiles will be kept so there will be a record of any changes (see also cylc-flow #3763).
ROSE_SUITE_OPT_CONF_KEYSor the option
cylc reinstall - new command to re-install workflows.
cylc installcommand except that this applies to a previously installed workflow (i.e. you run this command in the directory of the installed workflow, not in the source directory).
--deleteto ensure that any previously installed files which have been removed from the source directory also get removed from the installed workflow.
rose-suite.conf. They will get recreated by a subsequent reload or play but could affect a running workflow.
--dry-runoption to report what would be changed?
cylc reload - no change from existing command.
cylc validate - as per existing command with the following changes:
cylc installthen use any relevant command line options specified as part of the install unless overridden on the command line.
--strict. Consider a new
--cyclic-graph-validationoption to enable this? See cylc-flow #3869.
Several combinations of the above commands will be commonly used. Propose to support these as separate commands:
cylc ipfor short?)
cylc pause|release - new commands with aliases
cylc stopthe scheduler will be modified to unpause the workflow before stopping. This means that a stopped workflow will not be paused when it is continued via
cylc play. On the other, a workflow which is continued for any other reason (e.g. the server died) will retain its paused status.
cylc register - remove: functionality no longer required.
cylc installwill now perform the task of associating the source and run directories via a symlink.
cylc playhas no need to do this since the workflow definition will now always be found in the run directory.
cylc clean - new command to replace
logdirectory this allows you to rerun a workflow (keeping the existing data in
shareif that is what you want). The default will be to remove everything including the top level directory.
rose suite-rundoes but without tar gzipping the directory). This would allow a workflow to be warm started without completely losing the previous log files (this is an operational requirement at present although we hope that re-flows will reduce or remove the need for this). Note that we would not provide any further support for these archived log directories (e.g. no support for accessing the logs via the UI).
log/rose-suite-run.locsis currently required by
cylc cleanshould probably get this information from the database?
For all commands which have been replaced (run, restart, register,etc) we will replace them with (hidden, not listed in CLI help) commands which simply report what commands should be used in their place.
Once the main CLI changes are in place we should do a complete review of the entire cylc command set to see whether there are further commands which should be retired or altered.
rose suite-cmp-vc- check whether we have a replacement for this in cylc first
rose suite-hook- has been deprecated for some time now
rose suite-log- need to check whether it is still in use with the
Related issues / notes:
Proposed contents of the
log directory in the run directory.
db- no change
job/- no change
rose-conf/*.conf(contains Cylc + Rose confs)
-install/- installation logs