You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

In this page:


This is a base guide to learn using UNICORE Services and tools. In case of troubles please report any problem to superc@cineca.it

Introduction

UNICORE (Uniform Interface to Computing Resources) offers a ready-to-run Job submission system including client and server software. UNICORE makes distributed computing and data resources available in a seamless and secure way in intranets and the internet (https://www.unicore.eu/).

UCC (Unicore Command Line Client)

The UNICORE Commandline Client (UCC) is a full-featured client for accessing UNICORE services. It requires a Java runtime environment, version 11 or later. We recommend using the OpenJDK.

UCC offers:

  • Job submission and management
  • Data movement (upload, download, server-to-server copy, etc) using the UNICORE storage management functions and the available data transfer protocols
  • Storage functions (ls, mkdir, ...) including creation of storage instances via storage factories
  • UNICORE Workflow service support and much more.

Installation and Startup

The following instructions were taken from the UNICORE Command Line Client User guide, for more info please refer to the UNICORE official documentation.

Prerequisites

  • Operating Systems: currently Linux and Microsoft Windows are supported;
  • To run UCC, you need a Java runtime version 11 or later (OpenJDK preferred).

Procedure

  1. Download the installation archive
  2. Untar the tar.gz file and copy it in your home directory or in the folder you prefer.
  3. Download the CA certificates by clicking on "Package with individual certs from CAcerts file in gz format" at this page. Copy in the folder ~/.unicore/certificates/ and untar it.
  4. Download the following certificate file unicore.hpc.cineca.it.CA.pem and add it to the certificate folder (not mandatory, but avoids "Add exception" requests at each ucc command launch).
  5. Login to UserDB using OpenID credentials and copy your OIDC token bearer visualized at this page.
  6. Configure your UCC preferences file (~/.ucc/preferences) adding a few lines as information into the file, and insert your OIDC/OAuth2 token bearer.
    When finished, the file should appear as follows:



# User preferences for UCC
authentication-method=bearer-token
token=eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwi.....FkyV3pVSUFzc0RwaVprRURZV1U4Ukh3In0.eyJqdGkiOiJiMDBmNTkyMS01YjkxLTQzMGQtOTBjZC05ZDY4OTc4ODY4MTciLCJleHAiOjE2Njc5MzY0MTEsIm5iZiI6MCw.......cLXA

# configure truststore containing trusted CA certs
truststore.type=directory

# if type is 'directory'
truststore.directoryLocations.1=/home/<user>/.unicore/certificates/*.pem
truststore.directoryEncoding=PEM

# do not check the SSL cert contains correct hostname
client.serverHostnameChecking=NONE

# The address(es) of the registries to contact
# (space separated list)

registry=https://unicore.hpc.cineca.it:9111/PRACE/services/Registry?res=default_registry
# default directory for output
output=.
protocols=UFTP BFT


After these simple steps you can use the UCC service.


Connect to the UCC service

$ ./bin/ucc connect -v
[ucc connect] UCC 9.0.0, https://www.unicore.eu
[ucc connect] Reading properties file </home/michele/.ucc/preferences>
[ucc connect] Current directory is </home/michele/UNICORE/ucc/unicore-ucc-9.0.0>
[ucc connect] Output goes to <.>
[ucc connect] Registry = https://unicore.hpc.cineca.it:9111/PRACE/services/Registry?res=default_registry
[ucc connect] Using converted Registry URL https://unicore.hpc.cineca.it:9111/PRACE/rest/registries/default_registry
[ucc connect] Checking registry connection.
[ucc connect] Registry connection status: OK
[ucc connect] Current directory is </home/michele/UNICORE/ucc/unicore-ucc-9.0.0>
[ucc connect] Output goes to <.>
[ucc connect] Using site default for TSS lifetime.
[ucc connect] Connecting to https://unicore.hpc.cineca.it:9111/CINECA-G100/rest/core/factories/default_target_system_factory
[ucc connect] TSS at address https://unicore.hpc.cineca.it:9111/CINECA-G100/rest/core/sites/eb3d2edc-2912-469a-889a-cdcc5642d39e
[ucc connect] Connecting to https://unicore.hpc.cineca.it:9111/CINECA-M100/rest/core/factories/default_target_system_factory
[ucc connect] TSS at address https://unicore.hpc.cineca.it:9111/CINECA-M100/rest/core/sites/d96ec76d-215d-45b4-958b-be19333d6c73
[ucc connect] Connecting to https://unicore.hpc.cineca.it:9111/CINECA-MARCONI/rest/core/factories/default_target_system_factory


Lists all available clusters

$ ./bin/ucc list-sites -v
[ucc list-sites] UCC 9.0.0, https://www.unicore.eu
[ucc list-sites] Reading properties file </home/michele/.ucc/preferences>
[ucc list-sites] Current directory is </home/michele/UNICORE/ucc/unicore-ucc-9.0.0>
[ucc list-sites] Output goes to <.>
[ucc list-sites] Registry = https://unicore.hpc.cineca.it:9111/PRACE/services/Registry?res=default_registry
[ucc list-sites] Using converted Registry URL https://unicore.hpc.cineca.it:9111/PRACE/rest/registries/default_registry
[ucc list-sites] Checking registry connection.
[ucc list-sites] Registry connection status: OK
[ucc list-sites] Current directory is </home/michele/UNICORE/ucc/unicore-ucc-9.0.0>
[ucc list-sites] Output goes to <.>
[ucc list-sites] Filtering = false
[ucc list-sites] Detailed listing = false
CINECA-G100 https://unicore.hpc.cineca.it:9111/CINECA-G100/rest/core/sites/eb3d2edc-2912-469a-889a-cdcc5642d39e 
CINECA-M100 https://unicore.hpc.cineca.it:9111/CINECA-M100/rest/core/sites/d96ec76d-215d-45b4-958b-be19333d6c73 


Start remote jobs via SluRM on the HPC infrastructure (need to specify the HPC cluster with -s <cluster>)

$ ./bin/ucc run -v samples/date.u -s CINECA-G100
[ucc run] UCC 9.0.0, https://www.unicore.eu
[ucc run] Reading properties file </home/michele/.ucc/preferences>
[ucc run] Current directory is </home/michele/UNICORE/ucc/unicore-ucc-9.0.0>
[ucc run] Output goes to <.>
[ucc run] Registry = https://unicore.hpc.cineca.it:9111/PRACE/services/Registry?res=default_registry
[ucc run] Using converted Registry URL https://unicore.hpc.cineca.it:9111/PRACE/rest/registries/default_registry
[ucc run] Checking registry connection.
[ucc run] Registry connection status: OK
[ucc run] Current directory is </home/michele/UNICORE/ucc/unicore-ucc-9.0.0>
[ucc run] Output goes to <.>
[ucc run] Synchronous processing = true
[ucc run] Adding job id to output file names = true
[ucc run] Dry run = false
[ucc run] Quiet mode = false
[ucc run] Read job from <samples/date.u>
[ucc run] Using broker LOCAL
[ucc run] Job is NEW
[ucc run] Checking https://unicore.hpc.cineca.it:9111/CINECA-G100/rest/core/sites/eb3d2edc-2912-469a-889a-cdcc5642d39e
[ucc run] Check requirement: Application: Date
[ucc run] Have <1> candidate resource(s)
[ucc run]   https://unicore.hpc.cineca.it:9111/CINECA-G100/rest/core/sites/eb3d2edc-2912-469a-889a-cdcc5642d39e
[ucc run] Selected TSS at https://unicore.hpc.cineca.it:9111/CINECA-G100/rest/core/sites/eb3d2edc-2912-469a-889a-cdcc5642d39e


More features will be added soon and fully documented here.


  • No labels