The analytics-service.log file under /opt/vmware/horizon/workspace/logs shows that the maximum number of shards are being used:
Unable to create index: v4_2023-03-04_action - {"root_cause":[{"type":"validation_exception","reason":"Validation Failed: 1: this action would add [10] total shards, but this cluster currently has [1000]/[1000] maximum shards open;"}],"type":"validation_exception","reason":"Validation Failed: 1: this action would add [10] total shards, but this cluster currently has [1000]/[1000] maximum shards open;"}
It was also noticed:
You don't have permission to perform the operation when syncing a directory.Reports > Audit Events shows no events.vIDM Administration console gives no results.Admin UI for all nodes contains elements which are not loading, so it appears blank.opensearch: unassigned shards and yellow/red status.vIDM Health Status might show an error with Integrated Components - Error retrieving component status.vIDM Health Status might show an error with ACS Health - Application Deployment Status - Web Application Status - Error when connecting to the application.opensearch.Connector communication failed with response: Circuit breaker...VMware Identity Manager (vIDM) 3.3.7
In version 3.3.7, Elasticsearch was migrated to OpenSearch. By default, the migration allocates 1,000 shards per node. In active environments, this limit is frequently exceeded, causing validation failures during index creation.
To resolve the issue, follow the steps below:
6500. A subsequent raise to 8200 may be necessary if the initial error in this KB is still observed after raising to 6500:curl -X PUT localhost:9200/_cluster/settings -H "Content-Type: application/json" -d '{ "persistent":
{ "cluster.max_shards_per_node": "6500" }
}'It may take 5-10 minutes for shards to re-allocate properly.
opensearch / shard status on each node with the below command. For clustered deployments consisting of multiple VIDM nodes, the status should show Green with 0 Unassigned Shards:watch curl http://localhost:9200/_cluster/health?pretty=truecurl -XGET http://localhost:9200/_cat/shards | grep UNASSIGNED | awk {'print $1'} | xargs -i curl -XDELETE "http://localhost:9200/{}"follow by reindexing database
curl -X PUT localhost:9200/_cluster/settings -H "Content-Type: application/json" -d '{ "persistent":
{ "cluster.max_shards_per_node": "6500" }
}'
Health Status:
curl http://localhost:9200/_cluster/health?pretty=truepsql primary node):/usr/sbin/hznAdminTool liquibaseOperations -forceReleaseLocksservice horizon-workspace restart