Failed to add standby uplink to edge cluster xxxxxxxx portgroup (unknown)
ERROR [vcf_migration,0000000000000000,0000] [c.v.e.s.c.c.v.vsphere.VcManagerBase,pool-5-thread-14] Entity DistributedVirtualPortgroup:/infra/segments/xxxxxxxx not found:
com.vmware.vim.binding.vmodl.fault.ManagedObjectNotFound: The object 'vim.ManagedEntity:/infra/segments/xxxxxxx' has already been deleted or has not been completely created
ERROR [vcf_migration,0000000000000000,0000] [c.v.v.m.a.AddPortgroupTeamingStandbyUplink,pool-5-thread-14] Unknown portgroup MoId /infra/segments/xxxxxxx
ERROR [vcf_migration,0000000000000000,0000] [c.v.e.s.o.model.error.ErrorFactory,pool-5-thread-14] [SVU14H] ADD_EDGE_TEAMING_STANDBY_UPLINK_UPDATE_FAILED Failed to add standby uplink to edge cluster xxxxxxx portgroup (unknown)
com.vmware.evo.sddc.orchestrator.exceptions.OrchTaskException: Failed to add standby uplink to edge cluster xxxxxxxx portgroup (unknown)
Caused by: java.lang.Exception: Unknown portgroup MoId /infra/segments/xxxxxxxx
This issue is resolved in VCF 5.0 onwards as NSXT Edge drift is removed from SDDC config drift and will no longer run.
Workaround:
Remove the NSXT Edge Cluster from SDDC Inventory and restore after a successful config drift upgrade
Below are the steps to remove and restore the NSXT Edge cluster from SDDC Inventory
psql -h localhost -U postgres -d platform -c "\x" -c "select * from nsxt_edge_cluster"
Sample output
id | 2b43####-####-####-####-########80ce
creation_time | 1701282212235
modification_time | 1701287725435
status | ACTIVE
name | myCluster
nsxt_edge_nodes | [{"vmManagementIpAddress":"10.0.0.51","vmHostname":"nsxt-edge-node-2.example.com","sourceId":"91d0####-####-####-####-########b10e","id":"1a13####-####-####-####-########7483"},{"vmManagementIpAddress":"10.0.0.50","vmHostname":"nsxt-edge-node-1.example.com","sourceId":"1887####-####-####-####-########3ee5","id":"d16b####-####-####-####-########c404"},{"vmManagementIpAddress":"10.0.0.54","vmHostname":"nsxt-edge-node-5.example.com","sourceId":"d8ed####-####-####-####-########0e8f","id":"576b####-####-####-####-########706f"}]
source_id | 458e####-####-####-####-########b120
pg_dump --table=nsxt_edge_cluster_and_nsxt_cluster --data-only --column-inserts platform -U postgres -h localhost > data1.sql
pg_dump --table=nsxt_edge_cluster --data-only --column-inserts platform -U postgres -h localhost > data2.sql
insert into public.nsxt_edge_cluster (id, creation_time, modification_time, status, name, nsxt_edge_nodes, source_id, is_tier0managed_by_system, skip_tep_routability_check) values ('2b43####-####-####-####-########80ce',1701282212235,1701287725435,'ACTIVE','myCluster', '[{"vmManagementIpAddress":"10.0.0.51","vmHostname":"nsxt-edge-node-2.example.com","sourceId":"91d0####-####-####-####-########b10e","id":"1a13####-####-####-####-########7483"},{"vmManagementIpAddress":"10.0.0.54","vmHostname":"nsxt-edge-node-5.example.com","sourceId":"d8ed####-####-####-####-########0e8f","id":"576b####-####-####-####-########706f"}]', '458e####-####-####-####-########b120',t,f);
insert into public.nsxt_edge_cluster_and_nsxt_cluster (nsxt_edge_cluster_id, nsxt_cluster_id) values (2b43####-####-####-####-########80ce, 3585####-####-####-####-########99a2);
psql -h localhost -U postgres -d platform -c "delete from nsxt_edge_cluster where id='<nsxt_edge_cluster id gathered in step # 3>"
psql -h localhost -U postgres -d platform -c "delete from nsxt_edge_cluster_and_nsxt_cluster where nsxt_edge_cluster_id=<nsxt_edge_cluster id gathered in step # 3>"
psql -h localhost -U postgres -d platform -c "<INSERT string gathered from data1.sql in Step#5>"
psql -h localhost -U postgres -d platform -c "<INSERT string gathered from data2.sql in Step#5>"