Upgrading from NMIS8 compatible applications to NMIS9 compatible applications

Summary

Some new installers handle upgrading from NMIS8 compatible OMK applications to NMIS9 compatible OMK apps automatically. Therefore, please start from one of the applications which are automated; you will then be able to upgrade the remaining products without any issues. If none of your applications are in the "Automated Upgrade process" list please follow the "Step by Step upgrade process" below. 

If you are installing OMK apps without access to an automated upgrade (those not listed in "Automated Upgrades process"), the installer will prevent you from installing the application, unless you follow the "Step by Step" process below or until you have completed the upgrade with an Automated Upgrade Process application. 


WARNING - READ Before upgrade

Once you install your first NMIS9 compatible application any of your original applications will no longer operate until they are upgraded as well. (none of your current data is destroyed).

Automated Upgrade process

Complete Install of NMIS9 HERE 

Install any of the OMK apps which have automated upgrade; the current apps with Auto Upgrade are:

  • opEvents-3.2.1 or higher
  • opConfig-4.2.1 or higher
  • opCharts-4.2.1 or higher
  • More coming soon...

After installing any of the above you can continue to install any other NMIS9 compatible applications by simply running their installer.


Step by Step Manual Upgrade Process

In short

Complete Install of NMIS9 HERE 

Move aside the omk directory and install the new NMIS9 compatible application. Once the installation has finished rename the new omk/conf folder and copy over the old omk/conf folder. Convert the .nmis files in omk/conf/ directory into .json using the opcommon-cli tool. Edit the new omk/conf/opCommon.json file replacing any "nmis_dir" and "nmis8" entries for "nmis9_dir" and "nmis9". Lastly ensure the "load_applications" entry in this file shows only the new NMIS9 application previously installed and restart the omk daemon. We recommend starting this upgrade process with either opCharts or opConfig.

In detail

  1. Install NMIS9, should install without any issues
  2. Import the old nmis8 configuration and review important configuration options
  3. Remove the nmis 8 cron jobs in /etc/cron.d/nmis
  4. Rename the omk directory
    mv /usr/local/omk /usr/local/omk-old
  5. Run the installer for the new NMIS9 application, e.g. opCharts
  6. Rename the new omk/conf directory

    mv /usr/local/omk/conf /usr/local/omk/conf-original
  7. Copy the omk-old/conf directory into the new omk/
    cp -rf /usr/local/omk-old/conf /usr/local/omk
  8. Convert the .nmis files in omk/conf/ directory into .json using the opcommon-cli tool
    /usr/local/omk/bin/opcommon-cli.exe act=convert_json_dir dir="/usr/local/omk/conf/"
  9. Change any "nmis_dir" and "nmis8" entries to "nmis9_dir" and "nmis9" in the omk/conf/opCommon.json file. You can do this manually or by using the following Perl regex

    perl -p -i -e 's/nmis_dir/nmis9_dir/g' /usr/local/omk/conf/opCommon.json
    perl -p -i -e 's/nmis8/nmis9/g' /usr/local/omk/conf/opCommon.json
    perl -p -i -e 's/nmis_logs/nmis9_logs/g' /usr/local/omk/conf/opCommon.json
  10. Change the "load_applications" entry in the opCommon.json file to only show the NMIS9 application recently installed. You can do this manually or by running the required patch_config commands to delete each application from the "load_applications" entry, except for the one that was recently installed.
    # E.g.: Previously installed applications: opConfig, opCharts, opEvents, opHA, opReports and Open-AudIT
    #		Recently installed application: opConfig
    
    /usr/local/omk/bin/patch_config.pl -b /usr/local/omk/conf/opCommon.json /omkd/load_applications-=opCharts # -b = Creates backup (opCommon.json.prepatch)
    /usr/local/omk/bin/patch_config.pl /usr/local/omk/conf/opCommon.json /omkd/load_applications-=opEvents
    /usr/local/omk/bin/patch_config.pl /usr/local/omk/conf/opCommon.json /omkd/load_applications-=opHA
    /usr/local/omk/bin/patch_config.pl /usr/local/omk/conf/opCommon.json /omkd/load_applications-=opReports
    /usr/local/omk/bin/patch_config.pl /usr/local/omk/conf/opCommon.json /omkd/load_applications-=Open-AudIT
    
    # If the recently installed application (eg.: opConfig) is deleted by mistake, you can add it back by running the follow patch_config command
    /usr/local/omk/bin/patch_config.pl /usr/local/omk/conf/opCommon.json /omkd/load_applications+=opConfig
  11. Restart omkd
    systemctl restart omkd.service
  12. Install the rest of the NMIS9 required applications


About opReports

NMIS8 opReports and NMIS9 opReports work the same way:

  • Report Schedules are stored in /usr/local/conf/schedule
  • Reports caching is stored in /usr/local/omk/var/opreports
  • Reports are stored in /data/omk/var/reports (unless otherwise specified by the user)

If you followed the instructions above, your Report Schedules are back in place, as you've copied over the entire omk-old/conf directory in step five. The /data/omk/var reports directory should still be where it was at the beginning of the upgrade, as it was never changed.

We recommend coping the ./opreports/known_reports_cache directory and the ./opreports/selftest.json file into the new application.

cp -rf /usr/local/omk-old/var/opreports/known_reports_cache /usr/local/omk/var/opreports
cp /usr/local/omk-old/var/opreports/selftest.json /usr/local/omk/var/opreports