SDDC momager DVPG Configuration Drift installation fails with "VM Migration failed".
SDDC manager UI reports the below error message:
Message: VM Migration failed
Remediation Message:
Reference Token: RUETVM
Cause: Cannot invoke "String.equalsIgnoreCase(String)" because the return value of "com.vmware.nsx.model.TransportNodeStatus.getMgmtConnectionStatus()" is null
domainmanager.log reports below error message:
2024-09-18T14:37:48.655-0400 ERROR [vcf_dm,b01d2fbc23ab9e49,dddc] [c.v.v.c.n.s.c.c.ComplexHelpers,dm-exec-6] Exception occurred during NSX API invocation
java.util.concurrent.ExecutionException: com.vmware.vapi.std.errors.InvalidRequest: InvalidRequest (com.vmware.vapi.std.errors.invalid_request) => {
messages = [],
data = struct => {error_message=Required request body is missing, httpStatus=BAD_REQUEST, error_code=220, module_name=common-services},
errorType = INVALID_REQUEST
VMware Cloud Foundation 5.x
This issue is caused by one of the Edge transport nodes returning a null value.
1. Take a snapshot of SDDC manager vm.
2. SSH to sddc manager with vcf user and then switch to root.
3. Connect to SDDC manager's platform database.
/usr/pgsql/13/bin/psql -h localhost -U postgres -d platform
Enable extended mode by running:
\x
4. List the NSX edge clusters.
select * from nsxt_edge_cluster;
For one of the Edge nodes the sourceId would be blank/null.
Example shown below:
nsxt_edge_nodes='[{"vmManagementIpAddress":"EDGE IP ADDRESS","vmHostname":"edge01.example.com","sourceId":"","id":"xxxxxx-eebf-xxxx-xxxx-f1f7ec6857e6"}
5. Connect to the NSX manager GUI.
System-->Nodes-->Edge Transport Nodes
6. Select the Edge node for which for the sourceId is blank.
7. Copy the Edge node ID from here.
9. Update the missing sourceId in the sddc manager's nsxt_edge_cluster table:
Example:
update nsxt_edge_cluster SET nsxt_edge_nodes='[{"vmManagementIpAddress":"IP address","vmHostname":"edge01.example.com","sourceId":"edge node ID from the NSX UI","id":"f13955b4-eebf-44cb-8466-f1f7ec6857e6"},{"vmManagementIpAddress":"IP address","vmHostname":"edge02.example.com","sourceId":"xxxxxx-xxxx-xxxx-xxxx-5ea16864ee7d","id":"xxxxxx-xxx-xxxx-xxxx-5d7e0a2e8d5e"}]' where name='edgeclustername';
10. Exit the database.
11. Re-try the configuration drift bundle.