Web UI is not accessible with HTTP ERROR 503 after upgrade

Problem

You have upgraded your OpenNMS Horizon to latest 24.0.0 and when you try to access the Web UI you get the following error message:

40

Diagnosis

You will find the following type of exceptions in your ${OPENNMS_HOME}/logs/web.log

2019-04-30 10:36:18,088 WARN  [Main] o.e.j.s.h.C.opennms: Unexpected exception while starting Karaf
java.lang.RuntimeException: Could not resolve mvn:org.apache.felix/org.apache.felix.framework/5.6.10
...
2019-04-30 10:36:26,735 WARN  [Main] o.e.j.w.WebAppContext: Failed startup of context o.e.j.w.WebAppContext@2e1a8ddc{opennms,/opennms,file:///opt/opennms/jetty-webapps/opennms/,UNAVAILABLE}{/opt/opennms/jetty-webapps/opennms}
javax.servlet.ServletException: Bundle context attribute [org.osgi.framework.BundleContext] not set in servlet context
...

The problem here is a broken configuration merge or the Karaf configuration files are not merged correctly. The web application is started but Karaf can’t be started.

Horizon 24 introduced a bug where the opennms start script does not properly fail out if .rpmnew or similar files are found in the etc/ directory.

Solution

Check the following configuration files. If you haven’t made any modifications yourself, use the ones from ${OPENNMS_HOME}/share/etc-pristine directory:

./config.properties
./jmx.acl.org.apache.karaf.bundle.cfg
./jmx.acl.org.apache.karaf.config.cfg
./org.apache.karaf.command.acl.feature.cfg
./org.apache.karaf.command.acl.jaas.cfg
./org.apache.karaf.command.acl.kar.cfg
./org.apache.karaf.command.acl.system.cfg
./org.opennms.features.topology.app.icons.application.cfg
./org.opennms.features.topology.app.icons.bsm.cfg

Start OpenNMS Horizon with systemctl start opennms.

Hi,
thanks a lot.
I got the same issue but I dont understand the solution. do I have to copy that files in somewhere?
could you clarify more please?
thanks again.

[edit] I have copied thoses files and worked again the UI. thanks again.

1 Like

Depending on your operating system your OPENNMS_HOME is on CentOS /opt/opennms and on Ubuntu/Debian /usr/share/opennms. You will find untouched clean configuration files which will work with your current installed version in ${OPENNMS_HOME}/share/etc-pristine. To fix this problem make a backup of the files above and overwrite them from ${OPENNMS_HOME}/share/etc-pristine directory.

Hi Ronny,

Currently having this issue. Running on CENTOS 7. My /opt/opennms/share/etc-pristine is empty.

Can I pull the the “pristine” files from elsewhere?

Thanks for your help.

V