The controllers in your environment are upgraded at the cluster level. If an upgrade is available for a controller node, an upgrade link appears in the NSX Manager.
Before you begin
Ensure that all of the controllers are in the normal state. Upgrading is not possible when one or more of the controllers are in the disconnected state. To reconnect a disconnected controller, try resetting the controller virtual appliance. In the Hosts and Clusters view, right-click the controller and select Power > Reset.
A valid NSX Controller cluster contains three controller nodes. Log in to the three controller nodes and run the show controller-cluster status command.
controller-node# show control-cluster status Type Status Since -------------------------------------------------------------------------------- Join status: Join complete 05/04 02:36:03 Majority status: Connected to cluster majority 05/19 23:57:23 Restart status: This controller can be safely restarted 05/19 23:57:12 Cluster ID: ff3ebaeb-de68-4455-a3ca-4824e31863a8 Node UUID: ff3ebaeb-de68-4455-a3ca-4824e31863a8 Role Configured status Active status -------------------------------------------------------------------------------- api_provider enabled activated persistence_server enabled activated switch_manager enabled activated logical_manager enabled activated directory_server enabled activated
For Join status, verify the controller node is reporting Join Complete.
For Majority status, verify the controller is connected to the cluster majority.
For Cluster ID, all the controller nodes in a cluster should have the same cluster ID.
For Configured status and Active status, verify that the all the controller roles are enabled and activated.
Make sure that you understand the operational impact of the NSX Controller upgrade while the upgrade is in progress. See Operational Impacts of NSX Upgrades.
About this task
It is recommended that you upgrade the controllers during a maintenance window.
The NSX Controller upgrade causes an upgrade file to be downloaded to each controller node. The controllers are upgraded one at a time. While an upgrade is in progress, the Upgrade Available link is not clickable, and API calls to upgrade the controller cluster are blocked until the upgrade is complete.
If you deploy new controllers before the existing controllers are upgraded, they are deployed as the old version. Controller nodes must be the same version to join a cluster.
The controllers in your environment are upgraded and rebooted one at a time. After you initiate the upgrade, the system downloads the upgrade file, upgrades each controller, reboots each controller, and updates the upgrade status of each controller. The following fields display controller status:
The Controller Cluster Status column in the NSX Manager section displays the upgrade status of the cluster. When the upgrade begins, the status says Downloading upgrade file. When the upgrade file has been downloaded on all controllers in the cluster, the status changes to In progress. After all the controllers in the cluster have been upgraded, the status displayed is Complete, and then this column is no longer displayed.
The Status column in the NSX Controller nodes section displays the status of each controller, which is Connected or Normal before the upgrade, depending on the original NSX version. When the controller services are shut down and the controller is rebooted, the status changes to Disconnected. After the upgrade for that controller is complete, the status is Connected.
The Upgrade Status column in the NSX Controller nodes section displays the upgrade status for each controller. The status displays Downloading upgrade file to begin with, then displays Upgrade in progress, and then Rebooting. After the controller is upgraded, the status displays Upgraded.
When the upgrade is complete, the Software Version column in the NSX Controller nodes section displays 6.3.buildNumber for each controller. Rerun the show controller-cluster status command to make sure the controllers are able to create a majority. If the NSX Controller cluster majority is not re-formed review controller and NSX Manager logs.
The average upgrade time for each upgrade is 6-8 minutes. If the upgrade does not complete within the timeout period (30 minutes), the Upgrade Status column displays Failed. Click Upgrade Available in the NSX Manager section again to resume the upgrade process from the point where it stopped.
If network issues are preventing a successful upgrade within the 30-minute timeout period, you may need to configure a longer timeout period. Work with VMware Support to diagnose and resolve any underlying issues and, if needed, configure a longer timeout period.
If the controller upgrade fails, check connectivity between the controllers and the NSX Manager.
There is a scenario in which the first controller upgrades successfully, and the second controller does not. Assuming you have three controllers in a cluster, the first controller is successfully upgraded to the new version, and the second controller is being upgraded. If the upgrade of the second controller fails, the second controller might be left in a disconnected state. At the same time, the first and third controllers now have two different versions (one upgraded, one not) and are therefore unable to form a majority. At this point, the upgrade cannot be relaunched. To work around this scenario, create another controller. The newly created controller will be of the older version (matching controller three) and will therefore form a majority with controller three. At this point, you can relaunch the upgrade procedure. See Redeploy an NSX Controller in the NSX Troubleshooting Guide for instructions on creating another controller.
Contact VMware support for help in restoring the controller snapshot. The snapshot is only for controller data of the same version. Snapshots cannot be restored on a newer version. In other words, do not try to apply a snapshot to a successfully upgraded controller.
What to do next
Upgrade the host clusters.