Web components display "Page not found" error or admin menu items are missing

troubleshooting

#1

Problem

Web components in the web user interface give you a “Page not found” error message. Affected Web user interface components are Vaadin and OSGi related:

  • Topology
  • Dashboards
  • Ops Board
  • JMX Configuration
  • MIB Compiler
  • Menu items no longer show up in the Admin section

Diagnosis

Check the ${OPENNMS_HOME}/logs/karaf.log file and try to access one of the components listed above. You should see error messages while OpenNMS tries to load these components with OSGi.

Cause

This happens most of the time after an upgrade of OpenNMS. The Vaadin components written in OSGi are referenced in the Karaf configuration files which are located in ${OPENNMS_HOME}/etc.
When the configuration files are not migrated properly, the components loaded as Karaf feature are not referenced correctly by the version numbers.

It could also be possible the Karaf cache directory in ${OPENNMS_HOME}/data has old version JAR files which do not fit the version which is running.

Resolution

Verify ${OPENNMS_HOME}/etc/custom.properties file if the package versions match your current installation in org.opennms[*} package versions. They should reference the current/upgraded version running.

Attention: This resolution assumes you have not changed Karaf configurations from default. If this is the case, you have to diff these configuration files and adapt your changes to the pristine configuration.

If this is not the case use the following procedure:

Step 1: Stop OpenNMS

systemctl stop opennms

Step 2: Copy Karaf config files from pristine directory

cp ${OPENNMS_HOME}/share/etc-pristine/custom.properties ${OPENNMS_HOME}/etc

cp ${OPENNMS_HOME}/share/etc-pristine/org.apache.karaf.features.cfg ${OPENNMS_HOME}/etc

cp ${OPENNMS_HOME}/share/etc-pristine/org.ops4j.pax.url.mvn.cfg ${OPENNMS_HOME}/etc

Step 3: Clear the Karaf cache and restart

rm -rf ${OPENNMS_HOME}/data/*
systemctl start opennms