ARC6 to ARC7 Migration Guide

The upgrade from ARC 6 to ARC 7 is just a matter of removing some deprecated packages (Step 1), enabling the relevant repository and updating the packages as per ordinary update procedures for the system you are on (Step 2), and in some cases you might want to migrate records in your accounting database (Step 3). Finally, check that the services have started properly and clean up your arc.conf if not (Step 4).

You will notice that the control directory will be restructured containing a new jobs directory where all the ARC job metadata files are stored. Your configuration should work without any changes for ARC 7, but please pay extra attention to any warnings or errors when you start ARC up after upgrading, and fix accordingly. Some configuration warnings in ARC 6 are now errors in ARC 7 and need to be attended.

ARC 7 is REST only, except for the information system which still has ldap possibility. If you rely on custom scripts using the legacy GridFTP or EMI-ES endpoints (jobs or info), they will have to be rewritten for REST.

If you are using an ARC 6 client to submit to an ARC 7 site, be sure to download the nordugrid-arc-plugins-arcrest package. For the ARC 7 package, this is already included.

Step 1. Remove deprecated packages

To be able to update from ARC 6 to ARC 7 you will have to remove the deprecated packages first (showing rhel flavour example):

arcctl service stop -a
dnf erase nordugrid-arc-plugins-gridftpjob nordugrid-arc-gridftpd nordugrid-release

Step 2. Update ARC

You can update either from the nordugrid repositories or from the EPEL or Debian repositories

From the nordugrid repositories

Follow these instructions to enable the nordugrid ARC 7 repo: NorduGrid repository information. Next update all nordugrid packages with your usual procedure.

As an example, this is how to do the above on a rocky 9 system:

rpm --import http://download.nordugrid.org/RPM-GPG-KEY-nordugrid-7
dnf install https://download.nordugrid.org/packages/nordugrid-release/releases/7/rocky/9/x86_64/nordugrid-release-7-1.el9.noarch.rpm
dnf update --enablerepo=nordugrid "*nordugrid*"

Or from EPEL or Debian repositories

Follow instructions in NorduGrid repository information.

Note that packages names in the official EPEL or Debian repositories are called nordugrid-arc7-xxxx instead of nordugrid-arc-xxxx.

Step 3. Migrate accounting from v1 to v2

ARC 7.0.0 comes with a new record format, and stores new files in this format automatically. The new record filename is: <controldir>/accounting/accounting_v2.db.

If you have some jobs in a non-terminal states during the update, those jobs will be missing in the new database and you will see accounting ERRORS in your ARC logs. You can migrate these jobs if you need to, to fix this.

If you need accounting records for old jobs to be updated or you are publishing the old accounting data, you need to migrate those recent ARC 6 records from old database to new database. This is done with `https://www.nordugrid.org/arc/arc7/admins/commands/arcctl.html#migrate arcctl#migrate`_.

For clarity, an example is shown here, where we are migrating records from month of March and our controldirectory is /var/spool/arc/jobstatus: .. code-blcok:: console

arcctl accounting database migrate -b 2025-03-01 -e 2025-03-31 -f /var/spool/arc/jobstatus/accounting/accounting.db

Be careful not to migrate too large chunks at a time. One month is a good limit to go with.

Step 4. Post-install

On RHEL-flavour systems: Check your arc.conf and if it has been moved to arc.conf.rpmsave just copy it back.

arcctl service restart -a

Check for validation errors upon ARC startup - fix any errors shown, for instance, remove deprepcated blocks.

Once validation passes - you are good to go!