VMWare vCenter VCA Invalid LDAP Credentials Starting Inventory Service
By: Date: June 13, 2018 Categories: Enterprise Computing Tags:

I was experiencing a problem with the VMware Inventory Service not starting after restarting our vCenter 6.0 VCA.  I needed to reset the LDAP credentials used internally, and followed the VMWare base article 2147280.  However, the password that was being generated by the vdcadmin tool had special characters that were not being correctly stored by the lwregshell command. For example, it generated a password:  /|#rFYS> SB{#W4{.\F{.  When pasted into the lwregshell command, the ‘\F’ was interpreted as simply ‘F’.

After running set_value dbAccountPassword “new password”, be sure to run “ls” to see if the stored value matches what you think it should.  For the best reliability, I just had the vdcadmin tool generate passwords until no problematic characters (double quotes, backslashes) were used in the generated password.  You could likely also just update the password within lwregshell using the escape character ‘\’ to get the desired results.

As a reference, there error I was getting in the /var/log/vmware/invsvc/inv-svc.log file was:

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.vmware.vim.query.server.accesscontrol.impl.LotusInitializer]: Constructor threw exception; nested exception is java.lang.RuntimeException: com.vm<br>ware.identity.interop.ldap.InvalidCredentialsLdapException: Invalid credentials<br>LDAP error [code: 49]

This led me to the VMWare kb article above, but unfortunately I struggled quite a bit because I wasn’t verifying that lwregshell had stored the password correctly.