After upgrading to a Controllerless Dynamic Agent, the Agent does not show Status: Up in the vFunction Server UI


Overview of the Issue

This issue occurs in the following circumstances:

  1. An organization installs a VF Agent below version 4.0 on a Java Application
  2. The organization upgrades the VF Agent to a version above 4.0
  3. Unexpectedly, the Agent does not show as Status: Up in the vFunction Server UI
  4. As expected in the Application’s logs, the Agent is loaded as expected with a version above 4.0. For example, the following line is displayed in the output
vFunction native agent version 4.1.1658 successfully loaded
  1. As expected, the same user running the Java Application has ownership of the vFunction directory
  2. Unexpectedly, the Controllerless Java Agent makes a reference to “Using HTTP API with Port _____” in the ../var/log/vfunction/instances/default-java/vfagent.log. For example, the log ends as:
2025-04-21 22:20:13 main                 INFO  VfunctionRuntimeAgent - Calling vfrtshadow.org.aspectj.weaver.loadtime.Agent
2025-04-21 22:20:13 main                 INFO  VfunctionRuntimeAgent - vfrtshadow.org.aspectj.weaver.loadtime.Agent completed
2025-04-21 22:20:14 main                 INFO  VfunctionRuntimeAgent - Using HTTP API with port 8778
2025-04-21 22:20:14 main                 INFO  VfunctionRuntimeAgent - [] will be run asynchronously
2025-04-21 22:20:14 main                 INFO  VfunctionRuntimeAgent - HTTP server init completed

Steps to Resolve the Issue

Take the following steps to resolve this issue:

  1. SSH to the Application Server running the vFunction Agent
  2. Remove the controller.jolokia_port reference from the ../etc/sysconfig/vfunction/installation/instances/default-java/installation.yaml
  3. Set the com.vfunction.agent.http.port from 8778 to 0 in the ../etc/sysconfig/vfunction/agent/instances/default-java/vfunction-runtime-override.properties
  4. Remove the com.vfunction.agent.http.port Key and Value from the ../etc/sysconfig/vfunction/installation/backup/instances/default-java/vfunction-runtime-override.properties
  5. Run the vFunction Upgrade Script:
bash ../opt/vfunction/controller-installation/upgrade.sh -i default-java
  1. Restart the Application