Updating vCenter Server fails with the error below
You will find similar errors as shown in the logs below:
/var/log/vmware/applmgmt/PatchRunner.log:
[YYYY-MM-DDTHH:MM:SS] ERROR starting lookupsvc rc: 4, stdout: , stderr: Start service request failed. Error: A system error occurred. Check logs for details[YYYY-MM-DDTHH:MM:SS] Lookup Service firstboot failed...Exception: Lookupsvc Patching failed to execute firstboot operation
/var/log/vmware/lookupsvc/lookupsvc-prestart.log:
[YYYY-MM-DDTHH:MM:SS] ERROR Failure to register SyncaaS tables in postgressql
/var/log/vmware/lookupsvc/lookupserver-default.log:
[YYYY-MM-DDTHH:MM:SS] pool-2-thread-12 WARN com.vmware.sso.interop.ldap.LdapErrorChecker] Error received by LDAP client: com.vmware.sso.interop.ldap.OpenLdapClientLibrary, error code: -1[YYYY-MM-DDTHH:MM:SS] pool-2-thread-12 WARN com.vmware.vim.lookup.impl.LdapStorage] Failed to connect to LDAP server, will retry; attempt:1 of 15, delay:5 sec com.vmware.sso.interop.ldap.ServerDownLdapException: Can't contact LDAP server
/var/log/vmware/rhttpproxy/rhttpproxy.log:
[YYYY-MM-DDTHH:MM:SS] error rhttpproxy[09373] [Originator@6876 sub=RhttpProxy file=vpxd-vijson-soap-proxy.json loadCfg=0] JSON parse error: Missing a name for object member. at offset 754.
To verify the issue access Postgres Database by running the below command:
# /opt/vmware/vpostgres/current/bin/psql -U postgres -d VCDB
Check the Role names using below command.
# \du
We can see a user "vROuserPG" with mixed casing.
VMware vCenter Server 8.x
PostgreSQL treats quoted identifiers as case-sensitive, which prevented the Lookup Service from properly registering its SyncaaS (Synchronization as a Service) tables during its prestart routine.
1. Access Postgres Database by running the below command
# /opt/vmware/vpostgres/current/bin/psql -U postgres -d VCDB
2. Check the Role names using below command.
# \du
3. Rename the problematic user role by running the below command.
# ALTER ROLE "vROuserPG" TO "vrouserpg";
4. Restart the update of vCenter Server.