API response of routing and forwarding information for tier-0 or tier-1 shows only index numbers and not UUID of edge nodes
search cancel

API response of routing and forwarding information for tier-0 or tier-1 shows only index numbers and not UUID of edge nodes

book

Article ID: 385451

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

Change in the API response output is observed between NSX versions 3.0.2 and 3.2.0 (and above) to get tier-0 or tier-1 routing-table and forwarding table from edge nodes 

The API executed is GET /policy/api/v1/infra/tier-0s/<tier-0-id>/forwarding-table or GET /policy/api/v1/infra/tier-0s/<tier-0-id>/routing-table

A part of the output from NSX 3.0.2 where the API response output returns Edge node UUID "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"

{'result_count': 2,
'results': [{'count': 22,
'edge_node': '/infra/sites/default/enforcement-points/default/edge-clusters/Edge-cluster-UUID/edge-nodes/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', << Edge UUID
'route_entries': [{'admin_distance': 3,
'lr_component_id': 'lr-component-uuid',
'lr_component_type': 'VRF_SERVICE_ROUTER_TIER0',
'network': 'X.X.X.0/24',
'next_hop': 'X.X.X.X',
'route_type': 't1c'},
{'admin_distance': 0,
'lr_component_id': 'lr-component-uuid',
'lr_component_type': 'VRF_SERVICE_ROUTER_TIER0',
'network': 'X.X.X.X/31',
'next_hop': '',
'route_type': 't0c'},

But in case of output from NSX 3.2, the edge-nodes are mentioned only with Edge node Index numbers  '0' or '1' in the edge cluster

{'result_count': 12,
'results': [{'count': 6,
'edge_node': '/infra/sites/default/enforcement-points/default/edge-clusters/Edge-cluster-UUID/edge-nodes/1', << Edge node Index number
'route_entries': [{'admin_distance': 200,
'lr_component_id': 'lr-component-uuid',
'lr_component_type': 'CCP_ROUTER_TYPE_VRF_SERVICE_ROUTER_TIER0',
'network': 'X.X.X.X/32',
'next_hop': 'X.X.X.X',
'route_type': 'b'},
{'admin_distance': 200,
{'count': 6,
'edge_node': '/infra/sites/default/enforcement-points/default/edge-clusters/Edge-cluster-UUID/edge-nodes/0', << Edge node Index number
'route_entries': [{'admin_distance': 200,
'lr_component_id': 'lr-component-uuid',
'lr_component_type': 'CCP_ROUTER_TYPE_VRF_SERVICE_ROUTER_TIER0',
'network': 'X.X.X.X/32',
'next_hop': 'X.X.X.X',
'route_type': 'b'},
{'admin_distance': 200,

 

Environment

3.0.2 and 3.2.0 & above 

Cause

The reason for the change in API response output is expected as the edge cluster API was updated in NSX 3.2.0 to reflect member index of the edge node.

 

Resolution

Since the API output for routing and forwarding table returns only member-index numbers, to get the mapping between Edge node UUID and member-index execute below API 

GET /infra/sites/default/enforcement-points/default/edge-clusters/<Edge-cluster-UUID>/edge-nodes/<Edge-node-UUID>  

{  
"resource_type": "PolicyEdgeNode",  
"id": "en",  
"display_name": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec/edge-nodes/en",  
"path": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec/edge-nodes/en",  
"parent_path": "/infra/sites/default/enforcement-points/nsxt-ep/edge-clusters/ec",  
"relative_path": "en",  
"nsx_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", <-------- ID
"member_index": 0, <-------- member index
"_create_user": "admin",  
"_create_time": 1517262573524,  
"_last_modified_user": "admin",  
"_last_modified_time": 1517262753660,  
"_system_owned": false,  
"_protection": "NOT_PROTECTED",  
"_revision": 0  
}

Additional Information

Member index of edge node is a system generated number and will remain in sequence to the edge nodes in the cluster

Refer : Policy > Infra > Enforcement Points in NSX 3.2.1 API Doc