Articles
vRealize Automation Application Services - Nataraj

VRealize Application Services: Automated deployment of Liferay Application.

While there are many articles about how to install vRealize Application Services and deploying applications using application services. While deploying liferay we(Sriram from VMware) encountered  a challenge and it was related to name resolution. Though the problem is very basic and the solution seemed to be simple as well.

While we all know the emphasis of name resolution and time servers importance while deploying any of the vRealize Automation this one was a little different.

How was vRealize Application Services Configured

  • Centos 5.5
  • vRealize Application servers was configured to deploy Apache, JBOSS, Oracle
  • Post deployment the VM’s were configured to get an ipaddress form VCAC Network Profiles

 

 

Network Profiles

Network Profiles

  • When the VM’s were deployed all the virtual machines were indeed able to get an ip from Network Profiles.

Problem: Liferay application was not starting along with the JBOSS application server.

The liferay logs in /home/jboss/jboss5-1.0.GA/logs/liferay<date>.log had an exception similar to

com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6fa84d9e — Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (3). Last acquisition attempt exception:

java.sql.SQLException: Socket read timed out

                at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)

                at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)

Caused by: oracle.net.ns.NetException: Socket read timed out

                at oracle.net.ns.Packet.receive(Packet.java:320)

                at oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)

                at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)

                at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)

                … 11 more

03:58:53,482 WARN  [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1][BasicResourcePool:1841] com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@9d8f663 — Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (3). Last acquisition attempt exception:

java.sql.SQLException: Socket read timed out

                at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412

Caused by: oracle.net.ns.NetException: Socket read timed out

                at oracle.net.ns.Packet.receive(Packet.java:320)

                at oracle.net.ns.NSProtocol.connect(NSProtocol.java:286)

                at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)

                at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)

                … 11 more

 

Solution:

Though VCAC Network profiles was able to allocate an IP to the VMs the name server was not getting updated with the name of virtual machine and hence while liferay was trying to start it used to fail because the name resolution was failing. So either update the name server with the virtual machine name or configure the VCAC Network profiles WITHOUT DNS server details.

 

Network Profiles with out DNS

Network Profiles with out DNS

Well there might be other ways to solve the problem but this was one way to do it. Let know if you have had a different approach to solve the problem.

 

Leave a comment