Installing → Upgrade Guide

General Upgrade Notes

  • Open XDMoD only supports upgrading to a new version from the version that directly precedes it unless otherwise noted below. If you need to upgrade from an older version you must upgrade through all the intermediate versions or perform a clean installation.
  • Make a backup of your Open XDMoD configuration files before running the upgrade script. The upgrade script may overwrite your current configuration files.
  • If the upgrade includes database schema changes (see notes at the bottom of this page), you should backup all your data.
  • Do not change the version in portal_settings.ini before running the upgrade script. The version number will be changed by the upgrade script.
  • If you have installed any additional Open XDMoD packages (e.g. xdmod-appkernels or xdmod-supremm), upgrade those to the latest version before running xdmod-upgrade.

RPM Upgrade Process

Download Latest Open XDMoD RPM package

Download available at GitHub.

Install the RPM

# yum install xdmod-10.0.3-1.0.el7.noarch.rpm

Likewise, install the latest xdmod-appkernels or xdmod-supremm RPM files if you have those installed.

After upgrading the package you may need to manually merge any files that you have manually changed before the upgrade. You do not need to merge portal_settings.ini. This file will be updated by the upgrade script. If you have manually edited this file, you should create a backup and merge any changes after running the upgrade script.

Verify Server Configuration Settings

Double check that the MySQL server configuration settings are consistent with the recommended values listed in the Configuration Guide.

Upgrade Database Schema and Config Files

# xdmod-upgrade

Source Package Upgrade Process

This example assumes that your previous version of Open XDMoD is installed at /opt/xdmod-9.5.0 and the new version of Open XDMoD will be installed at /opt/xdmod-10.0.3. It is recommended to install the new version of Open XDMoD in a different directory than your existing version.

Download Latest Open XDMoD Source Package

Download available at GitHub.

Extract and Install Source Package

$ tar zxvf xdmod-10.0.3.tar.gz
$ cd xdmod-10.0.3
# ./install --prefix=/opt/xdmod-10.0.3

Likewise, install the latest xdmod-appkernels or xdmod-supremm tarballs if you have those installed.

Copy Current Config Files

# cp /opt/xdmod-9.5.0/etc/portal_settings.ini /opt/xdmod-10.0.3/etc
# cp /opt/xdmod-9.5.0/etc/hierarchy.json      /opt/xdmod-10.0.3/etc
# cp /opt/xdmod-9.5.0/etc/organization.json   /opt/xdmod-10.0.3/etc
# cp /opt/xdmod-9.5.0/etc/resource_specs.json /opt/xdmod-10.0.3/etc
# cp /opt/xdmod-9.5.0/etc/resources.json      /opt/xdmod-10.0.3/etc
# cp /opt/xdmod-9.5.0/etc/update_check.json   /opt/xdmod-10.0.3/etc

If you have manually changed (i.e. not using xdmod-setup) any of the other config files you may need to merge your changes into the new config files. You should diff the config files to see what has changed in the new version. You do not need to merge portal_settings.ini. This file will be updated by the upgrade script. If you have manually edited this file, you should create a backup and merge any changes after running the upgrade script.

Verify Server Configuration Settings

Double check that the MySQL server configuration settings are consistent with the recommended values listed in the Configuration Guide.

Upgrade Database Schema and Config Files

# /opt/xdmod-10.0.3/bin/xdmod-upgrade

10.0.0 Upgrade Notes

Open XDMoD 10.0.0 is a major release that includes new features along with many enhancements and bug fixes.

You may upgrade directly from 9.5.0.

Configuration File Changes

Database Changes

Open XDMoD 10.0.0 is converting all database tables that use the MyISAM table engine to use the InnoDB table engine. This conversion will take place as part of the upgrade process. There are two things to note about this conversion.

  1. This conversion can cause the upgrade process to take a long time. When running the upgrade process on our Open XDMoD install at the University at Buffalo, the upgrade took around 40 hours with most of that time being spent on converting the tables from MyISAM to InnoDB.

  2. Additional disk space will be needed for the conversion of the tables and to store the data afterwards. On our development instance, which contains about 20 years of data and around 49 million jobs, the modw schema increased from 58GB to 94GB after converting to InnoDB.

We also recommend changing the innodb_file_per_table setting to On for this release. Instructions on how to do this can be found in the Configuration Guide

Slurm Input Format Changes

The input file format for Slurm data has changed to include the qos field.

If you are generating Slurm input for the xdmod-shredder command then you will need to make the appropriate changes. Refer to the Slurm Notes for the example sacct command. If you are using the xdmod-slurm-helper command then no changes are necessary.

10.0.1 Upgrade Notes

Open XDMoD 10.0.1 is a bug fix release that fixes a compatibility issue with headless chromium 109 (used for image export and report generation).

You may upgrade directly from 9.5.0 or 10.0.0

10.0.2 Upgrade Notes

Open XDMoD 10.0.2 is a bug fix release that fixes a compatibility issue with headless chromium 111 (used for image export and report generation).

You may upgrade directly from 9.5.0, 10.0.0, or 10.0.1

The 10.0.2 release has a dependency on nodejs 16. If upgrading Open XDMoD by rpm on Centos 7 then the nodejs package will be installed automatically. If upgrading Open XDMoD by rpm on Rocky 8 then then nodejs 16 module stream must be enabled following the directions on the software requirements page.

10.0.3 Upgrade Notes

Open XDMoD 10.0.3 is a bug fix release.

You may upgrade directly from 9.5.0, 10.0.0, 10.0.1 or 10.0.2

The 10.0.3 release has a dependency on nodejs 16. If upgrading from Open XDMoD 10.0.1 or earlier by rpm on Centos 7 then the nodejs package will be installed automatically. If upgrading from Open XDMoD 10.0.1 or earlier by rpm on Rocky 8 then then nodejs 16 module stream must be enabled following the directions on the software requirements page.