After performing a fresh installation of the Tanzu Data Intelligence (TDI) 4.0 Controller and starting the service, attempting to add a host via the web UI fails. The following error message can be found in the controller log (in /opt/broadcom/controller/logs/controller.log)
{"@timestamp":"2026-05-25T14:17:42.099526918+08:00","@version":"1","message":"File not found on controller: /opt/broadcom/controller/binaries/tdl-scripts/connector/4.0.0/install.sh","logger_name":"com.broadcom.gphadoop.rse.service.SshScriptExecutionService","thread_name":"GPDLAsyncThread-7","level":"ERROR","level_value":40000}
{"@timestamp":"2026-05-25T14:17:42.0996575+08:00","@version":"1","message":"Exception in method executeScript for eventId: 107faa64-6679-4a8a-8bb3-0a5d29c99d9e","logger_name":"com.broadcom.gphadoop.rse.service.SshScriptExecutionService","thread_name":"GPDLAsyncThread-7","level":"ERROR","level_value":40000,"stack_trace":"com.broadcom.gphadoop.exceptions.GpHadoopException: An unexpected error occurred while executing the command on host File not found: /opt/broadcom/controller/binaries/tdl-scripts/connector/4.0.0/install.sh. Please try again later. If the issue persists, check the logs for more details\n\tat com.broadcom.gphadoop.rse.service.SshScriptExecutionService.pushFileToRemote(SshScriptExecutionService.java:158)\n\tat com.broadcom.gphadoop.rse.service.SshScriptExecutionService.executeScript(SshScriptExecutionService.java:72)\n\tat java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)\n\tat java.base/java.lang.reflect.Method.invoke(Unknown Source)\n\tat org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:158)\n\tat org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:112)\n\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n\tat java.base/java.lang.Thread.run(Unknown Source)\n"}
The error occurs because configuring and downloading the software release is a mandatory prerequisite before adding any hosts into the controller. After a base installation, the script folder /opt/broadcom/controller/binaries/tdl-scripts/ does not exist locally. It is generated only after the required release binaries and scripts are successfully synchronized and downloaded from the JFrog repository.
Follow these steps to properly configure your Broadcom credentials and synchronize the TDI release binaries before re-adding the host.
Step 1: Obtain your Broadcom Access Token
Log in to the Broadcom Support Portal.
Navigate to My Downloads.
Click the Registry Tokens button.
On the Generate Registry Tokens page, locate the list of tokens you are already entitled to. (Refer to the link at the top of the portal page for detailed instructions on generating and accessing registry tokens and API keys if needed).
Step 2: Add the Credential in TDI Controller
In the TDI web UI, navigate to Security > Credentials and click Add.
Enter an Alias for the credential (e.g., "Broadcom-JFrog").
Select JFrog Repository as the credential type.
Provide your Broadcom username and paste the access token (in the Token field) obtained in Step 1.
Click Submit.
Step 3: Synchronize and Download the Release
Navigate to the Releases page in the TDI controller.
Update the Credential setting to use the alias created in Step 2.
Click Sync Releases.
Download the required components: tdi-controller and tdi-runtime.
Step 4: Retry Adding the Host
Delete the host entry that previously failed to initialize.
Attempt to add the host again through the web UI. The controller will now have the required install.sh scripts to deploy successfully.
How to obtain an access token: TDI 4.0 - Controller Credentials (JFrog)
How to configure a release: TDI 4.0 - Controller Releases