Suite Configuration§
The configuration and functionality of a suite will usually be covered by
the use of Cylc. In which case, most of the suite configuration will live
in the Cylc suite.rc file. Otherwise, a suite is just a directory of
files.
A suite directory may contain the following:
- A file called
rose-suite.conf, a configuration file in the modified INI format described above. It stores the information on how to install the suite. Seerose-suite.conffor detail. - A file called
rose-suite.info, a configuration file in the modified INI format described above. It describes the suite’s purpose and identity, e.g. the title, the description, the owner, the access control list, and other information. Apart from a few standard fields, a suite is free to store any information in this file. Seerose-suite.infofor detail. - An
app/directory of application configurations used by the suite. - A
bin/directory of scripts and utilities used by the suite. - An
etc/directory of other configurations and resources used the suite. E.g.fcm_makeconfigurations. - A
meta/directory containing the suite’s configuration metadata. opt/directory. For detail, see Optional Configuration.- Other items, as long as they do not clash with the scheduler’s working
directories. E.g. for a Cylc suite,
log*/,share/,state/andwork/should be avoided.
-
Rose Configuration
rose-suite.conf The suite install configuration file
rose-suite.confshould contain the information on how to install the suite.-
Config
opts Hardcode an optional configuration to be used by the suite. It is generally better to specify optional configurations using the
ROSE_SUITE_OPT_CONF_KEYSenvironment variable or--opt-conf-keyargument both of which work with rose suite-run.
-
Config
[env] Specify the environment variables to export to the suite daemon. The usual
$NAMEor${NAME}syntax can be used in values to reference environment variables that are already defined before the suite runner is invoked. However, it is unsafe to reference other environment variables defined in this section. If the value of an environment variable setting begins with a tilde~, all of the characters preceding the first slash/are considered a tilde-prefix. Where possible, a tilde-prefix is replaced with the home directory associated with the specified login name at run time.-
Config
KEY= VALUE Define an environment variable
KEYwith the valueVALUE.
-
Config
ROSE_VERSION= ROSE_VERSION_NUMBER If specified, the version of Rose that starts the suite run must match the specified version.
-
Config
CYLC_VERSION= CYLC_VERSION_NUMBER If specified for a Cylc suite, the Rose suite runner will attempt to use this version of cylc.
-
Config
-
Config
[jinja2:suite.rc] -
Config
KEY= VALUE Define a Jinja2 variable
KEYwith the valueVALUEfor use in thesuite.rcfile.The assignment will be inserted after the
#!jinja2line of the installedsuite.rcfile.
-
Config
-
Config
[empy:suite.rc] -
Config
KEY= VALUE Define a EmPy variable
KEYwith the valueVALUEfor use in thesuite.rcfile.The assignment will be inserted after the
#!empyline of the installedsuite.rcfile.
-
Config
-
Config
[file:NAME] Specify a file/directory to be installed.
NAMEshould be a path relative to the run time$PWD.E.g.
file:app/APP=source=LOCATION.For a list of configuration options and details on each see
*[file:TARGET].
-
Config
meta Specify the configuration metadata for the suite. The section may be used by various Rose utilities, such as the config editor GUI. It can be used to specify the suite type.
-
Config
root-dir= LIST A new line delimited list of
PATTERN=DIRpairs. ThePATTERNshould be a glob-like pattern for matching a host name. TheDIRshould be the root directory to install a suite run directory. E.g.:root-dir=hpc*=$WORKDIR =*=$DATADIR
In this example, rose suite-run of a suite with name
$NAMEwill create~/cylc-run/$NAMEas a symbolic link to$DATADIR/cylc-run/$NAME/on any machine, except those with their hostnames matchinghpc*. In which case, it will create~/cylc-run/$NAMEas a symbolic link to$WORKDIR/cylc-run/$NAME/.
A new line delimited list of
PATTERN=DIRpairs. ThePATTERNshould be a glob-like pattern for matching a host name. TheDIRshould be the root directory where the suite’sshare/directory should be created.
A new line delimited list of
PATTERN=DIRpairs. ThePATTERNshould be a glob-like pattern for matching a host name. TheDIRshould be the root directory where the suite’sshare/cycle/directory should be be created.
-
Config
root-dir{work}= LIST A new line delimited list of
PATTERN=DIRpairs. ThePATTERNshould be a glob-like pattern for matching a host name. TheDIRshould be the root directory where the suite’swork/directory for tasks should be created.
Deprecated since version 2015.04: Equivalent to
root-dir{share}=LIST.
-
Config
root-dir-work= LIST Deprecated since version 2015.04: Equivalent to
root-dir{work}=LIST.
-
Config
-
Rose Configuration
rose-suite.info The suite information file
rose-suite.infoshould contain the information on identify and the purpose of the suite. It has no sections, onlyKEY=VALUEpairs. Theowner,projectandtitlesettings are compulsory. Otherwise, anyKEY=VALUEpairs can appear in this file. If the name of aKEYends with-list, the value is expected to be a space-delimited list. The following keys are known to have special meanings:-
Config
owner Specify the user ID of the owner of the suite. The owner has full commit access to the suite. Only the owner can delete the suite, pass the suite’s ownership to someone else or change the
access-list.
-
Config
project Specify the name of the project associated with the suite.
-
Config
title Specify a short title of the suite.
-
Config
access-list Specify a list of users with commit access to trunk of the suite. A
*in the list means that anyone can commit to the trunk of the suite. Setting this blank or omitting the setting means that nobody apart from the owner can commit to the trunk. Only the suite owner can change the access list.
-
Config
description Specify a long description of the suite.
-
Config
sub-project Specify a sub-division of
project, if applicable.
-
Config