Web UI is not accessible with HTTP ERROR 503 after upgrade

troubleshooting
upgrade
web-ui
#1

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.

#2

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
#3

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.