NSX Edge Deployment Fails with “Use Distinct IP Address” Error Despite IP Not Being In Use
search cancel

NSX Edge Deployment Fails with “Use Distinct IP Address” Error Despite IP Not Being In Use

book

Article ID: 392119

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • When attempting to deploy a new NSX Edge Transport Node, the deployment fails even though the chosen IP address is not assigned to any existing Edge node.
  • The following error is displayed on the NSX Manager:
/var/log/proton/nsxapi.log

Edge nodes EdgeTransportNode//infra/sites/default/enforcement-points/default/edge-transport-node/<uuid> uses IP address ##.##.##.##. Use a distinct IP address for each edge node

Environment

  • VMware NSX-T Data Center
  • VMware NSX

Cause

During previous Edge deployment attempts, NSX may retain stale metadata of a failed or partially-provisioned Edge Transport Node.
This leftover configuration can still contain the IP address used during the failed deployment, causing NSX Manager to believe that the IP address is already assigned — even though no active Edge node is using it.

Resolution

  • Option 1: Deploy with a Different Unused IP Address

    If possible, deploy the NSX Edge Transport Node using an alternative, unused management IP address.

  • Option 2: If you want to deploy to the IP address where the error occurred, run the following workaround before deploying.

1. Log in to the NSX Manager CLI as a root user.

2. Execute the following API using root user to output the NSX Edge settings described in the error message to a JSON file.

curl -k -u admin -X GET 'https://localhost/api/v1/transport-nodes/<NSX_Edge_UUID>' > deployment_data.json 

3. Update node_deployment_info.management_port_subnets.ip_addresses field with intended IP

Example)
  "node_deployment_info": {
    "_revision": 1,
...
        "host_id": "host-##",
        "management_network_id": "dvportgroup-##",
        "management_port_subnets": [
          {
            "ip_addresses": [
              "##.##.##.##" <------------
            ],
            "prefix_length": ##
          }
        ],

4.  Specify the edited file and execute the PUT request.

curl -k -u admin -H "Content-Type: application/json" -X PUT 'https://localhost/api/v1/transport-nodes/<NSX_Edge_UUID>' -d @deployment_data.json