for VMware vCenter Server Appliance 7.0.x, /var/log/vmware/vmdird/vmdird-syslog.log
contains the following entries:for VMware vCenter Server Appliance 8.0.x, /var/log/vmware/vmdird/vmdird.log
contains the following entries:
[YYYY-MM-DDTHH:MM:SS] err vmdird t@140245530842880: Bind Request Failed (x.x.x.x) error 49: Protocol version: 3, Bind DN: "cn=vcsa1,ou=Domain Controllers,dc=domain,dc=local", Method: SASL [YYYY-MM-DDTHH:MM:SS] err vmdird t@140245530842880: SASLSessionStep: sasl error (-13)(SASL(-13): authentication failure: client evidence does not match what we calculated. Probably a password error)
/var/log/vmware/invsvc/inv-svc.log in vCenter Server 6.0 or /var/log/vmware/vpxd-svcs/vpxd-svcs.log
in vCenter Server 6.5/6.7 or 7.0 contains the following message:
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.vmware.cis.core.authz.accesscontrol.impl.LotusInitializer]: Constructor threw exception; nested exception is java.lang.RuntimeException: com.vmware.identity.interop.ldap.InvalidCredentialsLdapException: Invalid credentials
LDAP error [code: 49]
VMware vCenter Server Appliance 6.0.x
VMware vCenter Server Appliance 6.5.x
VMware vCenter Server Appliance 6.7.x
VMware vCenter Server Appliance 7.0.x
VMware vCenter Server Appliance 8.0.x
This issue happens due to a mismatch in the machine account password stored in VMDIRD Database and the password used by services to connect to VMware Directory Service.
# /usr/lib/vmware-vmafd/bin/dir-cli state get
The output should look like this:
Directory Server State: Normal (3)
# /usr/lib/vmware-vmafd/bin/dir-cli state set --state NORMAL
# chmod +x reset_machine_pw.sh
Administrator@<sso.domain>
password and replication partner name if it is executed on PSC or Embedded Node# service-control --stop --all && service-control --start --all
root@vCenter1 [ /tmp ]# /usr/lib/vmware-vmdir/bin/vdcrepadmin -f showpartnerstatus -h localhost -u administrator
password:
Partner: vCenter2.domain.local
b) Execute the script to reset password
root@vcsa1 [ /tmp ]# ./reset_machine_pw.sh
==================================
Machine account password reset for vCenter1.domain.local started on Wed Jun 19 09:09:49 UTC 2019
Detected that this node is an external PSC.
Please provide the replication partners separated by a space: vCenter2.domain.local
Detected DN: cn=vCenter1.domain.local,ou=Domain Controllers,dc=vsphere,dc=local
Detected PNID: vCenter1.domain.local
Detected PSC: vCenter1.domain.local
Detected SSO domain name: vsphere.local
Enter password for [email protected]:
updating registry with password.
updating local PSC with password.
modifying entry "cn=vCenter1.domain.local,ou=Domain Controllers,dc=vsphere,dc=local"
Updating replication partners with the new password as well.
Changing password for vCenter1.domain.local in the VMDIR database located at vCenter2.domain.local
modifying entry "cn=vCenter1.domain.local,ou=Domain Controllers,dc=vsphere,dc=local"
Finished on Wed Jun 19 09:09:57 UTC 2019
root@vCenterext[ /tmp ]# ./reset_machine_pw.sh
==================================
Machine account password reset for vCenterext.domain.local started on Wed Jun 19 09:19:32 UTC 2019
Detected this node is a vCenter server with external PSC.
Detected DN: cn=vCenterext.domain.local,ou=Computers,dc=vsphere,dc=local
Detected PNID: vCenterext.domain.local
Detected PSC: psc.domain.local
Detected SSO domain name: vsphere.local
Enter password for [email protected]:
updating registry with password.
updating local PSC with password.
modifying entry "cn=Centerext.domain.local,ou=Computers,dc=vsphere,dc=local"
Since there were no replication partners specified, we're done here.
Finished on Wed Jun 19 09:19:38 UTC 2019
bash: ./reset_machine_pw.sh: /bin/bash^M: bad interpreter: No such file or directory
# sed -i -e 's/\r$//' reset_machine_pw.sh