During a cluster upgrade of the NSX Management Plane, the process fails on the final node in the cluster. While the initial nodes in the cluster upgrade successfully, the upgrade stops, and the UI reports the following error:
Unexpected error while upgrading upgrade unit: Failed to handover upgrade control to another node. Please ensure that the other nodes are functioning, and retry the upgrade.Diagnostic logs from the upgrade-coordinator contain the following error: SEARCH_FRAMEWORK_INITIALIZATION_IN_PROGRESS:
"details" : "SEARCH_FRAMEWORK_INITIALIZATION_IN_PROGRESS", "httpStatus" : "BAD_REQUEST", "error_code" : 60526, "module_name" : "nsx-search", "error_message" : "Search framework is being initialized."} , error= 400 : "{<EOL> "details" : "SEARCH_FRAMEWORK_INITIALIZATION_IN_PROGRESS",<EOL> "httpStatus" : "BAD_REQUEST",<EOL> "error_code" : 60526,<EOL> "module_name" : "nsx-search",<EOL> "error_message" : "Search framework is being initialized."<EOL>}" . com.vmware.nsx.management.upgrade.rpcframework.UcRestRpcException: org.springframework.web.client.HttpClientErrorException$BadRequest: 400 : "{<EOL> "details" : "SEARCH_FRAMEWORK_INITIALIZATION_IN_PROGRESS",<EOL> "httpStatus" : "BAD_REQUEST",<EOL> "error_code" : 60526,<EOL> "module_name" : "nsx-search",<EOL> "error_message" : "Search framework is being initialized."<EOL>}"
This issue indicates that the nsx-search service is still re-indexing or initializing on the previously upgraded node, causing the Upgrade Coordinator (UC) API requests to time out or return 500 Internal Server Errors, resulting in a cluster desynchronization.
The nsx-search service on the previously upgraded node did not complete its initialization phase before the upgrade sequence initiated for the subsequent node. This prevents the Upgrade Coordinator from querying essential transport node information, leading to a handover failure. A manual retry attempts to trigger an upgrade on an already desynchronized Management Plane, often resulting in further 500 Internal Server Errors due to inconsistent state across the cluster.
Before proceeding, ensure you have a current backup/snapshot of the NSX Manager cluster.
Step 1: Validate Search Service Status
admin.get service searchrestart service searchStep 2: Restart Upgrade Services
restart service install-upgrade
restart service upgrade-coordinatorStep 3: Verify Synchronization
get upgrade progress-statusGET /api/v1/search/statusStep 4: Retry Upgrade Once all services display a "Running" state and the Search status returns "UP," retry the upgrade operation from the NSX UI.
If the cluster remains in a corrupted or desynchronized state: If the steps above fail to resolve the desynchronization, the cluster state may require a clean rebuild:
Workaround
There is no temporary mitigation for this issue. The upgrade cannot proceed until the Management Plane service initialization and synchronization are verified.