From a large software vendor:
VMWare support: <vendor> applications running on VMware are supported as long as the OS running in the virtual machine is certified by <vendor> (see <vendor> Platform Availability Matrix).
However, if <vendor> is unable to reproduce an issue the customer may be asked to reproduce the problem running natively on the certified OS, without the use of VMware. <vendor> does not explicitly test or certify products running in a VMware environment.
That’s not good.
We’ve run into this a handful of times. In this case, I’m not sure how to interpret the nuanced difference between support and certification, but it’s pretty clear that <vendor> wants to leave open the option of blaming the vm in cases where they can’t figure out what’s broke. It’s the old ‘I have no clue what’s happening, so I’ll blame the network/firewall’ problem. In theory, one would have to maintain a non-vm'd test environment to use in the event that the vendor blames your vm'd environment for their problems.
We’ve also run into an application from a major network vendor that ran fine in a vm until we applied a minor patch (something like from version 3.4.1 to 3.4.2). After the patch, the app quit working. The vendor told us ‘no vm’s’. We ended up installing a dedicated server.
Somewhere along the line software vendors are going to have to provide the same level of support for virtualized environments as they do for non-virtualized environments.
This virtualization stuff is mainstream, isn’t it?