OneClick-server startup failure after migration

Document ID : KB000124037
Last Modified Date : 02/01/2019
Show Technical Document Details
Issue:
After upgrade CA Spectrum R10.2 to Release 10.3 the Oneclick(web)-services are not working at all. OC-Console (oneclick.jnlp) does not start - nor access to OC-webpage is possible. 
Environment:
This applies to all CA Spectrum supported platforms (Linux and Windows)
Cause:

It appears during migration the OneClick-server the configuration file (./tomcat/conf/server.xml) did cover duplicate port-declaration for the "Connector" statements to have the same port number used for different "Connectors".  

By this "logic" conflict the Tomcat does not load the "Connectors" successfully which causes that tomcat-task itself is running but the protocol services (for http and https) are not started. This is reported to the OC-server/Tomcat logfile ./tomcat/logs/catalina.out covering lines like this:

Dec 07, 2018 4:40:47 AM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-nio-8443"] 
Dec 07, 2018 4:40:47 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
Dec 07, 2018 4:40:47 AM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["https-jsse-nio-8443"] 
Dec 07, 2018 4:40:47 AM org.apache.catalina.util.LifecycleBase handleSubClassException 
SEVERE: Failed to initialize component [Connector[HTTP/1.1-8443]] 
org.apache.catalina.LifecycleException: Protocol handler initialization failed 
at org.apache.catalina.connector.Connector.initInternal(Connector.java:935) 
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.jav ....



The important fact is, that the Connector ports - here 8443 - does not open in LISTEN status.
 

Resolution:
Manually reworking the "server.xml" configuration file to have proper Connector statements per each protocol (http and https) with unique port-number. 
 
Additional Information:
The server.xml configuration file covers the "Connector" statement like this:

    <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector 
           port="8080" 
           URIEncoding="UTF-8" maxHttpHeaderSize="8192" 
           maxThreads="150" minSpareThreads="25" 
           enableLookups="true" redirectPort="8443" 
           acceptCount="100" connectionTimeout="20000" 
           disableUploadTimeout="true" tcpNoDelay="true" />


And for the "https" connector then
   <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
     <Connector
           port="8443"
           enableLookups="true" disableUploadTimeout="true" tcpNoDelay="true"
           acceptCount="100" scheme="https" secure="true" SSLEnabled="true"
           clientAuth="false" sslProtocol="TLS"
           sslEnabledProtocols="TLSv1.2"
           ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
                    TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,   ......

 

In case the connector statement and load is fine - you see logged lines like:
Dec 07, 2018 11:11:38 AM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-nio-8080"] 
Dec 07, 2018 11:11:38 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector 
INFO: Using a shared selector for servlet write/read 
Dec 07, 2018 11:11:38 AM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["https-jsse-nio-8448"] 
Dec 07, 2018 11:11:39 AM org.apache.tomcat.util.net.jsse.JSSEUtil checkTrustStoreEntries 
WARNING: The trusted certificate with alias ..... 


Seeing the "checkTrustStoreEntries" statement indicates there is no port conflict and the connector can start initializing and loading.

The full sucessful startup is the related to initialization and startup messages - like this:
  [spectro@cent107 logs]$ grep -i proto catalina.out
  Jan 01, 2019 02:10:39 AM org.apache.coyote.AbstractProtocol init
  INFO: Initializing ProtocolHandler ["http-nio-8080"]
  Jan 01, 2019 02:10:39 AM org.apache.coyote.AbstractProtocol init
  INFO: Initializing ProtocolHandler ["https-jsse-nio-8443"]
  Jan 01, 2019 02:15:02 AM org.apache.coyote.AbstractProtocol start
  INFO: Starting ProtocolHandler ["http-nio-8080"]
  Jan 01, 2019 02:15:02 AM org.apache.coyote.AbstractProtocol start
  INFO: Starting ProtocolHandler ["https-jsse-nio-8443"]