...
vCenter Server Cloud Account username or password has been changed.An existing endpoint in VMware vRealize Automation (Now VMware Aria Automation) needs to be updated with the new credentials.Credentials validation is successful, but then you see the error: Failed to connect to vCenter: Error: Cannot login due to incorrect username and password The configuration fails to load and the endpoint cannot be saved.Data collection and provisioning to this endpoint fails due to the invalid credentials.
This article provides information on how to successfully update the password on vCenter Server Cloud Account in vRealize Automation after its password was changed.
This issue occurs due to Provisioning Service passing the vSphere region enumeration adapter an authCredentialsLink, which points the adapter to the existing credentials in the inventory, rather than using the newly supplied username and password. Region enumeration fails and prevents the user from saving the endpoint.
This issue is resolved in vRealize Automation 8.7, available at VMware Downloads.
To work around this issue if you do not want to upgrade, update the credentials using the IaaS API. Obtain an Authorization token from the vRA Cloud Services Console. Login to vRA UI using your administrative accountClick the wrench icon to open Developer ToolsUnder Access Token Details click Options and Copy raw tokenIn some cases you may not see the wrench icon on UI, then you can use the below kb to generate the bearer token: https://kb.vmware.com/s/article/89129 Note: Use this token as a Bearer token in your REST client Run the below GET API to fetch the affected cloud account ID GET vra-hostname/iaas/api/cloud-accounts/?name%3D=vCenterEndpointName Note: Replace vra-hostname with your vRealize Automation Fully Qualified Domain Name and vCenterEndpointName with the affected Cloud Account Name.Sample using curl curl --insecure --location --request GET 'https://vra-hostname/iaas/api/cloud-accounts/?name%3D=vCenterEndpointName' --header 'Content-Type: application/json' --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjQ2MDg4NDM1NzUzNDg1ODI3MjcifQ.eyJpc3MiOiJDTj1QcmVsdWRlIElkZW50aXR5IFNlcnZpY2UsT1U9Q01CVSxPPVZNd2FyZSxMPVNvZmlhLFNUPVNvZmlhLEM9QkciLCJpYXQiOjE2NDgwNDYyMDIsImV4cCI6MTY0ODA3NTAwMiwianRpIjoiYmQxOTE2ZjQtZGZkOS00MGFkLWIzZWEtNzE0ODJkNmIyM2UzIiwiY29udGV4dCI6Ilt7XCJtdGRcIjpcInVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphYzpjbGFzc2VzOlBhc3N3b3JkUHJvdGVjdGVkVHJhbnNwb3J0XCIsXCJpYXRcIjoxNjQ4MDQ2MjAyLFwiaWRcIjoxNX1dIiwiYXpwIjoicHJvdmlzaW9uaW5nLVZCcFhWd1ZXWFBrbHdkczgiLCJzdWIiOiJjb2tlLnNxYS1ob3Jpem9uLmxvY2FsOjBmNTMxY2QzLTk3NDEtNGJhNy1hM2Y2LTU4MjFiNzI0YTI1YiIsImRvbWFpbiI6ImNva2Uuc3FhLWhvcml6b24ubG9jYWwiLCJ1c2VybmFtZSI6ImZyaXR6IiwicGVybXMiOlsiY3NwOm9yZ19vd25lciIsImV4dGVybmFsLzI4NjBlZjk1LWE3MzktNDMzZC1hOWRhLWMwOTZjY2VmMDJiNS9vcmNoZXN0cmF0aW9uOmFkbWluIiwiZXh0ZXJuYWwvZGE1N2E4OTEtMjBiOC00NTlmLWI5OGQtYjg1N2QzOWNkYjAxL21pZ3JhdGlvbjphZG1pbiIsImV4dGVybmFsLzI4NjBlZjk1LWE3MzktNDMzZC1hOWRhLWMwOTZjY2VmMDJiNS9vcmNoZXN0cmF0aW9uOnZpZXdlciIsImV4dGVybmFsLzJjOTkzNzVhLWM1YTctNDRkOC1iZTE4LTk0NmNlMTkyNTE0Zi9jYXRhbG9nOmFkbWluIiwiZXh0ZXJuYWwvMjg2MGVmOTUtYTczOS00MzNkLWE5ZGEtYzA5NmNjZWYwMmI1L29yY2hlc3RyYXRpb246ZGVzaWduZXIiLCJleHRlcm5hbC85MjYxZTA2ZS02MDk1LTRjMGItODRlMC03ZTIyNzUyNWVlN2Yvc2FsdHN0YWNrOmFkbWluIiwiZXh0ZXJuYWwvYWRlNWMzNWItNGZhYy00MDI2LWFiNzMtNDFhODg4ZDRlNTIyL0NvZGVTdHJlYW06YWRtaW5pc3RyYXRvciIsImV4dGVybmFsL2FkZTVjMzViLTRmYWMtNDAyNi1hYjczLTQxYTg4OGQ0ZTUyMi9Db2RlU3RyZWFtOmRldmVsb3BlciIsImV4dGVybmFsL2RhNTdhODkxLTIwYjgtNDU5Zi1iOThkLWI4NTdkMzljZGIwMS9hdXRvbWF0aW9uc2VydmljZTpjbG91ZF9hZG1pbiJdLCJjb250ZXh0X25hbWUiOiJhMTU1MDQxMy1iYmM3LTRlMzctYjc5Ni0xODk1NGY3NmM3MmIiLCJhY2N0IjoiZnJpdHoifQ.bXEjh85fDBEZoA3OM70-CQMPaZL4NNQLP_WK90nASXuajasJ2lea2d-24QQL4AjEwwLiLUgfjZA6iHKRlKcer-mhcXK3xLwoIg3XsDNqoG3l0mQAoyir50IjFIT-ti9i6q0sCLHnvx7-wGymSHM2isfmh-J9KeTSQwQUECbkDl7lryxcGtNB3Pf4_DxO6Ba9UuNxzaofzRohOAOFYTo9lXTyS21oGEjZ-YIT6XRfuxad09y9ik-VkUJiT0jOvkACIBqfwaMgGs8sxW083vKm-Yja3NeDv65Diq93M4x6QlQ3GLxHfwqW8ZmfH_9js0TxgKN4-ibcktGkVDYjfQTGyA' | python -m json.tool Take note of the cloudAccountId value from Step 2.Run below API to update the endpoint and credentials: API PATCH {vra-hostname}/iaas/api/cloud-accounts/<cloudAccountId-from-step-2> Body { "privateKeyId": "username", "privateKey": "new password" } Sample using curl curl --insecure --location --request PATCH 'https://vra-hostname/iaas/api/cloud-accounts/<UUID_1>' --header 'Content-Type: application/json' --header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjQ2MDg4NDM1NzUzNDg1ODI3MjcifQ.eyJpc3MiOiJDTj1QcmVsdWRlIElkZW50aXR5IFNlcnZpY2UsT1U9Q01CVSxPPVZNd2FyZSxMPVNvZmlhLFNUPVNvZmlhLEM9QkciLCJpYXQiOjE2NDgwNDYyMDIsImV4cCI6MTY0ODA3NTAwMiwianRpIjoiYmQxOTE2ZjQtZGZkOS00MGFkLWIzZWEtNzE0ODJkNmIyM2UzIiwiY29udGV4dCI6Ilt7XCJtdGRcIjpcInVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDphYzpjbGFzc2VzOlBhc3N3b3JkUHJvdGVjdGVkVHJhbnNwb3J0XCIsXCJpYXRcIjoxNjQ4MDQ2MjAyLFwiaWRcIjoxNX1dIiwiYXpwIjoicHJvdmlzaW9uaW5nLVZCcFhWd1ZXWFBrbHdkczgiLCJzdWIiOiJjb2tlLnNxYS1ob3Jpem9uLmxvY2FsOjBmNTMxY2QzLTk3NDEtNGJhNy1hM2Y2LTU4MjFiNzI0YTI1YiIsImRvbWFpbiI6ImNva2Uuc3FhLWhvcml6b24ubG9jYWwiLCJ1c2VybmFtZSI6ImZyaXR6IiwicGVybXMiOlsiY3NwOm9yZ19vd25lciIsImV4dGVybmFsLzI4NjBlZjk1LWE3MzktNDMzZC1hOWRhLWMwOTZjY2VmMDJiNS9vcmNoZXN0cmF0aW9uOmFkbWluIiwiZXh0ZXJuYWwvZGE1N2E4OTEtMjBiOC00NTlmLWI5OGQtYjg1N2QzOWNkYjAxL21pZ3JhdGlvbjphZG1pbiIsImV4dGVybmFsLzI4NjBlZjk1LWE3MzktNDMzZC1hOWRhLWMwOTZjY2VmMDJiNS9vcmNoZXN0cmF0aW9uOnZpZXdlciIsImV4dGVybmFsLzJjOTkzNzVhLWM1YTctNDRkOC1iZTE4LTk0NmNlMTkyNTE0Zi9jYXRhbG9nOmFkbWluIiwiZXh0ZXJuYWwvMjg2MGVmOTUtYTczOS00MzNkLWE5ZGEtYzA5NmNjZWYwMmI1L29yY2hlc3RyYXRpb246ZGVzaWduZXIiLCJleHRlcm5hbC85MjYxZTA2ZS02MDk1LTRjMGItODRlMC03ZTIyNzUyNWVlN2Yvc2FsdHN0YWNrOmFkbWluIiwiZXh0ZXJuYWwvYWRlNWMzNWItNGZhYy00MDI2LWFiNzMtNDFhODg4ZDRlNTIyL0NvZGVTdHJlYW06YWRtaW5pc3RyYXRvciIsImV4dGVybmFsL2FkZTVjMzViLTRmYWMtNDAyNi1hYjczLTQxYTg4OGQ0ZTUyMi9Db2RlU3RyZWFtOmRldmVsb3BlciIsImV4dGVybmFsL2RhNTdhODkxLTIwYjgtNDU5Zi1iOThkLWI4NTdkMzljZGIwMS9hdXRvbWF0aW9uc2VydmljZTpjbG91ZF9hZG1pbiJdLCJjb250ZXh0X25hbWUiOiJhMTU1MDQxMy1iYmM3LTRlMzctYjc5Ni0xODk1NGY3NmM3MmIiLCJhY2N0IjoiZnJpdHoifQ.bXEjh85fDBEZoA3OM70-CQMPaZL4NNQLP_WK90nASXuajasJ2lea2d-24QQL4AjEwwLiLUgfjZA6iHKRlKcer-mhcXK3xLwoIg3XsDNqoG3l0mQAoyir50IjFIT-ti9i6q0sCLHnvx7-wGymSHM2isfmh-J9KeTSQwQUECbkDl7lryxcGtNB3Pf4_DxO6Ba9UuNxzaofzRohOAOFYTo9lXTyS21oGEjZ-YIT6XRfuxad09y9ik-VkUJiT0jOvkACIBqfwaMgGs8sxW083vKm-Yja3NeDv65Diq93M4x6QlQ3GLxHfwqW8ZmfH_9js0TxgKN4-ibcktGkVDYjfQTGyA' --data-raw '{ "privateKeyId": "username@domain.com", "privateKey": "<PASSWORD>" }' Return to vRA UI, validate the vCenter credentials and save the endpoint.Verify that Data collection is completing successfully after a 10-minute cycle.Click Sync Images and UPDATE.