6.47 Upgrading Moab Workload Manager (RPM)

This topic provides instructions to upgrade Moab Workload Manager to the latest release version using the RPM upgrade method. It includes instructions for migrating your database schema to a new version if necessary.

Because many system-level files and directories are accessed during the installation, the instructions in this guide should be executed with root privileges.

You will see that the instructions execute commands as the root user. Please note that the same commands will work for a non-root user with the sudo command.

6.47.1 Upgrade Steps

Do the following:

  1. If you installed Moab Server on its own host or if Moab Server is the first component being upgraded on a host with other RPM installations, complete the steps to prepare the host. See 6.31 Preparing the Host – Typical Method or 6.30 Preparing the Host – Offline Method.
  2. If you use ODBC, confirm the database schema compatibility. For example, if you are upgrading Moab 8.1 to 9.0 no schema changes were made; however if you upgrade from Moab 8.0 and prior, you will need to upgrade your database. See Migrating Your Database to Newer Versions of Moab in the Moab Workload Manager Administrator Guide for more information.
  3. Upgrade Moab Server. See 6.47.1.A Upgrade Moab Server .

6.47.1.A Upgrade Moab Server

You must complete all the previous upgrade steps in this topic before upgrading Moab Server. See the list of steps at the beginning of this topic.

The Moab RPM automatically creates a backup of all relevant files. These backups are stored in /var/tmp/backup-<rpmName>-<timestamp>.tar.gz.

If changes are detected between any existing configuration files and new configuration files, a version of the new configuration file will be saved under <configurationFileLocation>/<fileName>.rpmnew.

On the Moab Server Host, do the following:

  1. Stop Moab.
    [root]# service moab stop
    [root]# systemctl stop moab.service
    [root]# systemctl stop moab.service
  2. Install the upgrade.
    [root]# yum update moab-workload-manager*
    [root]# zypper update moab-workload-manager*
  3. Merge the configuration files.

    You will need to decide whether to start with the old configuration file and add newer configuration options (or vice versa). Typically it depends on the amount of customization you previously made in earlier versions. In instances where you have modified very little, you should consider using the newer configuration and merging site-specific settings from the old file into the new one. The following steps highlight important changes between the 7.2.x default configuration and the 9.0.3 default configuration. Also note that new configuration files may have auto-generated content for secret keys and default passwords—be careful to ensure that secret keys shared between components are configured correctly.

    The recommended layout for the /opt/moab/etc/ directory appears as follows:

    [root]# ls -l /opt/moab/etc
    total 29
    -rw-r--r--. 1 root moab  2323 Nov 13 13:41 config.moab.pl
    -rw-r--r--. 1 root moab   989 Nov 13 13:41 config.sql.pl
    lrwxrwxrwx. 1 root root    14 Nov 13 15:46 moab.cfg -> moab.hpc.cfg
    -rw-r--r--. 1 root moab 23500 Nov 13 15:43 moab.hpc.cfg
    drwxr-xr-x. 2 root moab  4096 Nov 13 15:41 moab.d
    -rw-r--r--. 1 root moab   391 Nov 13 13:41 moab.dat
    -r--r--r--. 1 root root   493 Nov  6 16:14 moab.lic
    -rw-------. 1 root moab   288 Nov 13 15:39 moab-private.cfg
    lrwxrwxrwx. 1 root root    14 Nov 13 15:46 nami.cfg -> nami.hpc.cfg
    -rw-r--r--. 1 root moab   563 Nov 13 15:43 nami.hpc.cfg
    1. Merge the /opt/moab/etc/moab-private.cfg file. Make sure that unique items in /opt/moab/etc/moab-private.cfg.rpmnew are added to the existing /opt/moab/etc/moab-private.cfg file. Include the new MWS RM credentials if you configure MWS as a resource manager:
      CLIENTCFG[RM:mws] USERNAME=moab-admin PASSWORD=changeme!

      The default MWS credentials in 7.2.x were admin:adminpw. For releases after 7.2.x, the default credentials were changed to moab-admin:changeme!. Use whatever credentials you have configured in /opt/mws/etc/mws-config.groovy.

    2. Merge customizations from /opt/moab/etc/moab.cfg and /opt/moab/etc/moab.d/* into /opt/moab/etc/moab.hpc.cfg.

      If you are upgrading from a version prior to 9.0, the Torque RPMs will have moved the Torque binaries from /usr to /usr/local. Make sure that your RMCFG[] SUBMITCMD parameter is set to the correct path for qsub.

      [root]# vi /opt/moab/etc/moab.cfg
      RMCFG[pbs]      TYPE=PBS SUBMITCMD=/usr/local/bin/qsub
      • Although there are several ways to configure and merge changes into the /opt/moab/etc/moab.cfg file, the following instructions outline the recommended best practices. Deviations from these best practices may result in unexpected behavior or added difficulty in future upgrades.
      • It is best to use the new default configuration file (/opt/moab/etc/moab.hpc.cfg) and merge changes from previous files into that one. You will notice that content from the /opt/moab/etc/moab.d/ directory has been merged into /opt/moab/etc/moab.hpc.cfg. Ensure that custom configuration options in all files located in /opt/moab/etc/moab.d/ directory get merged in to /opt/moab/etc/moab.hpc.cfg.
      • You should avoid #include configurations.
      • Although the upgrade should have created a backup of the moab.cfg file (in /var/tmp/backup-<rpmName>-<timestamp>.tar.gz), it is best to create your own backup until you can confirm the updated configuration behaves as expected.
        [root]# cp /opt/moab/etc/moab.cfg /opt/moab/etc/moab.cfg.bak
    3. If you are upgrading from a version prior to 8.0, once the changes have been merged to /opt/moab/etc/moab.hpc.cfg, configure Moab to use the new file. The recommended configuration is to use a symlink called /opt/moab/etc/moab.cfg that points to /opt/moab/etc/moab.hpc.cfg.
      [root]# ln -s /opt/moab/etc/moab.hpc.cfg /opt/moab/etc/moab.cfg
  4. Start Moab.
    [root]# service moab start
    [root]# systemctl daemon-reload
    [root]# systemctl start moab.service
    [root]# systemctl daemon-reload
    [root]# systemctl start moab.service

© 2017 Adaptive Computing