Upgrading an Analytics 5.0.x instance

If you are upgrading from Analytics 4.4.0, see Upgrading to Analytics 5.x from Analytics 4.x.

Upgrading from Analytics 5.0.x to Analytics 5.1.x is a straightforward process that requires approximately 15 minutes of downtime for Analytics and Resource Manager. No data warehouse "schema" changes affect your data, so any existing reports work without modification post-upgrade, which is done "in-place".

To perform an upgrade to Analytics 5.1.x from an earlier version of Analytics 5.0.x, perform the following process:
  1. Ensure that the /tmp directory has 50G of space or adjust your /etc/my.conf tmpdir setting appropriately.
  2. In the Control Center UI, stop the following services (found in Analytics ETL group):
    • zenmodeletl
    • zeneventetl
    • zenperfetl
  3. Stop the Analytics service by logging in to the Analytics server as the root user and enter the commands:
    sudo -s 
    service zenoss_analytics stop
  4. On the Analytics server, upgrade the RPM for Analytics.
    rpm -Uvh zenoss_analytics-5.1.x-<version>.noarch.rpm
    Ignore the suggestion to run the /opt/zenoss_analytics/bin/upgrade_db.py process, which is not applicable to this type of upgrade.
  5. Proceed as follows based on the Analytics version to which you are upgrading:
    • To 5.0.5 or later: Skip this step.
    • To Analytics 5.0.3 or an earlier 5.0.x version, and you have previously connected Analytics to a Resource Manager 5.x installation:

      Execute the following command as root on the Analytics server to work around a known issue (ZEN-24476) concerning renaming performance extractors prior to first service start:

    mysql -u root reporting -e
      "update meta_extractor set extractor_name =
        CONCAT(extractor_name,'/0')
      where extractor_type = 'PERFORMANCE'
      and zenoss_instance_key in
        (select zenoss_instance_key from dim_zenoss_instance
        where query_service_account is not null);"
  6. Start the Analytics service again:
    service zenoss_analytics start
  7. Immediately tail the Analytics application log (a Tomcat log) and watch it as Analytics starts up for the first time post upgrade.
    tail -F /opt/zenoss_analytics/logs/catalina.out
    On first startup post upgrade, the data warehouse schema is adjusted, if necessary. This process usually takes about 5 minutes, during which the Analytics application is unavailable. Wait for the following message, and then proceeding.
    INFO: Server successfully started in <time in ms>

    This completes the Analytics server upgrade.

  8. Upgrade the client side by upgrading the ZenETL ZenPack following the normal procedure for installing a ZenPack, and then restart services.

    For Resource Manager 4.x, perform the following:

    1. Log in as the zenoss user.
      sudo su - zenoss
    2. Install the ZenETL ZenPack:
      zenpack --install ZenPacks.zenoss.ZenETL<version>.py2.7.egg
    3. Issue the stop command:
      zenoss stop
    4. Issue the start command:
      zenoss start
    5. Update all hubs and collectors to push the new ZenPack code out using dc-admin.

    For Resource Manager 5.x and 6.x, perform the following steps:

    1. Copy the ZenETL ZenPack egg file to a local directory on the Control Center master host, such as /tmp/zenpacks.
    2. Change the file permissions.
      chmod -R 777 /tmp/zenpacks
    3. Change directory to the directory in which the ZenPack egg file is located.
      cd /tmp/zenpacks
    4. Install the ZenETL ZenPack.
      serviced service run zope zenpack-manager install ZenPacks.zenoss.ZenETL<version>.py2.7.egg
    5. To speed up performance data extractions in Resource Manager 5.2.x or later (or any Resource Manager instance that has OpenTSDB v2.2 or later installed):

      Locate the /opt/zenoss/etc/opentsdb/opentsdb.conf file that is editable in the "opentsdb reader" service in Control Center.

      Set configuration option tsd.query.skip_unresolved_tags to True.

    6. Initialize the zenmodeletl, zeneventetl, and zenperfetl services:
      serviced service stop Zenoss.resmgr
      # Wait for containers to stop
      serviced service start Zenoss.resmgr