You can delete an NSX Controller, if necessary. You can forcefully delete only the last controller in the node.

  • Remember the following points while deleting controllers:
    • Do not attempt to delete the controller VM before deleting it through the vSphere Web Client UI or API. When the UI is not usable, use the DELETE /2.0/vdn/controller/{controllerId} API to delete the controller.
    • After deletion of a node, ensure that the existing cluster stays stable.
    • When deleting all the nodes in a cluster, the last remaining node must be deleted using the Forcefully Delete option. Always verify that the controller VM is deleted successfully. If not, manually power off the VM and delete the controller VM using the UI.
    • If the delete operation fails or if you are unable to delete controller in certain state like a disconnected controller, set the forceRemoval parameter in the API to true. For example, DELETE /2.0/vdn/controller/{controllerId}?forceRemoval=true. After forceful removal, manually power off the VM.
    • Since a multi-node cluster can only sustain one failure, deletion counts as a failure. The deleted node must be redeployed before another failure occurs.
  • For Cross-vCenter NSX environment:
    • Deleting the controller VM or powering it off directly in vCenter Server is not a supported operation. The Status column displays Out of sync status.
    • If a controller deletion succeeds only partially, and an entry is left behind in the NSX Manager database in a Cross-vCenter NSX environment, use the DELETE api/2.0/vdn/controller/external API.
    • If the controller was imported through the NSX Manager API, use the removeExternalControllerReference API with the forceRemoval option.
    • When deleting a controller, NSX requests to delete a controller VM via vCenter Server using the Managed Object ID (MOID) of the VM. If vCenter Server cannot find VM by its MOID, NSX reports failure for the controller delete request and cancels the operation.

      If the Forcefully Delete option is selected, NSX does not cancel the controller delete operation and clears the controller's information. NSX also updates all the hosts to no longer trust the deleted controller. However, if the controller VM is still active and running with a different MOID, it still has the credentials to participate as a member of the controller cluster. Under this scenario, any logical switch or router that is assigned to this controller node does not function properly because the ESXi hosts no longer trust the deleted controller.

To delete the NSX Controller, perform the following procedure:

Procedure

  1. Navigate to NSX Controller.
    • In NSX 6.4.1 and later, navigate to Networking & Security > Installation and Upgrade > Management > NSX Controller Nodes.
    • In NSX 6.4.0, navigate to Networking & Security > Installation and Upgrade > Management.
  2. Select the controller that you want to delete.
  3. Click the Delete (Delete Icon in vSphere Client. or Delete Icon in vSphere Web Client.) icon.
    Note: If you are deleting the last controller in the cluster, you must select the Forcefully Delete option to remove the last controller node. When there are no controllers in the system, the hosts are operating in what is called "headless" mode. New VMs or vMotioned VMs will have networking issues until new controllers are deployed and the synchronization is completed.

    The Forcefully Delete option ignores any failures and clears the data from database. You must verify that any possible failures are taken care of manually. You must confirm that the controller VM is successfully deleted. If not, you must delete it through vCenter Server.

  4. Click Yes. Controller deletion uses the following sequence:
    1. Power off the node.
    2. Check the cluster health.
    3. If the cluster is not healthy, power on the controller, and fail the removal request.
    4. If the cluster is healthy, remove the controller VM, and release the IP address of the node.
    5. Remove the controller VM's identity from the cluster.
      The selected controller is deleted.
  5. Resynchronize the controller state by clicking Actions > Update Controller State.