Scheduling immediate update of bundle failed. Provided domain ID is invalid.
Retrieving configuration updates failed. Unable to compute applicability for drift WorkspaceOneBrokerConfigDrift. Because configuration realized check failed on resources [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx]. Please check logs and fix the failures of drift configuration realized checks. Then restart the service to trigger the configuration realized checks again and re-try the API. If this does not resolve the issue, please contact GSS.
yyyy-mm-ddThh:mm:ss DEBUG [vcf_dm,0adf714c25328f42,c2cb] [c.v.e.s.e.h.LocalizableRuntimeExceptionHandler,http-nio-127.0.0.1-7200-exec-5] Handler Error Response: {"errorCode":"FAILED_TO_FETCH_APPLICABLE_DRIFTS_CONFIGURATION_REALIZED_CHECK_FAILED","arguments":["WorkspaceOneBrokerConfigDrift","[xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx]"],"message":"Unable to compute applicability for drift WorkspaceOneBrokerConfigDrift. Because configuration realized check failed on resources [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx].","remediationMessage":"Please check logs and fix the failures of drift configuration realized checks. Then restart the service to trigger the configuration realized checks again and re-try the API. If this does not resolve the issue, please contact GSS.","referenceToken":"aaaaa"}
yyyy-mm-ddThh:mm:ss ERROR [vcf_dm,618d6878dbc44085,4c2d] [c.v.v.c.o.a.ConfigDriftApiClient,dm-exec-7] Failed to fetch drifts from owner service http://localhost/domainmanager
com.vmware.cloud.foundation.rest.configreconciler.runtime.ApiException:
yyyy-mm-ddThh:mm:ss ERROR [vcf_dm,0adf714c25328f42,c2cb] [c.v.e.s.e.h.LocalizableRuntimeExceptionHandler,http-nio-127.0.0.1-7200-exec-5] [2A4MU] Unable to compute applicability for drift {0}. Because configuration realized check failed on resources {1}. Unable to compute applicability for drift WorkspaceOneBrokerConfigDrift. Because configuration realized check failed on resources [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx].
com.vmware.vcf.configreconciler.service.common.error.ConfigReconcilerException: Unable to compute applicability for drift WorkspaceOneBrokerConfigDrift. Because configuration realized check failed on resources [xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx].
yyyy-mm-ddThh:mm:ss [tomcat-exec-24 [] ERROR com.vmware.vcenter.trustmanagement.authbroker.BrokerClient opId=] VMware Identity services unavailable
yyyy-mm-ddThh:mm:ss [tomcat-exec-24 [] ERROR com.vmware.vcenter.trustmanagement.vapi.impl.AdminClientProviderImpl opId=] Error getting Auth broker CUSTOMER tenant's admin client token info due to VMware Identity services unavailable
com.vmware.vcenter.trustmanagement.authbroker.BrokerException: VMware Identity services unavailable
Caused by: com.vmware.vcenter.trustmanagement.authbroker.BrokerClient$HttpStatusException: API request GET_CLIENT_CREDENTIALS_TOKEN failed with response code 503 (Service Unavailable)
VMware Cloud Foundation 5.x
vc-ws1a-broker service configuration files get lost during RDU upgrade which leaves the vc-ws1a-broker service in a broken state. The drift check failure is caused by the VMware Identity services being unavailable.
This is a workaround to be used by customers who did the RDU upgrade and currently have a non functional WS1 Broker service. This workaround script should be used only by customers who has WS1B service in the source machine (Ex : Any VC Release >=8.0u1)
Take offline snapshot of all vCenter servers in powered off state before executing the workaround steps.
Workaround:
Run the attached shell script to be able to configure an external Identity Provider.
cat /var/lib/ws1/masterapp-credentials.json
bash recover_ws1b.sh <Admin user> <Admin password> <External IDP Client secret from Step # 3>
Incase the script fails to resolve the issue then run it manually with below steps
chmod +x Rotate_WS1B_secrets.sh
/Rotate_WS1B_secrets.sh
cat /var/lib/ws1/masterapp-credentials.json
Sample output:{ "clientId": "operator_client_id", "clientSecret":"ZLt0#######nOk=", "scopes":"admin system"}\
curl -k -u 'operator_client_id:<OPERATOR CLIENT SECRET>' 'https://<VC HOSTNAME>/acs/t/HWS/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'
curl -k --location --request DELETE 'https://<VC HOSTNAME>/crypto/t/CUSTOMER/jwt/keys' \
--header 'Authorization: Bearer <SYSTEM TOKEN>'
curl -k --location --request DELETE 'https://<VC HOSTNAME>/crypto/t/OPERATOR/jwt/keys' \
--header 'Authorization: Bearer <SYSTEM TOKEN>'
psql -U postgres VCDB -c "SELECT * FROM vidm_schema.\"Crypto_Keys\" WHERE \"keyContainer\" in ('CUSTOMER:JWT', 'OPERATOR:JWT');"
This should return zero rows.curl -k --location --request POST 'https://<VC HOSTNAME>/crypto/t/CUSTOMER/jwt/keys?algorithmId=ALG_RSA_2048_SHA256' \
--header 'Authorization: Bearer <SYSTEM TOKEN>'
curl -k --location --request POST 'https://<VC HOSTNAME>/crypto/t/OPERATOR/jwt/keys?algorithmId=ALG_RSA_2048_SHA256' \
--header 'Authorization: Bearer <SYSTEM TOKEN>'
curl -k --request POST --url https://localhost/rest/com/vmware/cis/session -u '<Admin user>:<Admin password>'
curl -X PUT -k -H "vmware-api-session-id:<SESSION_ID>" http://localhost:1080/api/vcenter/settings/namespaces/ws1/items -d '{"items": {"master_client_secret": ""}}' -H "Content-Type: application/json"
vmon-cli -r trustmanagement
curl -k --request POST --url https://localhost/rest/com/vmware/cis/session -u '<Admin user>:<Admin password>'
curl -k --location --request GET 'https://localhost/api/vcenter/identity/authbrokeridp' --header 'vmware-api-session-id: <VC SESSION ID>' | jq
curl -k --location --request PATCH 'https://localhost/api/vcenter/identity/authbrokeridp/<IDP ID>' --header 'vmware-api-session-id: <VC SESSION ID>' --header 'Content-Type: application/json' --data-raw '{"client_secret" : "<CLIENT SECRET>"}'
vmon-cli -r vc-ws1a-broker
vmon-cli -r trustmanagement
vmon-cli -r sts
curl -k --request POST --url https://localhost/rest/com/vmware/cis/session -u '<Admin user>:<Admin password>'
curl -k --location --request GET 'https://localhost/api/vcenter/identity/broker/tenants/CUSTOMER/admin-client' --header 'vmware-api-session-id: <VC SESSION ID>'
curl -k --location --request GET 'https://localhost/api/vcenter/identity/broker/tenants/OPERATOR/admin-client' --header 'vmware-api-session-id: <VC SESSION ID>'
curl -k --request POST --url https://localhost/rest/com/vmware/cis/session -u '[email protected]:<password>'