publish_fqdns Resets to True After Upgrading from NSX 3.Xto NSX 4.x
search cancel

publish_fqdns Resets to True After Upgrading from NSX 3.Xto NSX 4.x

book

Article ID: 449831

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

By default, transport nodes access NSX Manager based on their IP addresses. However, this can also be based on the DNS names of the NSX Manager, providing the ability to change IP addresses for disaster recovery.

After upgrading from NSX-T 3.2 to NSX 4.x, the following symptoms may be observed:

  • Transport nodes (ESXi hosts and NSX Edges) start using Fully Qualified Domain Names (FQDNs) instead of IP addresses to communicate with the NSX Managers.
  • Querying the get controllers command on transport nodes displays IP addresses under the Controller FQDN column.
  • Querying GET https://<nsx-manager>/api/v1/configs/management shows "publish_fqdns": true.
GET https://<nsx-manager>/api/v1/configs/management shows "publish_fqdns": true

Environment

VMware NSX 

Cause

During the database migration phase of the NSX upgrade, the internal ManagementConfigModel database table fails to properly migrate its existing configurations to the newer schema version.

Because the custom configuration is dropped during migration, the system reverts the publish_fqdns parameter back to its default system state.

Resolution

There is no pre-upgrade fix to prevent this behavior. You must manually set FQDN publishing to false via the NSX REST API immediately after the upgrade is complete.

Step-by-Step Workaround

1. Retrieve the Current Management Configuration

You must fetch the current configuration to obtain the active _revision number. Use an API client (like Postman or curl) with NSX Admin credentials.

Request:

 
 
GET https://<nsx-manager-ip-or-vip>/api/v1/configs/management

Response payload snippet:

 
{  "publish_fqdns": true,  "_revision": 12}

Note the integer value of _revision. You will need it for the next step.

2. Update the Configuration

Send a PUT request to the same endpoint. You must include the _revision number gathered in Step 1 and set publish_fqdns to false (or the desired state).

Request:

 
 
PUT https://<nsx-manager-ip-or-vip>/api/v1/configs/management

Body:

 
{  "publish_fqdns": false,  "_revision": 12}

3. Verify on Transport Nodes

Allow a few minutes for the NSX Management plane to push the updated configuration down to the transport nodes.

  1. SSH into an ESXi host or Edge transport node.
  2. Run the command: get controllers
  3. Verify that the Controller FQDN column now accurately displays the IP address names of your NSX Manager nodes.