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:
- An organization installs a VF Agent below version 4.0 on a Java Application
- The organization upgrades the VF Agent to a version above 4.0
- Unexpectedly, the Agent does not show as Status: Up in the vFunction Server UI
- 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
- As expected, the same user running the Java Application has ownership of the vFunction directory
- 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:
- SSH to the Application Server running the vFunction Agent
- Remove the controller.jolokia_port reference from the ../etc/sysconfig/vfunction/installation/instances/default-java/installation.yaml
- Set the com.vfunction.agent.http.port from 8778 to 0 in the ../etc/sysconfig/vfunction/agent/instances/default-java/vfunction-runtime-override.properties
- Remove the com.vfunction.agent.http.port Key and Value from the ../etc/sysconfig/vfunction/installation/backup/instances/default-java/vfunction-runtime-override.properties
- Run the vFunction Upgrade Script:
bash ../opt/vfunction/controller-installation/upgrade.sh -i default-java
- Restart the Application