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:

cluster-not-ready

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/vxlan.zip (for ESXi 6.0)
  • https://your_nsx_manager/bin/vdn/vibs/5.5/vxlan.zip (for ESXi 5.5)
  • https://your_nsx_manager/bin/vdn/vibs/5.1/vxlan.zip (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 vxlan.zip file, use the VUM plugin to import the vxlan.zip. It should detect these packages inside:

vum-packages

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.

vum-baseline

ESXCLI
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 vxlan.zip, unzip it and upload the .vib files to a shared datastore or to each ESXi host separately.

vxlan.zip

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


[[email protected]:~] esxcli software vib install --no-sig-check -v /vmfs/volumes/SAS_esxi02_local/ISO/VMware_bootbank_esx-vxlan_6.0.0-0.0.2691050.vib
Installation Result
Message: Operation finished successfully.
Reboot Required: false
VIBs Installed: VMware_bootbank_esx-vxlan_6.0.0-0.0.2691050
VIBs Removed:
VIBs Skipped:

[[email protected]:~] esxcli software vib install --no-sig-check -v /vmfs/volumes/SAS_esxi02_local/ISO/VMware_bootbank_esx-vsip_6.0.0-0.0.2691050.vib
Installation Result
Message: Operation finished successfully.
Reboot Required: false
VIBs Installed: VMware_bootbank_esx-vsip_6.0.0-0.0.2691050
VIBs Removed:
VIBs Skipped:

[[email protected]:~] esxcli software vib install --no-sig-check -v /vmfs/volumes/SAS_esxi02_local/ISO/VMware_bootbank_esx-dvfilter-switch-security_6.0.0-0.0.2691050.vib
Installation Result
Message: Operation finished successfully.
Reboot Required: false
VIBs Installed: VMware_bootbank_esx-dvfilter-switch-security_6.0.0-0.0.2691050
VIBs Removed:
VIBs Skipped:

After doing this on all ESXi hosts, NSX should automatically detect whether the cluster is compliant. 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:

cluster-ready