Site And User Configuration

Aspects of some Rose utilities can be configured per installation via the site configuration file and per user via the user configuration file. Any configuration in the site configuration overrides the default, and any configuration in the user configuration overrides the site configuration and the default. Rose expects these files to be in the modified INI format described in Rose Configuration Format. Rose utilities search for its site configuration at $ROSE_HOME/etc/rose.conf where $ROSE_HOME/bin/rose is the location of the rose command, and they search for the user configuration at $HOME/.metomi/rose.conf where $HOME is the home directory of the current user.

You can also override many internal constants of rose config-edit and rosie go. To change the keyboard shortcut of the Find Next action in the config editor to F3, put the following lines in your user config file, and the setting will apply the next time you run rose config-edit:

[rose-config-edit]
accel-find-next=F3
Rose Configuration rose.conf

The rose.conf file can be installed in:

  • $ROSE_HOME/etc/ for site configuration.
  • $HOME/.metomi/rose/ for user configuration.
Config checksum-method= md5|sha1|...
default:md5

Default method for checksum calculation. Values can be any algorithm available from Python’s hashlib.

Config meta-path= DIR1[:DIR2[:...]]
Paths to locate configuration metadata e.g. meta-path=/opt/rose-meta.
Config rose-doc= http://metomi.github.io/rose/
default:file://${ROSE_HOME}/doc/

URL to Rose documentation.

Config site= SITE-NAME
Site name, used by suite configuration for portability.
Config [external]
Configuration of external commands.
Config diff_tool= COMMAND
default:diff -u

Launch diff tool.

Config editor= COMMAND
default:vi

Launch text editor.

Config fs_browser= COMMAND
default:nautilus

Launch graphical file system browser.

Config gdiff_tool= COMMAND
default:gvimdiff

Launch graphical diff tool.

Config geditor= COMMAND
default:gedit

Launch graphical text editor.

Config image_viewer= COMMAND
default:eog

Launch image viewer.

Config rsync= COMMAND
default:rsync -a –exclude=.* –timeout=1800 –rsh=’ssh -oBatchMode=yes’

The rsync command.

Config ssh= COMMAND
default:ssh -oBatchMode=yes -oConnectTimeout=10

The ssh command.

Config terminal= COMMAND
default:xterm

Launch terminal.

Config [rosa-ldap]
These LDAP settings are only relevant if [rosa-svn]user-tool=ldap.
Config attrs= uid cn mail
default:uid cn mail

The attributes for UID, common name and email in the LDAP directory.

Config basedn= BASEDN
The base DN in the LDAP directory to search for users.
Config binddn= BINDDN
The DN in the LDAP server to bind with to search the directory.
Config filter-more
If specified, use the value as extra (AND) filters to an LDAP search.
Config password-file
default:~/.ldappw

The file containing the password to the LDAP server, if required.

Config tls-ca-file
The location of the TLS CA certificate file.
Config uri= URL
The URI of the LDAP server e.g. ldap://my-ldap.my-domain.
Config [rosa-svn]
Configuration for rosa svn-pre-commit and rosa svn-post-commit.
Config notification-from= EMAIL-ADDRESS
Notification email address (for the “From:” field in notification emails).
Config notify-who-on-trunk-commit= ROLE1 ...

List of user roles to notify on trunk commits. A user role can be:

  • author for the author of the change.

  • owner for the owner of the affected suite.

  • access-list for the users in the access-list of the affected suite.

    Note

    If the author is not in the list, (s)he will not be notified regardless of his/her role as suite owner or author of the access-list.

E.g.:

notify-who-on-trunk-commit=author owner access-list
Config super-users= USER1 ...
Space-separated list of admin users allowed to write to the trunk of any suite.
Config user-tool= ldap|passwd
Tool to obtain user information. Either LDAP or Unix getpwnam.
Config [rose-ana]
Configuration related to the built-in rose_ana application.
Config grepper-report-limit= 42
Limits the number of lines printed when using the rose.apps.ana_builtin.grepper analysis class.
Config kgo-database= .true.
default:.false.

Turns on the Rose Ana Comparison Database.

Config method-path= /path/1 /path2
Items to prepend to the search path for user methods.
Config skip-if-all-files-missing= .true.
Causes the rose.apps.ana_builtin.grepper class to pass if all files to be compared are missing.
Config [rose-bush]
Configuration for Rose Bush server.
Config cycles-per-page= NUMBER
default:100

Cycles list view: default number of cycles per page.

Config host= NAME
default:The server’s host name.

An alternative host name.

Config jobs-per-page= NUMBER
default:15

Job list view: default number of jobs per page.

Config jobs-per-page-max= NUMBER
default:300

Job list view: maximum number of jobs per page.

Image logo attributes, can be any HTML <img/> tag attributes e.g: logo=src="http://server/my-rose-bush-logo.png" alt="My Rose Bush Logo".
Config suites-per-page= NUMBER
default:100

