"Registration of node failed with status code 400" error when there is an IP change on the NSX MP-cluster
search cancel

"Registration of node failed with status code 400" error when there is an IP change on the NSX MP-cluster

book

Article ID: 336990

calendar_today

Updated On:

Products

VMware NSX VMware NSX-T Data Center

Issue/Introduction

This article provides information on updating the NSX MP-cluster IP address information in the postgres database of the NSX Intelligence appliance.

Symptoms:
Currently, the IP (and only one IP) of the node of the NSX MP-cluster that deploys NSX Intelligence gets saved in the postgres database of the NSX Intelligence appliance. If that particular node IP of the NSX MP-cluster gets changed, or if that particular node goes down or power off, you experience these symptoms:

  • The certificate change fails.
  • The NSX Intelligence node upgrade fails.
  • You see the error similar to:

    Registration of node failed with status code 400



Environment

VMware NSX-T Data Center
VMware NSX-T Data Center 2.5.x

Cause

This issue occurs because the NSX Intelligence appliance is unable to do a handshake with the NSX MP-cluster because the IP address is no longer available.

Resolution

To resolve this issue, follow these additional steps to run an API call to update the NSX MP-cluster's IP info in the postgress database of the NSX Intelligence appliance.

For example:

In the beginning, the NSXi node is registered with the NSX MP Manager1 (IP: 10.xxx.yyy.123, thumbprint: xxxxxx). Now this NSX MPManager1 node is deleted, to upgrade NSX Intelligence node successfully, use this API
to change the registration info to another NSX MP Manager, for example: NSX MP Manager2(IP: 10.xxx.yyy.124)

Call this API to change the end_point_address to NSX MP-cluster Manager2's IP address and thumbprint should be NSX MP-cluster Manager2's thumbprint.

(abcdabcd** is just an example of user password)

curl --location --request PUT 'https://10.xxx.yyy.124/pace/pace/api/v1/operational/endpoints/default' \
--header 'Content-Type: application/json' \
--header 'X-NSX-Username: admin;abcdabcd**' \
--header 'Authorization: Basic YWRtaW46QWRtaW4hMjNBZG1pbg==' \
--data-raw '{"id":"default","end_point_address":"10.xxx.yyy.124","thumbprint":"5010f7d0050f4619fae41389306b216f4b9556bc58cd0293f986d39bb29d05ec"}'

The output should look similar to the following:
It should return the new endpoint information like this:
{
    "_links": [],
    "_revision": 1,
    "_create_user": "admin",
    "_create_time": 1584127754449,
    "_last_modified_user": "admin",
    "_last_modified_time": 1584127754449,
    "_system_owned": false,
    "id": "default",
    "path": "endpoints/default",
    "end_point_address": "10.xxx.yyy.124",
    "protocol": "https",
    "thumbprint": "5010f7d0050f4619fae41389306b216f4b9556bc58cd0293f986d39bb29d05ec"
}

Additional Information

Please note that this KB is only applicable to NSX Intelligence appliances running in the OVA format prior to version 3.2. Since NSX Intelligence 3.2, the NSX Application Platform runs on Kubernetes. Therefore, a Kubernetes cluster must be deployed and available before installing the NSX Application Platform and NSX Intelligence. For more information, please refer to the following documentation.

https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.2/nsx-application-platform/GUID-658D30E1-64B3-40B8-8FD4-ED2AE2A6FF7A.html