Database Plug-in for Automation Orchestrator fails after upgrading to 8.14.x through 8.16.1
search cancel

Database Plug-in for Automation Orchestrator fails after upgrading to 8.14.x through 8.16.1

book

Article ID: 326160

calendar_today

Updated On:

Products

VMware Aria Suite

Issue/Introduction

Symptoms:
  • Database Plug-in for Automation Orchestrator fails with the following error when trying to add new endpoint or access an existing one.
    java.sql.SQLException: No suitable driver found


Environment

VMware Aria Automation Orchestrator 8.14.x
VMware Aria Automation 8.14.x
VMware Aria Automation 8.16.x
VMware Aria Automation Orchestrator 8.16.x

Cause

  1. Oracle JDBC driver is no longer distributed with Aria Automation due to licensing requirements.
  2. JDBC drivers placed in /data/vco/var/run/vco/plugins/SQL/lib are not loaded.

Resolution

  1. For any database drivers except for the default PostgreSQL driver, you are responsible for downloading and copying them to the Aria Automation Orchestrator appliance.
  2. Follow the steps as described in Adding a JDBC connector for the Automation Orchestrator SQL plug-in.
A fix for the driver loading issue is available in 8.16.2.

Workaround:

Prerequisites

  • Please take simultaneous non-memory snapshots of each virtual appliance(s) in the cluster.
    • You must back up all VMware Aria Automation appliances, at the same time - simultaneously for all nodes.
    • If you are taking the snapshots manually, you must start the snapshots of the second and the third node not more than 40 seconds after you start the snapshots for the first node.
    • When you back up the VMware Aria Automation appliance, disable in-memory snapshots and enable quiescing.
  • You have access to root user and password.
  • You have SSH or console access to each virtual appliance.

Procedure

  1. SSH / PuTTy into each virtual appliance in the cluster.
  2. Run the following commands on each node:
    sed -i "s/.\/create_server_symlinks \&\& rm/.\/create_server_symlinks \&\& echo  \'CLASSPATH=\$CLASSPATH:\$(echo \\\\\"\/var\/run\/vco\/plugins\/SQL\/lib\/\\\\\"*.jar | tr \\\\\" \\\\\"  \\\\\":\\\\\" ) \'  >> \/usr\/lib\/vco\/app-server\/bin\/setenv.sh \&\& rm/g"  /opt/charts/vco/templates/deployment.yaml
    
    kubectl -n prelude get deployment vco-app -o yaml | sed "s/.\/create_server_symlinks \&\& rm/.\/create_server_symlinks \&\& echo  \'CLASSPATH=\$CLASSPATH:\$(echo \"\/var\/run\/vco\/plugins\/SQL\/lib\/\"*.jar | tr \" \"  \":\" ) \'  >> \/usr\/lib\/vco\/app-server\/bin\/setenv.sh \&\& rm/g" | kubectl -n prelude replace -f -
    
    kubectl rollout restart deployment vco-app -n prelude
Note: For versions 8.16.2 and above, it is enough to copy the JDBC driver and restart the Automation Orchestrator service as described here: Adding a JDBC connector for the Automation Orchestrator SQL plug-in (the procedure is the same for all supported database vendors).

Additional Information

These steps must be repeated if you upgrade from an older version to a version below 8.16.2.

Example: 8.14 to 8.16 to 8.16.1, you would need to apply this workaround twice, once after each upgrade.

Impact/Risks:
This issue is present in versions 8.14 through 8.16.1 which use the Database plugin with SQL databases other than PostgreSQL.