I have been working with Nested ESXi since it original inception and this technology has greatly benefited me and the entire VMware community, especially when it comes to learning about VMware software and being able to easily prototype something before installing it on actual hardware. However, one thing that I felt that has been missing for awhile now is the ability to run an instance of VMware Tools within a Nested ESXi VM. I have personally been asking for this feature for a couple of years and I know many in the VMware community have expressed interests as well.

I am super excited to announce that VMware has just released a new Fling that provides you with a VIB that you can install VMware Tools inside a Nested ESXi host. I originally showed a demo of this at VMworld Barcelona in my vBrownBag Tech Talk and as I mentioned we would be releasing this as a VMware Fling very soon. So here it is!

Requirements:

  • Nested ESXi running 5.0, 5.1 or 5.5 

Installation:

To install the VIB, you simply just need to download it and upload the VIB it to your Nested ESXi datastore and then run the following commands:

esxcli system maintenanceMode set -e true
esxcli software vib install -v /vmfs/volumes/[VMFS-VOLUME-NAME]/esx-tools-for-esxi-9.7.0-0.0.00000.i386.vib -f
esxcli system shutdown reboot -r "Installed VMware Tools"

You can also install the VIB directly from VMware.com if you have direct or proxy internet connectivity from your ESXi host by running the following commands:

esxcli network firewall ruleset set -e true -r httpClient
esxcli software vib install -v http://download3.vmware.com/software/vmw-tools/esxi_tools_for_guests/esx-tools-for-esxi-9.7.0-0.0.00000.i386.vib -f

Once the VIB has been successfully installed, you will need to reboot the host for the changes to take effect. To verify, you can now login to either your vSphere Web/C# Client and you should now see the status for VMware Tools for your Nested ESXi host showing green and the IP Address of the Nested ESXi host should be displayed.

So why would you want to do this? Well, there’s a couple of reasons actually. The first one is pretty basic, which is when I need to reboot or shutdown a Nested ESXi VM, instead of having to jump into the VM console or SSH into ESXi host, I could just right click in the vSphere Web/C# Client and just say shutdown or reboot. I also tend to do all sorts of craziness in my lab (I’m sure this is an understatement for folks that know me) and may often break networking connectivity to my Nested ESXi VM. In vSphere 5.0, we introduced the Guest Operations API (formally known as VIX API) which is now part of the vSphere API. This API is actually quite handy as it allows you to perform guest operations within the VM without needing network connectivity as it relies on the fact that VMware Tools is running (pretty cool stuff!).

Here is a screenshot demonstrating the executing of vmkfstools through the Guest Operations API to one of my Nested ESXi VM:

A couple of things to note:

  • If you install VMware Tools on Nested ESXi VM, you will NOT be able to just right click in the UI and say install/upgrade
  • If you wish to integrate this into you ESXi image, you can take a look at a community tool  called ESXi-Customizer created by Andreas Peetz which I have used in the past and works great. Image Builder does not support raw VIBs, only zip files which may need to contain additional metadata information. If you want to create an offline bundle instead to then use Image Builder to create your custom ISO, Andreas has a new tool you can take a look at here.

Finally, if you have any feedback (likes/dis-likes), thanks, comments please head over to the VMware's Fling page for VMware Tools for Nested ESXi and leave a comment. I am sure the Jim Mattson the engineer who built this Fling would greatly appreciate any feedback you may have.

21 thoughts on “w00t! VMware Tools for Nested ESXi!

  1. After esxi reboot, the vmware tools status is “Running, version:9440 (Not installed).

    I can see the IP addresses into the summary tab.

    I have the same status for all nested esxi.

  2. Hello,

    Thanks for posting the VMware Tool on ESXI fling, very cool stuff!!!

    I am experiencing a similar problem to what some are seeing. The difference that I have noticed is that failure only happens to some of my nested ESXi hosts. An observation (could be a coiencidence), that tools start on my i7-3840QM and E3-1245 processors (Workstation 10 and ESXi 5.1.0 (799733)) just fine and failed to start on E5-2630 (ESXi 5.1.0 (799733)). I also observed that I needed to use the –no-sig-check switch when installing the vib on the nested hosts on the E5-2630 machine.

    Below is a snippet from the /var/log/syslog.log file of vmtoolsd failing to start. Thoughts?

    2013-11-15T16:19:58Z watchdog-vmtoolsd: [35709] Begin ‘/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd’, min-uptime = 60, max-quick-failures = 1, max-total-failures = 5, bg_pid_file = ”
    2013-11-15T16:19:58Z watchdog-vmtoolsd: Executing ‘/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd’
    2013-11-15T16:19:58Z vmsvc[35732]: [ warning] [GLib-GObject] invalid (NULL) pointer instance
    2013-11-15T16:19:58Z vmsvc[35732]: [critical] [GLib-GObject] g_signal_emit_by_name: assertion G_TYPE_CHECK_INSTANCE (instance)' failed
    2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmtoolsd] Tools Version: 9.7.0.00000 (build-00000)
    2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmsvc] Cannot load message catalog for domain 'hgfsServer', language 'C', catalog dir '/etc/vmware-tools'.
    2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmsvc] Cannot load message catalog for domain 'vix', language 'C', catalog dir '/etc/vmware-tools'.
    2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmsvc] Cannot load message catalog for domain 'powerops', language 'C', catalog dir '/etc/vmware-tools'.
    2013-11-15T16:19:58Z vmsvc[35732]: [ message] [vmtoolsd] Shutting down 'vmsvc' service ...
    2013-11-15T16:19:58Z vmsvc[35732]: [ error] [vmsvc] ASSERT bora-vmsoft/lib/rpcChannel/rpcChannel.c:802
    2013-11-15T16:19:58Z watchdog-vmtoolsd: '/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd' exited after 0 seconds (quick failure 1) 134
    2013-11-15T16:19:58Z watchdog-vmtoolsd: Executing '/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd'
    2013-11-15T16:19:58Z vmsvc[35758]: [ warning] [GLib-GObject] invalid (NULL) pointer instance
    2013-11-15T16:19:58Z vmsvc[35758]: [critical] [GLib-GObject] g_signal_emit_by_name: assertion
    G_TYPE_CHECK_INSTANCE (instance)’ failed
    2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmtoolsd] Tools Version: 9.7.0.00000 (build-00000)
    2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmsvc] Cannot load message catalog for domain ‘hgfsServer’, language ‘C’, catalog dir ‘/etc/vmware-tools’.
    2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmsvc] Cannot load message catalog for domain ‘vix’, language ‘C’, catalog dir ‘/etc/vmware-tools’.
    2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmsvc] Cannot load message catalog for domain ‘powerops’, language ‘C’, catalog dir ‘/etc/vmware-tools’.
    2013-11-15T16:19:58Z vmsvc[35758]: [ message] [vmtoolsd] Shutting down ‘vmsvc’ service …
    2013-11-15T16:19:58Z vmsvc[35758]: [ error] [vmsvc] ASSERT bora-vmsoft/lib/rpcChannel/rpcChannel.c:802
    2013-11-15T16:19:58Z watchdog-vmtoolsd: ‘/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd’ exited after 0 seconds (quick failure 2) 134
    2013-11-15T16:19:58Z watchdog-vmtoolsd: End ‘/usr/sbin/vmtoolsd ++group=host/vim/vimuser/vmtoolsd’, failure limit reached

  3. It sounds like your non-working instance(s) may be picking up the following option:

    monitor_control.restrict_backdoor = TRUE

    This option defeats VMware Tools (for any guest type).

Thanks for the comment!