VCF Ops > WLD Domain > Actions > Sync Inventory fails during the "Fetch TNPs for successfully configured clusters" operation with the below error:No transport zone found for given path: /infra/sites/default/enforcement-points/default/transport-zones/<transport_zone_uuid>/var/log/vmware/vcf/domainmanager/domainmanager.log on the SDDC Manager shows "No transport zone found for given path" error similar to below for one or more <transport_zone_uuid> :YYYY-MM-DDThh:mm:ss DEBUG [vcf_dm,<dm_task_id>,<dm_subtask_id>] [c.v.e.s.o.c.ProcessingTaskSubscriber,dm-exec-1217] Invoking task FetchTransportNodeProfilesAction., Plugin: NsxtPlugin...YYYY-MM-DDThh:mm:ss DEBUG [vcf_dm,<dm_task_id>,<dm_subtask_id>] [c.v.v.c.n.s.c.c.ApiConnection,dm-exec-1217] Creating ApiClient to https://<NSX_MGR_FQDN>:443 with username svc-<NSX_svc_account>...YYYY-MM-DDThh:mm:ss ERROR [vcf_dm,<dm_task_id>,<dm_subtask_id>] [c.v.v.c.f.p.n.a.FetchTransportNodeProfilesAction,dm-exec-1217] Error fetching transport node profilesjava.util.NoSuchElementException: No transport zone found for given path /infra/sites/default/enforcement-points/default/transport-zones/<transport_zone_uuid> at com.vmware.vcf.common.nsxt.sdk.client.connection.VcfNsxModelTranslationEnhancer.loadIdsForPolicyBasedStandardHostSwitch(VcfNsxModelTranslationEnhancer.java:250) ... at com.vmware.vcf.common.fsm.plugins.nsxt.action.FetchTransportNodeProfilesAction.execute(FetchTransportNodeProfilesAction.java:92)...YYYY-MM-DDThh:mm:ss ERROR [vcf_dm,<dm_task_id>,<dm_subtask_id>] [c.v.e.s.o.model.error.ErrorFactory,dm-exec-1217] [<TOKEN>] NSX_TNC_CONFIG_ERROR_GENERIC Error in configuring transport node collectionscom.vmware.evo.sddc.orchestrator.exceptions.OrchTaskException: Error in configuring transport node collections at com.vmware.vcf.common.fsm.plugins.nsxt.action.FetchTransportNodeProfilesAction.execute(FetchTransportNodeProfilesAction.java:100) at com.vmware.vcf.common.fsm.plugins.nsxt.action.FetchTransportNodeProfilesAction.execute(FetchTransportNodeProfilesAction.java:34)...Caused by: java.util.NoSuchElementException: No transport zone found for given path /infra/sites/default/enforcement-points/default/transport-zones/<transport_zone_uuid> at com.vmware.vcf.common.nsxt.sdk.client.connection.VcfNsxModelTranslationEnhancer.loadIdsForPolicyBasedStandardHostSwitch(VcfNsxModelTranslationEnhancer.java:250) ... at com.vmware.vcf.common.fsm.plugins.nsxt.action.FetchTransportNodeProfilesAction.execute(FetchTransportNodeProfilesAction.java:92)/var/log/vmware/vcf/operationsmanager/operationsmanager.log shows "NoSuchElementException" when attempting to query the concerned Transport zone similar to below:YYYY-MM-DDThh:mm:ss INFO [vcf_om,<om_task_id>,<om_subtask_id>] [c.v.v.c.n.s.c.c.NsxtManagerTransportNodeOperationsPolicyHandler,pool-2-thread-9] nsx-policy-transportnode: Returning the stream of transport nodes using the policy API....YYYY-MM-DDThh:mm:ss ERROR [vcf_om,<om_task_id>,<om_subtask_id>] [c.v.v.b.p.e.b.AbstractEntityBuilder,pool-2-thread-9] Entity builder failed with exception java.util.NoSuchElementException: No transport zone found for given path /infra/sites/default/enforcement-points/default/transport-zones/<transport_zone_uuid><transport_zone_uuid> via LIST Transport zone API from the SDDC or NSX Manager confirms the affected Transport zone details are missing:curl -sk -u 'svc-<NSX_svc_account>' 'https://<NSX_MGR_FQDN>/policy/api/v1/infra/sites/default/enforcement-points/default/transport-zones?page_size=1000' > /tmp/tz-list.json && jq '{result_count, returned: (.results|length)}' /tmp/tz-list.json && jq -r '.results[].id' /tmp/tz-list.json | sort > /tmp/tz-ids.txt && grep -E '<transport_zone_uuid>' /tmp/tz-ids.txt || echo 'ABSENT FROM LIST'vcf@<SDDC> [ ~]$ curl -1 -k -u 'svc-<NSX_svc_account>' -H 'Content-Type:application/json' -X GET https://<NSX_MGR_FQDN>/policy/api/v1/infra/sites/default/enforcement-points/default/transport-zones/<transport_zone_uuid>Enter host password for user 'svc-<NSX_svc_account>' : (prompts for NSX Manager password to be typed in){"nsx_id" : "####-####","tz_type" : "<VLAN/OVERLAY>",...."resource_type" : "PolicyTransportZone","id" : "<transport_zone_uuid>","display_name" : "<transport_zone_name>","description" : "<description>","path" : "/infra/sites/default/enforcement-points/default/transport-zonps/<transport_zone_uuid>","relative_path" : "<transport_zone_uuid>","parent_path" : "/infra/sites/default/enforcement-points/default","remote_path" :"unique id" : "<transport_zone_uuid>","realization_id" : "<transport_zone_uuid>",...vcf@<SDDC> [ ~]$
VCF 9.1
NSX 9.1
The synchronization failure results from an inconsistency in the NSX Policy representations of the transport zone. The transport zone is visible in the NSX Manager configuration but is unavailable in the NSX Policy configuration accessed by SDDC Manager during Sync Inventory operation
This is a known issue identified by Broadcom Engineering and will be fixed in an upcoming NSX release.
To workaround the issue, follow the below steps:
Obtain the fix_missing_parent_path.py script from the attachments section of this article
Copy the script to the target NSX Manager node (Local Manager in case NSX is Federated) using SCP:scp fix_missing_parent_path.py root@<NSX_MGR>:/tmp/
Enable SSH on NSX Manager and establish an SSH session to the NSX Manager node used in previous step using the root account.
Execute a dry run of the script to identify broken records without making database changes:python3 /tmp/fix_missing_parent_path.py
Review the printed list of broken records and computed parent paths.
Apply the database fix: python3 /tmp/fix_missing_parent_path.py --apply
Optional: To perform the fix to specific Transport Zone IDs, use the below command: python3 /tmp/fix_missing_parent_path.py --apply-ids <transport_zone_uuid>
Sample Output:
root@<NSX_MGR># python3 /tmp/fix_missing_parent_path.py --applyRead #### records from nsx$PolicyTransportZone
Found <no_of_missing_path> record(s) missing parent_path: - /infra/sites/default/enforcement-points/default/transport-zones/<transport_zone_uuid> displayName : system-owned-vlan-transport-zone-for-rtep parent_path to set : /infra/sites/default/enforcement-points/default ...
Applying fixes... OK /infra/sites/default/enforcement-points/default/transport-zones/<transport_zone_uuid> -> parent_path=/infra/sites/default/enforcement-points/default ...
Done. ####/#### record(s) fixed.
Sync Inventory in the VCF Ops UI to verify the resolution.