In vCenter, the following symptoms are observed:
"User account locked: {Name: wcp-vmimageserviceop-user-<###-####-####-####>, Domain: <sso-domain.name>}"
ERROR: Bind Request Failed (127.0.0.1) error 49: Protocol version: 3, Bind DN: "CN=wcp-vmimageserviceop-user-<###-####-####-####>,cn=ServicePrincipals,dc=vsphere,dc=local", Method: SASL
ERROR: VdirPasswordFailEvent from user(cn=wcp-vmimageserviceop-user-<###-####-####-####>,cn=serviceprincipals,dc=vsphere,dc=local), error(0)()
WARNING: Lockout policy check - account lockout. (cn=wcp-vmimageserviceop-user-<###-####-####-####>,cn=serviceprincipals,dc=vsphere,dc=local)
While connected to the Supervisor cluster context, one or more of the following symptoms are observed:
kubectl get machines -n <workload cluster namespace>
kubectl describe machine <stuck Provisioning machine> -n <workload cluster namespace>
Waiting on ProviderID
VirtualMachineImageProviderSecurityNotCompliant
kubectl get clustercontentlibraryitem | grep <desired KR version>
kubectl describe clustercontentlibraryitem <clustercontentlibraryitem ID>
Security Compliance: false
kubectl logs -n vmware-system-vmop <vmop controller pod name>
"Reconcile error" err='VirtualMachineImage is not ready"
kubectl logs -n vmware-system-imageregistry <imageregistryoperator pod name>
Cannot complete login due to an incorrect user name or password
vCenter 8.x
vSphere Supervisor
Any service account can become locked after multiple consecutive invalid logins.
When service account password is rotated in WCP, invalid logins may occur if the operator attempts to login to vCenter with credentials before the credentials are refreshed in the operator cache.
Because image-registry operator does not implement a delay in between failed logins, multiple invalid logins are attempted consecutively and the service account gets locked out.
This is a known issue where a fix is in progress.
Workaround:
If this issue is causing any functional impact, the following workaround can be applied
cat /var/log/vmware/vmdird/vmdird.log | grep vmimageservice
cn=wcp-vmimageserviceop-user-<###-####-####-####>
/usr/lib/vmware-vmafd/bin/dir-cli user find-by-name --account wcp-vmimageserviceop-user-<###-####-####-####> --level 2
The above command will ask for the password for [email protected]Account: wcp-vmimageserviceop-user-<###-####-####-####>
UPN: wcp-vmimageserviceop-user-<###-####-####-####>@vsphere.local
Account disabled: FALSE
Account locked: TRUE
Password never expires: FALSE
Password expired: FALSE
/opt/likewise/bin/ldapmodify -x -D cn=Administrator,cn=Users,dc=vsphere,dc=local -W <<EOF
dn: cn=wcp-vmimageserviceop-user-<###-####-####-####>,cn=serviceprincipals,dc=vsphere,dc=local
changetype: modify
replace: userAccountControl
userAccountControl: 0
EOF
/usr/lib/vmware-vmafd/bin/dir-cli user find-by-name --account wcp-vmimageserviceop-user-<###-####-####-####> --level 2
kubectl scale deploy -n vmware-system-imageregistry vmware-system-imageregistry-controller-manager --replicas=0
kubectl scale deploy -n vmware-system-imageregistry vmware-system-imageregistry-controller-manager --replicas=2