A few minutes is all it takes to set up an ARC Computing Element and try common distributed computing workflows.
ARC7 comes with so-called zero configuration (/etc/arc.conf
and /etc/arc.conf.d
) and works out of the box without any manual configuration.
It has a pre-installed x509 host certificate signed by a Test-CA.
You can try ARC by using the legacy x509 user certificate, or with the newer Jason Web Token (JWT) capability. The procedure below splits into x509 versus token at Step 6. The two require slightly different configuration options on the ARC server, and different procedures to aquire the authentication document (certificate or token).
The easiest and quickest way to get started is to install the ARC client on the same server as the ARC-CE.
If you want to test job submission on a remote ARC client, the client must trust the ARC-CE host certificate which is issued by the Test-CA, and you must therefore apply some extra steps for both the token and the x509 user case. These are described in Step 6 in the tab JWT - Remote client for the token case or x509 - Remote client for the x509 case respectively.
Step 0. Prerequisites
The zero configured A-REX comes with the REST interface enabled. It runs by default on port
443
, so make sure it is not firewalled.If you are testing ARC with a remote client: Either register your ARC-CE on a DNS server, or map the ARC-CE host name to the
/etc/hosts
file on the client host.
Step 1. Enable NorduGrid ARC7 repos
Repository security
The NorduGrid RPM packages and DEB repositories are signed, and in order for the repository tools APT and YUM to verify them you must install the NorduGrid GPG key:
For rpm
based distributions like Red Hat Enterprise Linux and Fedora:
[root ~]# rpm --import http://download.nordugrid.org/RPM-GPG-KEY-nordugrid-7
For Ubuntu distributions with sudo
:
[user ~]$ wget -q http://download.nordugrid.org/DEB-GPG-KEY-nordugrid-7.asc -O- | sudo apt-key add -
For Debian without sudo
:
[root ~]# wget -q http://download.nordugrid.org/DEB-GPG-KEY-nordugrid-7.asc -O- | apt-key add -
Repository configuration
The NorduGrid ARC repositories for RedHat Enterprise Linux / CentOS packaging utility
dnf
can be configured through:/etc/yum.repos.d/nordugrid.repo
The repository configuration can be set up automatically with dnf by installing the``nordugrid-release`` package or creating the configuration file manually.
The easiest way to configure DNF to use the NorduGrid repository for Red Hat Enterprise Linux, CentOS and similar distributions is to install the
nordugrid-release
package which can be found in the NorduGrid package repository for the appropriate RHEL/EPEL release.Links to the release packages:
Install with
dnf
(Fedora, CentOS Stream, Rocky Linux, CentOS Linux 8+9) by copying the appropriate link from above[root ~]# dnf install <rhel-repo link>This creates the appropriate repo files in
/etc/yum.repos.d/
.For manual YUM repository setup, create a file
/etc/yum.repos.d/nordugrid.repo
with the following contents (here using Rocky as example, if you are on Fedora, replacerocky
withfedora
)If you are installing an alpha, beta or release candiate, please set the nordugrid-testing to
enabled=1
.[nordugrid] name=NorduGrid - $basearch - base baseurl=http://download.nordugrid.org/repos/7/rocky/$releasever/$basearch/base enabled=1 gpgcheck=1 gpgkey=http://download.nordugrid.org/RPM-GPG-KEY-nordugrid-7 [nordugrid-updates] name=NorduGrid - $basearch - updates baseurl=http://download.nordugrid.org/repos/7/rocky/$releasever/$basearch/updates enabled=1 gpgcheck=1 gpgkey=http://download.nordugrid.org/RPM-GPG-KEY-nordugrid-7 [nordugrid-testing] name=NorduGrid - $basearch - testing baseurl=http://download.nordugrid.org/repos/7/rocky/$releasever/$basearch/testing enabled=0 gpgcheck=1 gpgkey=http://download.nordugrid.org/RPM-GPG-KEY-nordugrid-7
The NorduGrid ARC repositories for Ubuntu packaging utility APT can be configured through: /etc/apt/sources.list
or when supported through a repo specific file: /etc/apt/sources.list.d/nordugrid.list
.
The repository configuration can be set up automatically by means of installing nordugrid-release
package or creating the configuration file manually.
Ubuntu version names:
Ubuntu release |
Code name |
---|---|
24.04 |
noble |
23.10 |
mantic |
22.04 |
jammy |
20.04 |
focal |
The examples below give you the link for most recent Ubuntu releases. Packages are shown below for amd64
architecture. Replace amd64
for i386
if required for your architecture.
Install the source file with dpkg
, example shown for Ubuntu 22.04:
[root ~]# wget -q https://download.nordugrid.org/packages/nordugrid-release/releases/7/ubuntu/24.04/amd64/nordugrid-release_7~noble1_all.deb
[root ~]# dpkg -i nordugrid-release_7~noble1_all.deb
For a different version of Ubuntu, change the version names appropriately.
For manual APT repository setup for Ubuntu, the APT sources file should contain the following (here shown for Ubuntu 22.04 Jammy).
The configurations for the varios APT based distributions can be found in the following sections.
To enable a specific repository, remove the “#
” from the beginning of the line, before the “deb
” as shown for the Base Channel.
# Base channel - must be enabled
deb http://download.nordugrid.org/repos/7/ubuntu/ jammy main
deb-src http://download.nordugrid.org/repos/7/ubuntu/ jammy main
# Updates to the base release - should be enabled
deb http://download.nordugrid.org/repos/7/ubuntu/ jammy-updates main
deb-src http://download.nordugrid.org/repos/7/ubuntu/ jammy-updates main
# Scheduled package updates - optional
#deb http://download.nordugrid.org/repos/7/ubuntu/ jammy-experimental main
#deb-src http://download.nordugrid.org/repos/7/ubuntu/ jammy-experimental main
For a different release version, change the version name accordingly.
The NorduGrid ARC repositories for Ubuntu packaging utility APT can be configured through: /etc/apt/sources.list
or when supported through a repo specific file: /etc/apt/sources.list.d/nordugrid.list
.
The repository configuration can be set up automatically by means of installing nordugrid-release
package or creating the configuration file manually.
Debian version names:
Debian release |
Code name |
---|---|
12 |
bookworm |
11 |
bullseye |
10 |
buster |
9 |
stretch |
The examples below give you the link for most recent Debian releases. Packages are shown below for amd64
architecture. Replace amd64
for i386
if required for your architecture.
Install the source file with dpkg
, example shown for Debian 12:
[root ~]# wget -q https://download.nordugrid.org/packages/nordugrid-release/releases/7/debian/12/amd64/nordugrid-release_7~bpo12+1_all.deb
[root ~]# dpkg -i nordugrid-release_7~bpo12+1_all.deb
For a different version of Debian, change the version names appropriately.
For manual APT repository setup for Debian, the APT sources file should contain the following (here shown for Debian 12 Bookworm).
The configurations for the varios APT based distributions can be found in the following sections.
To enable a specific repository, remove the “#
” from the beginning of the line, before the “deb
” as shown for the Base Channel.
# Base channel - must be enabled
deb http://download.nordugrid.org/repos/7/debian/ bookworm main
deb-src http://download.nordugrid.org/repos/7/debian/ bookworm main
# Updates to the base release - should be enabled
deb http://download.nordugrid.org/repos/7/debian/ bookworm-updates main
deb-src http://download.nordugrid.org/repos/7/debian/ bookworm-updates main
# Scheduled package updates - optional
#deb http://download.nordugrid.org/repos/7/debian/ bookworm-experimental main
#deb-src http://download.nordugrid.org/repos/7/debian/ bookworm-experimental main
For a different release version, change the version name accordingly.
Set up dependency repositories
dnf config-manager --set-enabled powertools
dnf makecache
dnf config-manager --set-enabled crb
dnf makecache
[root~]# apt-get update
[root~]# apt-get update
Step 2. Install A-REX
ARC Resource-coupled EXecution service (A-REX) is a core component that manages authentication, authorization and job life cycle. It is enough to have A-REX installed to have a minimal computing element:
[root ~]# dnf -y install nordugrid-arc-arex
[root ~]# apt-get -y install nordugrid-arc-arex
[root ~]# apt-get -y install nordugrid-arc-arex
Step 3. Run A-REX
To start ARC services just run:
[root ~]# arcctl service start --as-configured
You can check if A-REX is running with:
[root ~]# arcctl service list
arc-arex (Installed, Disabled, Running)
arc-arex-ws (Installed, Disabled, Running)
arc-datadelivery-service (Not installed, Disabled, Stopped)
arc-infosys-ldap (Not installed, Disabled, Stopped)
Step 4. Install the ARC client
Install ARC client tools on the client host
Note
In the zero-conf setup - we install the client and the ARC control client tool on the same server as the ARC-CE, so client and host is the same machine. Typically you would install the client on amother (remote) machine.
[root@server]# dnf -y install nordugrid-arc-client nordugrid-arc-arcctl
[root@server]# apt-get -y install nordugrid-arc-client nordugrid-arc-arcctl
[root@server]# apt-get -y install nordugrid-arc-client nordugrid-arc-arcctl
Step 5. Install and enable autocompletion (optional)
arcctl
tool automates many ARC CE operations and is designed with bash-completion in mind.
If you would like to use ARC in production it is advised to have completion enabled:
[root ~]# dnf install -y bash-completion python-argcomplete
[root ~]# activate-global-python-argcomplete
[root ~]# apt-get install -y bash-completion python-argcomplete
[root ~]# activate-global-python-argcomplete
[root ~]# apt-get install -y bash-completion python-argcomplete
[root ~]# activate-global-python-argcomplete