Usually when installing VMware NSX, the Update Manager takes care of ESXi host preparation. It takes a few VIB packages from the NSX Manager and pushes those to the ESXi hosts to prepare them for VXLAN, the distributed firewall and the distributed router.

It can happen that this process fail, for one reason or another. For instance, if your Update Manager is on the fritz or if you don’t have an Update Manager (haven’t tested this, but would imagine that that would be an issue). In those cases, whatever you do, you won’t be able to properly prepare your ESXi hosts from the GUI and you’re left with this:

But fret not! You can resolve this in two ways;

  • Make a separate baseline in Update Manager and update the NSX packages manually into VUM.
  • Upload the NSX packages to a datastore and use esxcli to install them.

First, you need the NSX packages. These are located here:

  • https://your_nsx_manager/bin/vdn/vibs/6.0/ (for ESXi 6.0)
  • https://your_nsx_manager/bin/vdn/vibs/5.5/ (for ESXi 5.5)
  • https://your_nsx_manager/bin/vdn/vibs/5.1/ (for ESXi 5.1)

* I imagine that once ESXi 6.1 releases, it’ll have its own URL.

VMware Update Manager
Using VUM might be the easiest way to do this, but it involves a lot of clicking. Once you have the file, use the VUM plugin to import the It should detect these packages inside:

Next create a Host Extension baseline which contain these packages. Add the baseline to the ESXi hosts and remediate, which will start installing the necessary VIBs on the ESXi hosts.

If you have a small environment, don’t have Update Manager or just like the CLI, you can also do the installation via the ESXCLI command, here’s how. After downloading the, unzip it and upload the .vib files to a shared datastore or to each ESXi host separately.

Once the .vib files are uploaded, use the commands to install them. Replace the path to where you’ve stored them.

After doing this on all ESXi hosts, NSX should automatically detect whether the cluster is complaint. If you don’t want to wait around for it to do so, use the “Resolve” option in the preparation overview to force it to check the hosts. In the end you should end up with this:

Share the wealth!