VMRC connections drop in Aria Automation (formerly vRA), across WAN or where there is heavy use of video refresh
search cancel

VMRC connections drop in Aria Automation (formerly vRA), across WAN or where there is heavy use of video refresh

book

Article ID: 314825

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

Symptoms:

  • Unable to access virtual machines in remote WAN locations using VMware Remote Console from Aria (formerly vRealize) Automation.
  • The console freezes after 5 or so minutes and will remain frozen until the user manually refreshes. This means they can’t monitor the app.
    • This may affect users running applications which are heavy on video refresh.

 

Log messages:

  • (for 8.x) in provisioning-service-app log file you see entries similar to:

WARN provisioning [host='provisioning-service-app-7890f646cc-nw9j9' thread='consoleproxy' user='' org='' trace='' parent='' span=''] c.v.consoleproxy.async.EventDispatcher.handleOperation:219 - [CP] The selection key channel=java.nio.channels.SocketChannel[connected local=/10.244.0.131:44148 remote=/12.34.56.78:902], selector=sun.nio.ch.EPollSelectorImpl@258a2ac9, interestOps=1, readyOps=1 has been invoked a critical number of times. Closing.
 
Ping Results from desktop to Aria Automation appliance:

25 packets transmitted, 25 packets received, 0.0% packet loss
Round-trip time min/avg/max/stddev = 0.371/0.485/0.627/0.058 ms

 
Ping results from vRealize Automation appliance to remote vSphere:

24 packets transmitted, 24 received, 0% packet loss, time 23005ms
Round trip time min/avg/max/mdev = 228.877/230.275/252.392/4.683 ms


If VMRC freezes when launched through vRA, and if increased logging helps VMRC to remain working, then try out the resolution given in this article.

 

  •  (for 7.x - EOS) In catalina.out log file, you see entries similar to:

vcac: [component="cafe:console-proxy" priority="WARN" thread="consoleproxy" tenant] com.vmware.consoleproxy.async.EventDispatcher.handleOperation:209 - [CP] The selection key sun.nio.ch.SelectionKeyImpl@3cd819bb has been invoked a critical number of times. Closing
 

Environment

VMware Aria Automation 8.x

VMware vRealize Automation 7.x

Cause

This issue occurs if the CRITICAL_COUNT parameter reaches the limit (default 100) due to which the connection do not catch up the packets transmitted.

Resolution

Adding the consoleproxy.connection.criticalcount=500 property in the security.properties file for 7.x or in the provisioning-service-app deployment for 8.x resolves the issue.

Temporary fix for 8.x:

To resolve this issue, add the -Dconsoleproxy.connection.criticalcount=500 property to the JAVA_OPTS of the provisioning-service-app.
1 Log in to vRealize Automation virtual appliance node as root user.

2 Open the provisioning-service-app deployment in a text editor by running the command:
kubectl -n prelude edit deployment provisioning-service-app


3 Add the property:
-Dconsoleproxy.connection.criticalcount=500

to the JAVA_OPTS list.


4 Save and close the file, which will result in a restart of all pods of the provisioning service.

5. Wait for the provisioning service pods' status to become "Running". In the logs of the provisioning service you will be able to find "CRITICAL_COUNT set to". It shows the current critical count and validates if it picked up the value you set.

 

Permanent fix for 8.x: some system downtime.

The preceding steps do not persist through a restart. To have the changes persist a restart in 8.x the below steps can be performed.
Note that some downtime is expected as the deploy.sh script restarts all pods, not just the provisioning service.

 

  1. Edit the /opt/charts/provisioning-service/values.yaml file by adding a line under JavaOpts section:
    "consoleproxy.connection.criticalcount": "500"

  2. Shut down and restart k8s & all services:
    /opt/scripts/deploy.sh

 

 

Resolution for vRA 7.x (EOS):

To resolve this issue, add the consoleproxy.connection.criticalcount=500 property in the security.properties file.
1. Take the snapshot of the vRealize Automation virtual appliance.

2. Log in to vRealize Automation virtual appliance node as root user.

3. Stop the vcac-server service by running the command:
service vcac-server stop
 
4. Open the file /etc/vcac/security.properties using a text editor.

5. Add the property:
consoleproxy.connection.criticalcount=500

Note: Take a backup of this file before editing.
 
6. Start the vcac-server service by running the command:
service vcac-server start
 
7. Wait for the services to come up, open the /var/log/vmware/vcac/catalina.out file and locate the message "CRITICAL_COUNT set to". It shows the current critical count and validates if it picked up the value you set.

Note: The CRITICAL_COUNT field displays the maximum number of times per second an event can be flagged as ready.
 

Chinese article for vRA 7.x:
简体中文:vRA 7.1 及更高版本中跨 WAN 的 VMRC 连接中断