This is a known issue, and will be fixed in a future release of VCF 9.x.
Embedded Identity Broker (Appliance)
To increase the LDAP connection timeout for the Embedded Identity Broker running on the vCenter Server, follow the below steps to increase the default timeout value by appending -Ddirectory.query.conn.timeout.seconds=30 (or 60) to the container options
Login to vCenter via ssh as root
Navigate to the broker container directory:
cd /storage/containers/vc-ws1a-broker/
Inside this directory, locate the subfolder (it will have a long hash-like name, e.g., c2318bb9...). Change into that subfolder:
cd <hash_folder_name>
Make a backup copy of the config.json file by running:
cp config.json config.json.bak
Open the config.json file using vim:
vim config.json
Search for the line starting with "USERGROUP_OPTS= ..."
Navigate to the end of that line inside the quotation marks and append:
-Ddirectory.query.conn.timeout.seconds=30
The line will look similar to this:
"USERGROUP_OPTS= -XX:MaxRAM=250m -XX:MaxRAMPercentage=80 -Xlog:class+path=info,cds=debug,gc*:file=/opt/vmware/idm/logs/usergroup-gc.log:utctime:filecount=10,filesize=1m -Ddirectory.query.conn.timeout.seconds=30"
Save the changes and exit vim (Shift + :, then type !wq and press Enter).
Restart the WS1A Broker service to apply the configuration change:
vmon-cli --restart vc-ws1a-broker
Attempt the login to confirm resolution of the workaround.
External Identity Broker (VCF 9.1 Services Runtime)
To increase the LDAP connection timeout for the containerized Identity Broker (VIDB) running on the VCF Services Runtime Kubernetes cluster, append the timeout property directly to the deployment's Java options:
SSH in to the VCF Control Plane of VCF Services Runtime where VIDB is running using vmware-system-user
Switch to root using:
sudo -i
Open the external VIDB deployment configuration in your default terminal text editor:
kubectl edit deployment vidb-service -n vidb-external
Scroll to the containers section and locate the JAVA_OPTS environment variable under the vidb-service container.
Navigate to the end of the JAVA_OPTS string, add a single space inside the quotation marks (if present), and append the following parameter:
-Ddirectory.query.conn.timeout.seconds=30
Save the configuration and exit the text editor (for vim, press Esc, type :wq, and press Enter).
Trigger a rolling restart of the deployment to apply the new JVM argument:
kubectl rollout restart deployment vidb-service -n vidb-external
Monitor the deployment to ensure the new pods start successfully:
kubectl get pods -n vidb-external -w
Once all vidb-service pods are in a Running state, attempt the authentication flow again to confirm the 30-second timeout extension accommodates the MFA delay.