Viper Service is Down



Overview

This issue occurs in the following circumstances:

  1. A vFunction user logs into the vFunction Server UI
  2. The user selects an Application from the upper-left dropdown menu
  3. The user selects Analysis from the top, center Menu Bar
  4. Unexpectedly, a red circle with white exclamation point displays to the right of Service Creation in the top, center pane. Hovering over the red circle displays a dialog box with more information about the failure
  5. Unexpectedly, the Total Classes displays as NA in the top, left-hand menu under the Analysis section

Steps - Viper deployed on a VM

Take the following steps to run an upgrade of Viper:

  1. SSH to the VM running the vFunction Viper process
  2. Find the vFunction Collect Logs script
find / -name collect-logs.sh | grep 'vfunction'
  1. Run the vFunction Collect Logs script
### Replace $BASE_DIR with the path returned in the FIND command above
bash $BASE_DIR/vfunction/opt/vfunction/controller-installation/collect-logs.sh
  1. Navigate to the /tmp/ directory where a TGZ is created as v$VERSION$DATE.tgz
  2. Share the logs with vFunction to further investigate
  3. Run the upgrade script from the same directory as the collect-logs script
### Replace $BASE_DIR with the path returned in the FIND command above
### Replace $INSTANCE_NAME with the name of the Viper instance, such as default-java-viper
bash $BASE_DIR/vfunction/opt/vfunction/controller-installation/upgrade.sh -i $INSTANCE_NAME
  1. Confirm in the vFunction Server UI’s Analysis tab that the red circle is gone and that the Total Classes displays again.

Steps - Viper deployed on a Container

From the Docker Build pipeline, deploy a new Container from a Build that includes the vFunction Viper Installation workflow. Once the Container is deployed, confirm that the red circle is gone and that the Total Classes displays again.

Take the following steps to gather more information about the failure:

  1. SSH to the Container running the vFunction Viper process
  2. Find the vFunction Collect Logs script
find / -name collect-logs.sh | grep 'vfunction'
  1. Run the vFunction Collect Logs script
### Replace $BASE_DIR with the path returned in the FIND command above
bash $BASE_DIR/vfunction/opt/vfunction/controller-installation/collect-logs.sh
  1. Navigate to the /tmp/ directory where a TGZ is created as v$controllerVersion$date.tgz
  2. Share the logs with vFunction to further investigate
  3. Redeploy the Container so that the Viper process starts freshly again