Suites list view: default number of suites per page.

Config title= TITLE
default:“Rose Bush”

An alternative service title.

Config view-size-max= BYTES
default:10485760

File view: maximum viewable file size in bytes.

Config [rose-config-diff]
Configuration specific to rose config-diff.
Config ignore{foo}= REGEX
Shorthand expressions for ignore-setting regular expressions e.g. ^baz,bar,w[ib]ble.
Config properties= title,ns,description,help
default:“title,ns,description,help”

Metadata properties to use.

Config [rose-config-edit]
Configuration specific to rose config-edit.
Config icon-path-scheduler= PATH
default:/opt/cylc/images/icon.svg

Path to an image containing the suite engine icon. See rose.config_editor for detail.

Config project-url= URL
default:https://github.com/metomi/rose/

Hyperlink to the Rose project page.

Config [rose-host-select]
Configuration related to rose host-select.
Config default= GROUP/HOST ...
The default arguments to use for this command e.g. default=hpc.
Config group{NAME}= GROUP/HOST ...

Declare a named group of hosts e.g:

group{rose-vm}=rose-vm0 rose-vm1 rose-vm2 rose-vm3
group{hpc}=hpc1 hpc2
group{hpc1}=hpc1a hpc1b hpc1c hpc1d
group{hpc2}=hpc2a hpc2b hpc2c hpc2d
Config method{NAME}= METHOD[:METHOD-ARG]
default:load

Declare the default ranking method for a group of hosts e.g. method{hpc}=random. For detail on the methods see rose host-select.

Config thresholds{NAME}= [METHOD[:METHOD-ARG]:]VALUE ...

Declare the default threshold(s) for a group of hosts e.g:

thresholds{hpc}=fs:/var/tmp:75 fs:/tmp:75
thresholds{linux}=mem:8000

For detail on the methods see rose host-select.

Config timeout= FLOAT
default:10.0

Set the timeout in seconds of ssh commands to hosts.

Config [rose-mpi-launch]
Configuration related to rose mpi-launch.
Config launcher-fileopts.LAUNCHER= OPTION-TEMPLATE

Specify the options to a LAUNCHER for launching with a command file. The template string should contain $ROSE_COMMAND_FILE (or ${ROSE_COMMAND_FILE}), which will be expanded to the path to the command file. e.g:

launcher-fileopts.poe=-f $ROSE_COMMAND_FILE
launcher-fileopts.mpiexec=-cmdfile $ROSE_COMMAND_FILE
Config launcher-list= LAUNCHER ...

Specify a list of launcher commands e.g:

launcher-list=poe mpiexec
Config launcher-postopts.LAUNCHER= OPTIONS-TEMPLATE
Specify the options to a LAUNCHER for launching with a command. postopts are options placed after COMMAND but before the remaining arguments.
Config launcher-preopts.LAUNCHER= OPTIONS-TEMPLATE

Specify the options to a LAUNCHER for launching with a command. preopts are options placed after the launcher command but before COMMAND. E.g:

launcher-preopts.mpiexec=-n $NPROC
Config [rose-stem]
Configuration related to rose stem.
Config automatic-options= VARIABLE=VALUE
Automatic options. These are added as if the user added them with --define-suite on the command line and can be accessed as Jinja2 variables in the suite.rc file. E.g automatic-options=TEA=earl_grey would set the Jinja2 variable TEA to be earl_grey.
Config [rose-suite-log]
Configuration related to rose suite-log.
Config rose-bush= URL
URL to the site’s Rose Bush web service.
Config [rose-suite-run]
Configuration related to rose suite-run.
Config hosts= HOST-GROUP|HOST ...

Hosts in the [rose-host-select] section that can be used to run a suite e.g:

hosts=rose-vm
Config remote-no-login-shell= HOST-GLOB=true|false
default:false

Don’t use login shell to invoke rose suite-run --remote where HOST-GLOB is a glob for matching host names e.g:

remote-no-login-shell=myhpc*=true
                      mycluster*=true
Config remote-rose-bin= HOST-GLOB=ROSE-BIN-PATH
default:rose

Path to rose executable on remote hosts where:

  • HOST-GLOB is a glob for matching host names.
  • ROSE-BIN-PATH is the path to the rose executable.

E.g:

remote-rose-bin=myhpc*=/opt/rose/bin/rose
                mycluster*=/usr/local/bin/rose
Config root-dir= HOST-GLOB=$HOST-DIR
default:$HOME

Root location of a suite run directory where:

  • HOST-GLOB is a glob for matching host names.
  • HOST-DIR is the value of the root location for matching hosts.

E.g:

root-dir=hpc*=$DATADIR
        =*=$HOME
Config root-dir{share/cycle}= HOST-GLOB=$HOST-DIR
default:$HOME

