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

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:

Rocky Linux: 9 8

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/.

Set up dependency repositories

dnf config-manager --set-enabled powertools
dnf makecache

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

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

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