config-state.json file results in Active Directory login failuresFailed to parse response received from connector".400 bad request - invalid username / password" when using Aria Automation API to authenticate as a domain userError: You do not have permission to access this page: /hc/3104/authenticate/ or Error : See logs for detailsconnector.log and horizon.log in /opt/vmware/horizon/workspace/logs/ show the issue as:com.vmware.horizon.connector.utils.ServiceUtils - Failed to check service health: invalid MOL urlERROR (pool-4-thread-1) [;;;] com.vmware.horizon.connector.admin.service.impl.StartupDirectoryConfigService - could not take the backup as config-state.json file size is emptyThe vIDM service performs periodic backups of the connector configuration to config-state.json. In instances of file system instability or disk space exhaustion, the integrity of this file may be compromised during the write process.
/hc/error as shown in the introduction section above, verify the Bind User/Password of the directory are correct.https://<vIDM_NODE_FQDN>/SAAS/login/0.IMPORTANT:
The config-state.json file is located in:
/usr/local/horizon/conf/states/<TENANT_NAME>/<WORKER_ID>/<WORKER_ID>.config-state.json in each <WORKER_ID> directory has to be checked.SSH to each VMware Identity Manager Appliance(s) as the root user, change directory into the tenant directory, and list all worker id sub-directories and their content:
cd /usr/local/horizon/conf/states/<TENANT_NAME>/
ls -lRReview this result to investigate how many files are corrupted, or need to be restored from backup, and their respective worker-id sub-directories.
Stop the horizon-workspace service only on the node where the config-state.json file is being recovered:
service horizon-workspace stopIf the current configuration file is not 0K in size, make a copy of it with the following command:
cp config-state.json config-state.json.1Replace the current configuration file with a copy of the latest stable backup (if multiple versions are present, e.g. _v1, _v2, _v2.1, _v2.2, then use _v2):
cp -p config-state.json.backup_<latest-stable-version> config-state.jsonConfirm the owner and group of the config-state.json is unchanged (horizon:www); if not, correct it with the following command:
chown horizon:www /usr/local/horizon/conf/states/<TENANT_NAME>/<WORKER_ID>/config-state.jsonConfirm the permissions of the config-state.json are unchanged; if not, correct them with the following command:
chmod 640 /usr/local/horizon/conf/states/<TENANT_NAME>/<WORKER_ID>/config-state.jsonNOTE:
config-state.json file does not get updated with directory information even after restoring from the older versions, recreate the affected directory from the UI.Start the horizon-workspace service by running the following command:
service horizon-workspace startIn the UI, navigate to Identity & Access Management > YOUR DIRECTORY > Sync Settings, then run through each tab and save the setting:
Above, if the "Groups" tab refuses to save due to an error regarding the Bind DN: return to the directory settings page, enter the Bind DN password, validate & save, then come back to save the remaining tabs in Sync Settings.
To avoid the issue from re-occurring, please apply KB 376193: vIDM root partition is full on one node of the cluster.
```