wiki:Rose/Running Rose on Accessdev

Running ACCESS/UM under Rose Wiki Page


Introduction

This wiki page describes how users can setup and run ACCESS or the UM under Rose on the NCI's Virtual Machine Accessdev. Rose is a group of utilities for managing the development of scientific application suites. It is published by the Met Office. Users must have an account with NCI and belong to the access group to be able use Rose for running ACCESS or the UM on Accessdev.

Setting up your environment

Your environment on Accessdev needs to be configured to allow job submission to the computes nodes as well as accessing the subversion repositories. Currently, Rose is configured to access the subversion repository via svn+ssh protocol. You will need to add your public key to ~/.ssh/authorized_keys or set up a ssh_agent to enable access to the repository without password prompts.

It is recommended to follow the instructions in ssh User Guide to ensure ssh keys are set correctly.

To check to see if you have access to the rose repositories run:

svn info svn+ssh://accessdev.nci.org.au/home/access-svn/roses_test_svn

Starting the Rosie client

Rosie is client that allows users to view suites in a repository. Currently, there are two repositories on accessdev that contain suites. The default one is "au" which is for general usage. The second is "test" which is for testing purposes. To run Rosie type the following command from the text prompt:

rosie go

A detail guide on the layout of rosie go, locating and managing suites can be found at http://metomi.github.io/rose/doc/rose-rug-rosie-go.html

Editing a Suite

To edit a Rose suite either run the following command or double click on one of the suites in Rosie Gui.

rose edit [-C /dir/to/my.suite]

A detail guide on configuring applications through Rose can be found at http://metomi.github.io/rose/doc/rose-rug-config-edit.html

Running Rose

To run a suite through Rose and Cylc run the following command or click on the "Run Suite" play button;

rose suite-run

Other useful options for suite-run are:

  • rose suite-run -n alternate_suite_name Run with a different suite name, in a different output directory
  • rose suite-run -C /path/to/suite/ Run a suite located in a directory other than the current directory
  • rose suite-run --install-only Install the suite, but don't run it.
  • rose suite-run -- --mode=simulation Execute all tasks/apps as 'sleep 10'
  • rose suite-run -v -v --debug Increase Verbosity and show debug information
  • rose suite-run --restart -- --hold Restart suite from previous state, but don't start running tasks

Other useful commands when a suite is running:

  • rose suite-scan List your running suites.
  • rose suite-gcontrol Launch the cylc gui for the suite in current directory.
  • rose suite-shutdown Shutdown the suite in current directory at the next opportunity.
  • rose suite-clean Remove items from previous runs for the suite in $PWD including share/, work/ and runtime directories on remote job hosts.

See http://metomi.github.io/rose/doc/rose-command.html for further commands.

Output of Suites

Output of suites are located in the share and work directories on the computes nodes. These directories exist under /short/$PROJECT/$USER/cylc-run/$ID, where $ID is the name of the suite. Soft links are created to these directories from $HOME/cylc-run/$ID.

Log files from running a suite are located on accessdev.nci.org.au under $HOME/cylc-run/suitename/log/. Alternatively, you can type rose suite-log-view --name=$ID to launch your browser and view the output of your suite without having to navigate the directories.

Enabling log files for the Web

Rose includes the functionality that allows suite information and log files be viewable from web. You can enable this feature by typing:

mkdir ~/public_html
ln -s  ~/cylc-run ~/public_html/cylc-run

Log files should be http://accessdev.nci.org.au/~<USERID>/cylc-run/<SUITENAME>/log/ where USERID is your NCI login id and SUITENAME is the name of the suite.

Alternatively, log files can be viewed on the web through Rose Bush by entering your user id. See https://accessdev.nci.org.au/rose-bush/

With rose 2016.03.0 and cylc 6.9.1 log files are automatically returned to accessdev and permissions are set so that they are viewable with rose-bush. It's no longer necessary to use the special local event handler rose task-hook2. Currently there's a size limit so log files (job.err and job.out) are only automatically returned if they are less than 2 MB but this can be overridden if necessary.

You can reset this limit for all your suites in $HOME/.cylc/global.rc with for example

[hosts]
     [[localhost]]
         retrieve job logs size limit = 5M

You can also turn off the retrieval completely with

[hosts]
     [[localhost]]
         retrieve job logs = False

This can also be set in the suite.rc file for individual suites, e.g.

[runtime]
   [[root]]
     [[[remote]]]
     host=raijin
     # retrieve job logs  = False
     retrieve job logs max size = 5M

Viewing Log files in Rose Bush

Rose Bush displays the logs of your running or completed suites and the logs of their task jobs via a web interface. This service can be found at https://accessdev.nci.org.au/rose-bush/. Users can enter their NCI username to view all suites or can enter the name of the suite to view log files from that particular suite.

Monitoring suites by other users

If you want to make your suite viewable by other users you can use the rose monitor utility. A suite can be enabled to be monitored by the command rose monitor --allow SUITE where SUITE is the name of the suite. The suite needs to be running before using this command. Once this command has been executed other users can then monitor this suite by running rose monitor --user USER SUITE where USER is the login id of the user who is running the suite.

Test Suites

There are currently two test suites (test-aa000 and test-aa001) that can be used to verify Rose and Cylc are setup correctly. These are located in the test subversion repository. test-aa000 runs the Rose rug brief tour suite. test-aa001 will test Cylc connections with Raijin.

To try these suites run:

rosie go

Change the Data source to "test" by clicking on the menu item Edit>Data Source>test and doing a search for suites test-aa000 or test-aa001. If you do a search on the string "test" you should see all the suites in the test repository.

You will need to checkout a suite before you can run it.

You can also run these suites from the command line by typing:

rosie checkout test-aa000
rose suite-run -C ~/roses/test-aa000

Running the suite will cause the cylc scheduler to start up. A window should appear which shows the various tasks in the suite and their respective states.

(To be completed)

Last modified 2 years ago Last modified on Oct 26, 2016 11:45:45 AM

Attachments (3)

Download all attachments as: .zip