...
This tutorial follows the next steps
- Install SUMI on the Gateway.
- Test Passwordless connection with Marconi.
- Install uDocker on Marconi.
- SCP Docker image from Gateway to Marconi and create container
- Test image on Marconi.
- Configure sample job
Submit workflow
Retrieve data
- Test and submit workflow, then check output on GW .
Install SUMI on the Gateway
...
Passwordless configuration with Marconi
SAGA and Paramiko require To use SUMI we need a passwordless connection to work.
Copy your public key to the remote host. This means that Marconi needs to have the public key of our account at Gateway on the list of allowed keys. If we don't have a ~/.ssh/id_rsa.pub file we have to generate our keys
Code Block | ||
---|---|---|
| ||
ssh-keygen |
To copy our key we make usage of the "ssh-copy-id" command to copy from Gateway to Marconi
Code Block | ||
---|---|---|
| ||
ssh-copy-id username@login.marconi.cineca.it |
Now, if we stablish an SSH connection, the prompt will not ask for any password and will give us a terminal inside Marconi.
Code Block | ||
---|---|---|
| ||
ssh username@login.marconi.cineca.it |
Install uDocker on Marconi
For this step follow the instructions the will be found on the uDocker documentation.
Known issues
When setting up a uDocker image locally be sure that there is enough quota for your user. Otherwise it may crash or show untar related problems as the following when running the udocker load command.
Error: failed to extract container:
Error: loading failed
SCP Docker image from Gateway to Marconi and create container
The Docker image is avaiable at Gateway and you can use it on any machine, including your own laptop
Code Block |
---|
ls ~g2tomz/public/imas-installer* |
To copy the image from Gateway to Marconi we run scp command
Code Block |
---|
scp ~g2tomz/public/imas-installer-20180921112143.tar.xz-id username@login.marconi.cineca.it: |
Once it has been copied we log in Marconi and run the following commands to load the image and create the container
Code Block |
---|
$HOME/.local/bin/udocker load -i imas-installer-20180921112143.tar.xz
$HOME/.local/bin/udocker create --name=imas imas-installer:20180921112143 |
...
Test image on Marconi
Once the image has been loaded we can interact with it and get a bash inside the container. To interact with the image we can get a bash with the following command
Code Block |
---|
$HOME/.local/bin/udocker run imas /bin/bash |
The commands that we are going to run for our example case are the following (same as used in uDocker documentation)
Code Block |
---|
module load imas kepler
module load keplerdir
imasdb test
export USER=imas
kepler -runwf -nogui -user imas /home/imas/simple-workflow.xml |
Running these commands inside the terminal will make the workflow start running
Configure and submit workflow, then check output on GW
To configure a job we have to edit the files copied on the
Code Block |
---|
mkdir $HOME/.sumi
cp sumi/conf/*.conf $HOME/.sumi |
jobs.conf
The configuration file jobs.conf located at local directory $HOME/.sumi/ contains the configuration for the jobs to be run. The sample configuration file located at $SUMI_DIR/conf/jobs.conf has the following content.
Code Block |
---|
[test] |
...
udocker = udocker.py |
...
arguments = cpus = 1 time = 1 threads_per_process = 1 |
servers.conf
The configuration file servers.conf located at local directory $HOME/.sumi/ contains the configuration for the servers where SUMI will connect The sample configuration file located at $SUMI_DIR/conf/servers.conf has the following content.
...
SUMI allows to upload and download files automatically. For this we can assume a directory "mywf" in our remote Marconi directory and another one in our local Gateway account, as well as a mywfresults folder on Gateway. This will
Code Block |
---|
[machinemarconi] server = login.marconi.cineca.it user = my_username manager = slurm protocol = ssh upload_files = /afs/eufus.eu/g2itmdev/user/my_username/mywf/* upload_to = /marconi/home/userexternal/agutierr/mywf/ download_files = /marconi/home/userexternal/agutierr/mywf/test* download_to = /afs/eufus.eu/g2itmdev/user/g2agutie/mywfresults/ |
Once the job has been configured we can run it using the following command
Code Block |
---|
sumi -r -j test -m marconi |
This will copy the files, run the workflow and retrieve the output results. Once we have them we can check whether the
Code Block |
---|
idsdump 1 1 pf_active |
And this will show the correct structre of the IDS generated.
Configure sample job and big Marconi connection
Test connection with Marconi
To use SUMI we need a passwordless connection. This means that Marconi needs to have the public key of our account at Gateway on the list of allowed keys. To copy our key we make usage of the "ssh-copy-id" command
...
$SUMI_UDOCKER_DIR/udocker.py create --name=imas imas-installer:20180529181447
Known issues
When setting up a uDocker image locally be sure that there is enough quota for your user. Otherwise it may crash or show untar related problems as the following when running the udocker load command.
Error: failed to extract container:
Error: loading failed
Setting up SUMI
SUMI (SUbmission Manager for IMAS) is a tool developed for ITER IMAS (Integrated Modelling & Analysis Suite). SUMI aims to launch jobs remotely to HPC machines with a uDocker installation and it is able to manage data transfer among local machine and remote file system. SUMI allows to configure the connection to different supercomputers and configure jobs to be launched to those machines.
Installing SUMI locally is needed to be able to submit
SUMI depends on two free software libraries. Both work with Python 2.x, specifically versions newer than 2.7.x
...