AdminUI cannot be started on OML 9.20

  • KM01524009
  • 23-Apr-2015
  • 12-May-2015

Summary

AdminUI cannot be started after OML upgrade from version 9.11 to 9.20. OML server is virtual server without direct internet access.

Error

The AdminUI cannot be started on OML 9.20

Ports 9662 and 9663 are not in LISTEN state:
  
   # netstat -an | grep -e 9662 -e 9663
   #

The logfile servicemix.log contains errors referring to an issue with the file jetty.xml:

ERROR - 2015-04-15 08:49:30,381 | AutoDeploymentService.updateServiceAssembly(359) | Failed to update Service Assembly: midas-webapp
java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?>
<jbi-task xmlns="
http://java.sun.com/xml/ns/jbi/management-message" version="1.0">
<jbi-task-result>
<frmwk-task-result>
.....
<loc-message>org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jetty-launcher' defined in file [/opt/OV/OMU/adminUI/work/service-assemblies/midas-webapp/version_1/sus/servicemix-lwcontainer/midas-jetty/servicemix.xml]: Cannot resolve reference to bean 'jetty' while setting bean property 'server'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jetty' defined in file [/opt/OV/OMU/adminUI/work/service-assemblies/midas-webapp/version_1/sus/servicemix-lwcontainer/midas-jetty/servicemix.xml]: Invocation of init method failed; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unexpected failure during bean definition parsing
Offending resource: URL [file:conf/jetty.xml]
Bean 'connectors'; nested exception is org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unexpected failure during bean definition parsing
Offending resource: URL [file:conf/jetty.xml]
.....

Cause

The issue is caused by duplicated lines in the /opt/OV/OMU/adminUI/conf/jetty.xml file for "truststore" and trustPassword". Also the values for "password", "keyPassword" and "trustPassword" value entries were not encrypted:

  <property value="password" name="password"/>
  <property value="password" name="keyPassword"/>
  <property name="trustPassword" value="password" />

Fix

To resolve this issue the default settings for "password", "keyPassword" and "trustPassword" should be entered in jetty.ml file. The default encrypted value for each password is '3EADDDC4F7762ECEE481A8D39714D0DE':
   
          <bean autowire="default" class="org.mortbay.jetty.security.SslSocketConnector" dependency-check="default" lazy-init="default">
          <!--<property name="host" value="[hostname]"/>-->
          <property name="port" value="9663" />
          <property name="headerBufferSize" value="12000" />
          <property name="maxIdleTime" value="30000" />
          <property name="keystore" value="conf/servicemix/keystore_webapp.jks" />
          <property name="keystoreType" value="jks" />
          <property name="password" value="3EADDDC4F7762ECEE481A8D39714D0DE" />
          <property name="keyPassword" value="3EADDDC4F7762ECEE481A8D39714D0DE" />
          <property name="trustPassword" value="3EADDDC4F7762ECEE481A8D39714D0DE" />
    <property name="truststore" value="conf/servicemix/truststore_webapp.jks" />
          <property name="handshakeTimeout" value="2000" />
    <property name="truststoreType" value="jks" />
        </bean>
  
After the jetty.xml file is fixed stop the AdminUI and recompiles all web assemblies that are needed for a correct display of the AdminUI web interface bu running:

   #/opt/OV/OMU/adminUI/adminui webassemblies

The following BUILD SUCCESSFUL message should appear:

    [war] Building war:
    /opt/OV/OMU/adminUI/work/tmp/webdeploy/midas.war
    [echo] copying war file to webapps
    [copy] Copying 1 file to /opt/OV/OMU/adminUI/webapps
    [delete] Deleting directory
    /opt/OV/OMU/adminUI/work/tmp/webdeploy
    [delete] Deleting directory /opt/OV/OMU/adminUI/webapps/midas
    [echo] done. restart server.
    BUILD SUCCESSFUL
    Total time: <#> minute <#> seconds

Finally restart the AdminUI by running the following command:

   #/opt/OV/OMU/adminUI/adminui restart

The AdminUI should be accessible on port 9662 now.