Root location of a suite run’s share/cycle/ directory. Syntax is the same as root-dir. Multiple pairs can be specified by a new-line separated list.

Config root-dir{share}= HOST-GLOB=$HOST-DIR
default:$HOME

Root location of a suite run’s share/ directory. Syntax is the same as root-dir. Multiple pairs can be specified by a new-line separated list.

Config root-dir{work}= HOST-GLOB=$HOST-DIR
default:$HOME

Root location of a suite run’s work/ directory. Syntax is the same as root-dir. Multiple pairs can be specified by a new-line separated list.

Config scan-hosts= HOST-GROUP|HOST ...

Hosts in the [rose-host-select] section that can be scanned by rose utilities e.g:

scan-hosts=localhost rose-vm
Config [rose-task-run]
Configuration related to rose task-run.
Config path-prepend= /path/1 /path/2
Items to prepend to the PATH environment variable.
Config path-prepend.PYTHONPATH
Items to prepend to a PATH-like environment variable, e.g. PYTHONPATH.
Config [rosie-db]
Configuration related to the database of the Rosie web service server.
Config db.PREFIX= URL

The database location of a given repository prefix, from within the server e.g. to create/reference an SQLite DB at /srv/rosie/foo-db.sqlite:

db.foo=sqlite:////srv/rosie/foo-db.sqlite
Config repos.PREFIX= DIR

The path to the repository of a given prefix, from within the server e.g:

repos.foo=/srv/svn/foo
Config [rosie-disco]
Configuration related to the adhoc Rosie suite discovery service server.
Config host= NAME
default:The server’s host name.

An alternative host name.

Config title= TITLE
default:“Rosie Suites Discovery”

An alternative service title.

Config [rosie-go]
Configuration related to the rosie go GUI. See rosie.browser for detail.
Config icon-path-scheduler
default:/opt/cylc/images/icon.svg

Path to an image containing the suite engine icon.

Config project-url= https://host/rose/
default:https://github.com/metomi/rose/

Hyperlink to the Rose project page.

Config [rosie-id]
Configuration related to Rosie client commands.
Config local-copy-root= DIR
default:$HOME/roses

Root directory of local (working) copies of suites e.g:

local-copy-root=$HOME/my-work/roses
Config prefix-default= PREFIX
The default ID prefix (an identifier for a Rosie repository/service).
Config prefix-https-ssl-cert.PREFIX= PATH

For HTTPS requests, location(s) of certificate + private key files e.g:

prefix-https-ssl-cert.PREFIX=/path/to/server.pem
prefix-https-ssl-cert.PREFIX=/path/to/server.crt /path/to/key
Config prefix-https-ssl-verify.PREFIX= True|False
default:True

For HTTPS requests, verify SSL certificates.

Config prefix-location.PREFIX= URL

URL of the repository of an ID prefix, with no trailing slash, e.g:

prefix-location.foo=svn://host/foo
Config prefix-password-store.PREFIX= gpgagent|gnomekeyring
default:try gpgagent then gnomekeyring

The password store to use.

Config prefix-username.PREFIX= USER-ID
Default user name for services in prefix.
Config prefix-web.PREFIX= URL

Source browser (e.g. Trac) URL of the repository of an ID prefix e.g:

prefix-web.foo=http://host/projects/foo/intertrac/source:
Config prefix-ws.PREFIX= URL

Discovery service URL of an ID prefix e.g:

prefix-ws.foo=http://host:port/rosie/foo
Config prefixes-ws-default= PREFIX ...
List of default discovery services (space-delimited list of prefixes) that will be used by a Rosie discovery service client.
Config [rosie-vc]
Configuration related to the Rosie version control client.
Config access-list-default= USER-ID ...

Default access-list setting on suite creation, e.g. to grant access to all users by default:

access-list-default=*
Config [t]
Test battery configuration.
Config difftool= COMMAND ...
default:diff -u

Tool to compare two files when there are differences.

Config host-groups= GROUP ...
List of selectable host groups.
Config job-host= HOST
A remote host that does not share its HOME directory with localhost.
Config job-host-fast-dest-root= PATH

A fast file system for working with small files in job-host e.g:

job-host-fast-dest-root=/var/tmp/$USER
Config job-host-with-share= HOST
A remote host that shares its HOME directory with localhost.
Config job-host-with-share-fast-dest-root= PATH
A fast file system for working with small files in job-host-with-share.
Config job-hosts= HOST1 HOST2
Two non-local job hosts that may or may not share a file system.
Config job-hosts-sharing-fs= HOST1 HOST2
Two job hosts sharing a file system, but not with localhost.
Config prove-options= PROVE-OPTIONS ...
default:-j9 -s

Options for prove when calling rose test-battery with no arguments. Note that -r t is automatically added to the end of the command line.