The setting that will need to have a value set is
com.vmware.vmo.plugin.vi4.socketReadTimeout. This can be done via the GUI and adding this advanced setting or it can be added to the vmo.properties file via ssh. The method that will be shown here is how to update it via SSH.
- First, ensure that SSH is enabled on the VCF Automation Orchestrator server.
- SSH as root to the VCF Automation Orchestrator Server.
-
Update the
/etc/vco/app-server/vmo.propertieswith the increased timeout. This can be done with vim or echoing the line to the end of that file. - Restarting the vco-server and vco-configurator services.
-
Running through the workflow once the VCF Automation Orchestrator Server is back up.
Here is an example of running through this process
ssh root@vro.server.ip.address cat /etc/vco/app-server/vmo.properties echo "com.vmware.vmo.plugin.vi4.socketReadTimeout = 180000" >> /etc/vco/app-server/vmo.properties cat /etc/vco/app-server/vmo.properties service vco-server restart service vco-configurator restart$ ssh root@10.21.203.40 VMware vRealize Appliance root@10.21.203.40's password: Last login: Tue Jan 15 19:02:09 UTC 2019 from 192.168.3.4 on ssh vRO:~ # vRO:~ # cat /etc/vco/app-server/vmo.properties #Wed Sep 19 14:12:54 UTC 2012 database.username=vmware database.url=jdbc:postgresql://localhost:5433/vmware?sslmode=verify-ca&sslrootcert=/var/vmware/vpostgres/current/.postgresql/root.crt encoded.vco.db.password=vcoencrypted:AZ8xK4Nemtbr+1LRL/CnLQ== database.driverClassName=org.postgresql.Driver database.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect vco.vsphere.lookup-service.url = https://prod-vcsa.alex.purestorage.com/lookupservice/sdk vco.vsphere.lookup-service.cert.alias = vco.vsphere.lookup-service.ssl.certificate ch.dunes.net.jboss-server.port = 8230 ch.dunes.authentication.provider = vsphere ch.dunes.vso.client-keep-alive-disable = true ch.dunes.task.max-workflow-tokens = 100 com.vmware.o11n.log-events-expiration-days = 15 vRO:~ # vRO:~ # echo "com.vmware.vmo.plugin.vi4.socketReadTimeout = 180000" >> /etc/vco/app-server/vmo.properties vRO:~ # vRO:~ # cat /etc/vco/app-server/vmo.properties #Wed Sep 19 14:12:54 UTC 2012 database.username=vmware database.url=jdbc:postgresql://localhost:5433/vmware?sslmode=verify-ca&sslrootcert=/var/vmware/vpostgres/current/.postgresql/root.crt encoded.vco.db.password=vcoencrypted:AZ8xK4Nemtbr+1LRL/CnLQ== database.driverClassName=org.postgresql.Driver database.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect vco.vsphere.lookup-service.url = https://prod-vcsa.alex.purestorage.com/lookupservice/sdk vco.vsphere.lookup-service.cert.alias = vco.vsphere.lookup-service.ssl.certificate ch.dunes.net.jboss-server.port = 8230 ch.dunes.authentication.provider = vsphere ch.dunes.vso.client-keep-alive-disable = true ch.dunes.task.max-workflow-tokens = 100 com.vmware.o11n.log-events-expiration-days = 15 com.vmware.vmo.plugin.vi4.socketReadTimeout = 180000 vRO:~ # vRO:~ # service vco-server restart Stopping tomcat instance Instance is running as PID=16139, shutting down... Instance is running PID=16139, sleeping for up to 30 seconds waiting for shutdown Instance shut down gracefully starting tomcat instance Using CATALINA_BASE: /var/lib/vco/app-server Using CATALINA_HOME: /usr/share/tomcat Using CATALINA_TMPDIR: /var/lib/vco/app-server/temp Using JRE_HOME: /usr/java/jre-vmware Using CLASSPATH: /usr/lib/vco/app-server/bin/notsoserial.jar:/usr/lib/vco/app-server/bin/o11n-notsoserial-extension.jar:/usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar Using CATALINA_PID: /var/lib/vco/app-server/logs/tomcat.pid Tomcat started. Status: RUNNING as PID=51442 vRO:~ # service vco-configurator restart Stopping tomcat instance Instance is running as PID=9207, shutting down... Instance is running PID=9207, sleeping for up to 30 seconds waiting for shutdown Instance shut down gracefully starting tomcat instance Using CATALINA_BASE: /var/lib/vco/configuration Using CATALINA_HOME: /usr/share/tomcat Using CATALINA_TMPDIR: /var/lib/vco/configuration/temp Using JRE_HOME: /usr/java/jre-vmware Using CLASSPATH: /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar Using CATALINA_PID: /var/lib/vco/configuration/logs/tomcat.pid Tomcat started. Status: RUNNING as PID=51783 vRO:~ #Then running through the Workflow again will finish successfully. Notice that the time it took for the rescan took about 3 minutes.
[2019-01-15 11:55:26.629] [I] Volume object "bootcamp-alex-vro-ds-1" created successfully! [2019-01-15 11:55:27.141] [I] Volume: 'bootcamp-alex-vro-ds-1' Connected to Host Group: 'bootcamp-alex-esxi-cluster-1' [2019-01-15 11:58:32.744] [I] The new device NAA is naa.624a9370f75f6261e61c40f2000df623 [2019-01-15 11:58:32.748] [I] Found matching device PURE iSCSI Disk (naa.624a9370f75f6261e61c40f2000df623) [2019-01-15 11:58:32.853] [I] PURE iSCSI Disk (naa.624a9370f75f6261e61c40f2000df623) [2019-01-15 11:58:32.858] [I] 1 [2019-01-15 11:58:32.863] [I] PURE iSCSI Disk (naa.624a9370f75f6261e61c40f2000df623) [2019-01-15 11:58:32.866] [I] Disk name naa.624a9370f75f6261e61c40f2000df623 [2019-01-15 11:58:32.869] [I] Device path /vmfs/devices/disks/naa.624a9370f75f6261e61c40f2000df623 [2019-01-15 11:58:32.875] [I] Disk capacity 1024 GB [2019-01-15 11:58:33.136] [I] Disk total number of blocks 1048576 [2019-01-15 11:58:33.139] [I] Disk block size 1048576 [2019-01-15 11:58:33.142] [I] Number of blocks required for the new partition 1048576 [2019-01-15 11:58:33.148] [I] Partition format gpt [2019-01-15 11:58:34.726] [I] Added datastore bootcamp-alex-vro-ds-1This change helped out with the environment that was encountering long rescan times. This could be from iSCSI config, a lot of hosts in the environment, etc. There could be other workflows that have steps that take longer than a minute to complete as well. This was a specific example of the rescans taking a long time to complete.
Some of the steps on how to address and/or workaround these timeouts was gathered from this article.
When running through VCF Automation Orchestrator Workflows there are times that the default Socket Read Timeout of One Minute will trigger before a step in that workflow completes. This will trigger a "java.net.SocketTimeoutException: Read timed out" and the Workflow will fail. This KB will cover how to increase the Socket Read Timeout on the vRO Server to address the workflow failure.