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 [88ac####-####-####-####-########b540]. 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.
DEBUG [vcf_dm,0ad########8f42,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","[88ac####-####-####-####-########b540]"],"message":"Unable to compute applicability for drift WorkspaceOneBrokerConfigDrift. Because configuration realized check failed on resources [88ac####-####-####-####-########b540].","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":"6####I"}
yyyy-mm-ddThh:mm:ss ERROR [vcf_dm,618########4085,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:
ERROR [vcf_dm,0ad########8f42,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 [88ac####-####-####-####-########b540].
com.vmware.vcf.configreconciler.service.common.error.ConfigReconcilerException: Unable to compute applicability for drift WorkspaceOneBrokerConfigDrift. Because configuration realized check failed on resources [88ac####-####-####-####-########b540].
[tomcat-exec-24 [] ERROR com.vmware.vcenter.trustmanagement.authbroker.BrokerClient opId=] VMware Identity services unavailable
[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)
[tomcat-exec-16 [] INFO com.vmware.vcenter.trustmanagement.authbroker.BrokerClient opId=] API request GET_CLIENT_CREDENTIALS_TOKEN to url http://localhost:1080/external-vecs/http1/vcenter.example.com/443/acs/t/customer/token returned unexpected response code 400 and the following error information: {"error":"server_error","error_description":"Unable to generate the Token."}
[tomcat-exec-16 [] ERROR com.vmware.vcenter.trustmanagement.authbroker.BrokerClient opId=] VMware Identity services unavailable
[tomcat-exec-16 [] 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 400 (Bad Request)
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
If the file is not present you will see the below error
cat: /var/lib/ws1/masterapp-credentials.json: No such file or directory
Sample
root@vcsa01 [ ~ ]# cat /var/lib/ws1/masterapp-credentials.json
cat: /var/lib/ws1/masterapp-credentials.json: No such file or directory
chmod +x Rotate_WS1B_secrets.sh
./Rotate_WS1B_secrets.sh
cat /var/lib/ws1/masterapp-credentials.json
Sample output
root@vcsa01 [ ~ ]# cat /var/lib/ws1/masterapp-credentials.json
{ "clientId": "operator_client_id", "clientSecret":"Bnv########################v4o=", "scopes":"admin system"}
bash recover_ws1b.sh <SSO user> <SSO_Password> <clientSecret from Step # 3(a)>
In case the script fails to resolve the issue, then run it manually with steps below
chmod +x Rotate_WS1B_secrets.sh
./Rotate_WS1B_secrets.sh
cat /var/lib/ws1/masterapp-credentials.json
Sample output:{ "clientId": "operator_client_id", "clientSecret":"Bnv########################v4o=", "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>'