Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Summary

As of October 15th, the installer for an NMIS9 compatible application does not allow to upgrade when an NMIS8 product is installed. However, there are some ways to get around this, here is one.

Upgrading process

In short

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. 


Info
titleWARNING - 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 After installing NMIS9, 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.

...

  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


    Code Block
    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


    Code Block
    mv /usr/local/omk/conf /usr/local/omk/conf-original


  7. Copy the omk-old/conf directory into the new omk/


    Code Block
    cp -rrf /usr/local/omk-old/conf /usr/local/omk


  8. Convert the .nmis files in omk/conf/ directory into .json using the opcommon-cli tool


    Code Block
    /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


    Code Block
    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.


    Code Block
    # 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


    Code Block
    systemctl restart omkd.service


  12. Install the rest of the NMIS9 required applications


About opReports

NMIS8 opReports and NMIS9 opReports work the same way:

...

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 also coping the ./usr/local/omk/var/opreports directory opreports/known_reports_cache directory and the ./opreports/selftest.json file into the new application.

Code Block
cp -rf /usr/local/omk-old/var/opreports/*known_reports_cache /usr/local/omk/var/opreports

Lastly, the /data/omk/var reports directory should still be were it was at the beginning of the upgrade, as it was never changed.

About opEvents

In order to get the new opEvents to show the old events two steps are required post installation:

...


cp /usr/local/omk-old/

...

var/opreports/selftest.json /usr/local/omk/

...

Code Block
mongo

2.2 - Switch to the nmis database

Code Block
> use nmis

2.3 - Rename the sate collection

Code Block
> db.state.renameCollection('state-old')

2.4 - Exit

Code Block
> exit

2.5 - Restart omkd

...

var/opreports