I've been doing some testing and as far as I can tell the change in vSphere v5 to integrate VIX functionality into the core API has broken backwards compatibility. Is this intentional and is there any workaround?
I'm using the VIX API via PowerCLI to customise guest OS images post deployment. This has been working a treat on vSphere4 but now I've upgraded some hosts to vSphere5 the situation is more complex;
- If I run PowerCLI v5 on my PC and run the scripts, they'll work so long as the VM has the v5 VMtools installed and the underlying host is also vSphere5. Running against a vSphere4 VM/host fails.
- If I run PowerCLI v4 on my PC and run the scripts they'll work so long as the VM has the v4 VMtools installed and the underlying host is also vSphere4. Running against a vSphere5 VM/host fails.
In both cases the scripts are unchanged.
This gives me a dilemma. If for example I want to copy a file to a bunch of VMs (in my mixed version estate) using the VIX API i'll have to run it twice, from different PCs - once from a PowerCLI v4 machine which will only succeed against the v4 VMs, and once from a PowerCLI v5 machine which will only succeed against the v5 VMs.
Is my understanding correct? Is there any workaround bar the above scenario? Maybe the v5 PowerCLI cmdlets could be written to check the available APIs and revert to v4 behaviour when required?
Regards,
Ed.