Hi David
This is a known defect, CLRT-80792 service clone app throws error: Failed to clone service: app
Affecting 14.4. and 15.1 and fixed in 14.4.0.5. If you can - apply the latest patch to fix this. Otherwise, proceed with using the same workaround on your other environments, it's a safe way to get this resolved. Great to hear you were able to get it sorted.
I am going to post the full solution for everyone's benefits.
Workaround
Manually clone services by adding app2 service to hosts.xml and properties.xml and making sure to use unique RMI port and tomcat connector ports.
1. Edit your $clarity_home/config/hosts.xml, example:
From:
<?xml version="1.0" encoding="UTF-8"?>
<hosts>
<host id="localhost">
<service id="bg" serviceType="bg" active="true"/>
<service id="beacon" serviceType="beacon" active="true"/>
<service id="db" serviceType="db" active="false"/>
<service id="reports" serviceType="reports" active="false"/>
<service id="app" serviceType="app" active="true"/>
<service id="nsa" serviceType="app" active="true"/>
</host>
</hosts>
Add the app2:
<?xml version="1.0" encoding="UTF-8"?>
<hosts>
<host id="localhost">
<service id="bg" serviceType="bg" active="true"/>
<service id="beacon" serviceType="beacon" active="true"/>
<service id="db" serviceType="db" active="false"/>
<service id="reports" serviceType="reports" active="false"/>
<service id="app" serviceType="app" active="true"/>
<service id="app2" serviceType="app" active="true"/>
<service id="nsa" serviceType="app" active="true"/>
</host>
</hosts>
Save.
2. Now open your $clarity_home/config/properties.xml:
3. Add additional lines for <applicationServerInstance, copying the app server lines and modifying the rmiPort to set to an unused value. Example:
From:
<applicationServerInstance id="app" serviceName="CA PPM App Server" rmiPort="23791" jvmParameters="-Xms512m -Xmx2048m -XX:-UseGCOverheadLimit -DforceMemorySettings=false" maxThreads="1000" programParameters="" distributed="false" cacheDistributedSession="false" runJobScheduler="false" useSSO="false" maxConcurrentJobs="10" runProcessEngine="false" messageTimeToLive="120" messageReceiverInterval="5" exceptionRunInterval="normal" serviceUser="" servicePassword="admin" autoStartService="false" maxXmlNodesLimit="50000"/>
<applicationServerInstance id="nsa" serviceName="CA PPM System Admin Server" rmiPort="23792" jvmParameters="-Xms64m -Xmx512m" programParameters="" distributed="false" cacheDistributedSession="false" runJobScheduler="false" useSSO="false" maxConcurrentJobs="0" runProcessEngine="false" messageTimeToLive="0" messageReceiverInterval="0" exceptionRunInterval="" serviceUser="" servicePassword="" autoStartService="false" maxXmlNodesLimit="0"/>
To:
<applicationServerInstance id="app" serviceName="CA PPM App Server" rmiPort="23791" jvmParameters="-Xms512m -Xmx2048m -XX:-UseGCOverheadLimit -DforceMemorySettings=false" maxThreads="1000" programParameters="" distributed="false" cacheDistributedSession="false" runJobScheduler="false" useSSO="false" maxConcurrentJobs="10" runProcessEngine="false" messageTimeToLive="120" messageReceiverInterval="5" exceptionRunInterval="normal" serviceUser="" servicePassword="admin" autoStartService="false" maxXmlNodesLimit="50000"/>
<applicationServerInstance id="nsa" serviceName="CA PPM System Admin Server" rmiPort="23792" jvmParameters="-Xms64m -Xmx512m" programParameters="" distributed="false" cacheDistributedSession="false" runJobScheduler="false" useSSO="false" maxConcurrentJobs="0" runProcessEngine="false" messageTimeToLive="0" messageReceiverInterval="0" exceptionRunInterval="" serviceUser="" servicePassword="" autoStartService="false" maxXmlNodesLimit="0"/>
<applicationServerInstance id="app2" serviceName="CA PPM App Server 2" rmiPort="23793" jvmParameters="-Xms512m -Xmx2048m -XX:-UseGCOverheadLimit -DforceMemorySettings=false" maxThreads="1000" programParameters="" distributed="false" cacheDistributedSession="false" runJobScheduler="false" useSSO="false" maxConcurrentJobs="10" runProcessEngine="false" messageTimeToLive="120" messageReceiverInterval="5" exceptionRunInterval="normal" serviceUser="" servicePassword="admin" autoStartService="false" maxXmlNodesLimit="50000"/>
4. Now add additional lines for <webServerInstance, copying the app server lines and modifying the Tomcat connector port to set to an unused value. Example:
From:
<webServerInstance id="app" entryUrl="http://localhost" sslEntryUrl="https://localhost:8043" port="80" enablePort="true" sslPort="8043" enableSSLPort="false" address="" connectorPort="8119" connectorAddress="" context="/niku" documentRoot="" useHttpOnlySessionCookie="false" useSecureSessionCookie="false" restContext="/ppm"/>
<webServerInstance id="nsa" entryUrl="http://localhost:8090" sslEntryUrl="https://localhost:8093" port="8090" enablePort="true" sslPort="8093" enableSSLPort="false" address="" connectorPort="8109" connectorAddress="" context="/niku" documentRoot="" useHttpOnlySessionCookie="false" useSecureSessionCookie="false" restContext=""/>
To:
<webServerInstance id="app" entryUrl="http://localhost" sslEntryUrl="https://localhost:8043" port="80" enablePort="true" sslPort="8043" enableSSLPort="false" address="" connectorPort="8119" connectorAddress="" context="/niku" documentRoot="" useHttpOnlySessionCookie="false" useSecureSessionCookie="false" restContext="/ppm"/>
<webServerInstance id="nsa" entryUrl="http://localhost:8090" sslEntryUrl="https://localhost:8093" port="8090" enablePort="true" sslPort="8093" enableSSLPort="false" address="" connectorPort="8109" connectorAddress="" context="/niku" documentRoot="" useHttpOnlySessionCookie="false" useSecureSessionCookie="false" restContext=""/>
<webServerInstance id="app2" entryUrl="http://localhost" sslEntryUrl="https://localhost:8044" port="81" enablePort="true" sslPort="8044" enableSSLPort="false" address="" connectorPort="8120" connectorAddress="" context="/niku" documentRoot="" useHttpOnlySessionCookie="false" useSecureSessionCookie="false" restContext="/ppm"/>
5. Save and restart the services.
Please note we recommend you always apply the latest patches on your system, this will avoid you from hitting some known issues like the one above.
Hope this helps -Nika