Tag Archives: Fling

VMware Labs: Top 5 Flings

For those that are not aware, VMware has had their Lab Flings going for a number of years now and on the back of the latest release (ESXi Embedded Host Client) I spent some time looking through all the flings and I thought it be useful to produce a list of my Top 5 Flings. The list below represents the Flings i’ve found most useful since I was first introduced to them…they reflect my love of NestedESXi and operations around vCloud…however there are a lot more that others will find useful.

Before the list…What are VMware Flings?

Our engineers work on tons of pet projects in their spare time, and are always looking to get feedback on their projects (or “flings”). Why flings? A fling is a short-term thing, not a serious relationship but a fun one. Likewise, the tools that are offered here are intended to be played with and explored. None of them are guaranteed to become part of any future product offering and there is no support for them. They are, however, totally free for you to download and play around with them!

There are 57 Flings available for download at the time of writing this post and they range across most of VMware’s Product stack…most of them have been created out of some requirement or function that was/is lacking in the current toolset for their respective products. Most of them solve usability issues or look to resolve performance bottlenecks and look to optimize product experience…some of them end up being productised themselves.

Fling Number 5 – Storage Profile Updater

This Fling is a simple tool that enables the migration of vCloud Director virtual machines and templates from the default any storage profile to a specific storage profile. The tool can be run from the command-line with the help of a configuration file, and it allows you to change storage profiles in a batch style of processing.

For those that upgraded vCloud Director from 1.5 to 5.x you would know about the Any profile issue…this fling allows you to migrate all VMs from that default storage policy to any new one you might have configured in your Provider vDC.

Fling Number 4 – vCMA

VMware vCenter Mobile Access (vCMA) is a fully configured and ready to run virtual appliance that is required to manage your datacenter from mobile devices such as smartphones and tablets (iPad). Using either a mobile browser or the native iPad application, administrators can now perform various troubleshooting and remediation activities in their VMware environments from anywhere in the world.

Back before the Web Client was introduced in vSphere 5.0 this was one of the best ways to access your vCenter Hosts and VMs to perform actions remotely from you mobile phone or device. It is was an easy install and did the job…this evolved into the current vSphere Mobile Watchlist.

Fling Number 3 – PowerCLI Extensions

VMware PowerCLI is one of the most successful command line tools for managing your VMware products. With the many existing cmdlets designed for the system administrator or vSphere Admin, PowerCLI is the easiest and most powerful tool for managing your environment.

PowerCLI Extensions gives PowerCLI users access to early access functionality by extending the core PowerCLI cmdlets to include new experimental features and gives PowerCLI customers the ability to provide early feedback.

For anyone using PowerCLI to manage and automate their vSphere environments the PowerCLI Extensions have been a valuable tool to have at your disposal. Over the last couple of weeks the Fling has become even cooler by allowing access to the VMFork Instant Clone Technology APIs which up to this point have been hidden from general consumption in vSphere/ESXi 6.0

Fling Number 2 – VMware Tools for Nested ESXi

This VIB package provides a VMware Tools service (vmtoolsd) for running inside a nested ESXi virtual machine. The following capabilities are exposed through VMware Tools:

Provides guest OS information of the nested ESXi Hypervisor (eg. IP address, configured hostname, etc.).
Allows the nested ESXi VM to be cleanly shut down or restarted when performing power operations with the vSphere Web/C# Client or vSphere APIs.
Executes scripts that help automate ESXi guest OS operations when the guest’s power state changes.
Supports the Guest Operations API (formally known as the VIX API).

The release of this Fling was met with a lot of thankyou’s from those who had battled with NestedESXi Hosts not having VMTools available. If anything, the ability to cleanly shutdown or restart the ESXi Guest was welcomed. With the release of ESXi 6.0 the Tools are included in the OS by default…but for those running 5.x Nested Hosts its a must have.

Fling Number 1 – ESXi Mac Learning dvFilter

MAC learning functionality solves performance problems for use cases like nested ESX.  This ESX extension adds functionality to ESX to support MAC-learning on vswitch ports. For most ESX use cases, MAC learning is not required as ESX knows exactly which MAC address will be used by a VM. However, for applications like running nested ESX, i.e. ESX as a guest-VM on ESX, the situation is different. As an ESX VM may emit packets for a multitude of different MAC addresses, it currently requires the vswitch port to be put in “promiscuous mode”. That however will lead to too many packets delivered into the ESX VM, as it leads to all packets on the vswitch being seen by all ESX VMs. When running several ESX VMs, this can lead to very significant CPU overhead and noticeable degradation in network throughput. Combining MAC learning with “promiscuous mode” solves this problem.

This Fling is close to my heart as I learnt at VMworld 2014 that it was born out of a blog post I did on Promiscuous Mode that triggered William Lam to approach Christian Dickmann with the issues and look for a way to solve the issue. As you can see from my followup post it works as designed and is the single must have Fling for those who run Nested ESXi labs.

For a full list of the Flings available for download, head to this link



VMware Fling: ESXi MAC Learning dvFilter for Nested ESXi

Late last year I was load testing against a new storage platform using both physical and nested ESXi hosts…at the time I noticed decreased network throughput while using Load Test VMs hosted on the nested hosts. I wrote this post and reached out to William Lam who responded with an explanation as to what was happening and why promiscuous mode was required for nested ESXi installs.


Forward to VMworld 2014 and in a discussion I had with William at The W Bar (where lots of great discussions are had) after the Official Party he mentioned that a new Fling was about to be released that addresses the issues with nested ESXi hosts and promiscuous mode enabled on the Virtual Switches. As William explains in his new blog post he took the problem to VMware Engineering who where having similar issues in their R&D Labs and have come up with a workaround…this workaround is now an official Fling! Apart from feeling a little bit chuffed that I sparked interest in this problem which has resulted in a fix, I decided to put it to the test in my lab.

I ran the same tests that I ran last year. Running one load test on a 5.5 ESXi host nested on a physical 5.5 Host I saw equal network utilization across all 6 nested hosts.

The Load VM was only able to push 15-17MBps on a random read test. As William saw in his post ESXTOP shows you more about whats happening

About even network throughput across all NICs on all Hosts that are set for Promiscuous Mode…Overall throughput is reduced

After installing the VIB on the Physical host, you have to add the Advanced Virtual Machine settings to each Nested Host to enable the MAC Learning. Unless you do this via an API call you will need to shutdown the VM to edit the VMX/Config. I worked through a set of PowerCLI commands shown below to bulk add the Advanced Setting to running Nested Hosts. Below works for any VM matching ESX in a resource pool and has two NICs.

Checking back in on ESXTOP it looks to have an instant effect and only the Nested Host generating the traffic shows significant network throughput…the other hosts are doing nothing and I am now seeing about 85-90MBps against the load test.

Taking a look at Network Throughput graphs (below) you can see an example of two Nested Hosts in the group with the same throughput until the dvFilter was installed at which point traffic dropped on the host not running the load test. Throughput increased almost five fold on the host running the test.

The effect on Nested Host CPU utilization is also dramatic. Only the host generating the load has significant CPU usage while the other hosts return to normal operations…meaning overall the physical host CPUs are not working as hard.

As William mentions in his post this is a no brainer install for anyone using nested ESXi hosts for lab work…thinking about further implications of this fix I am thinking about the possibility of being able to support full nested environments within Virtual Data Centers without the fear of increased host CPU and decreased network throughput…for this to happen though VMware would need to change their stance on supportability of Nested ESXi environments…but this Fling, together with the VMTools Fling certainly makes nested hosts all that more viable.