We are proud to announce that vCO Team members and VMware labs today released a vCO (4.1) VIX plug-in for the VIX API version 1.10. If you wonder what VIX is here is an extract of the VIX landing page:
"The VIX API allows you to write programs and scripts that automate virtual machine operations, as well as the guests within virtual machines. This API is high-level, easy to use, and practical for both script writers and application programmers. It runs on both Windows and Linux and supports management of VMware Server, Workstation, and Virtual Infrastructure (both ESX and vCenter). Bindings are provided for C, Perl, and COM (Visual Basic, VBscript, C#)"
The plug-in is coming with workflows with the following functionality:
- Check for directory in guest
- Check for file in guest
- Copy file from guest to vCO
- Copy file from vCO to guest
- Create directory in guest
- Create temp file in guest
- Delete directory in guest
- Delete file in guest
- Kill Process in guest
- Get directory content from guest
- List Processesin guest
- Rename file in guest
- Run program in guest
- Run script in guest
Some methods such as CopyFileFromGuestToHost, CopyFileFromHostToGuest, RunProgramInGuest, RunScriptInGuest and powerOnVM support an asynchronous mode generating a trigger on completion. The asynchronous mode supports a timeout option allowing for example to develop a remediation flow in case the called operation is not returning soon enough.
This plug-in is also coming with its source code under the MIT License. This allows developer to understand how it was done and to eventually extend it with new functionality. Since VIX does not provide Java bindings the plug-in is interfaced with the 64-bit VIX DLLs through JNA.
You may wonder what are the practical operations specific to the VIX plug-in. Two of the most important features supported are to be able to copy a script to a VM and to run it. This allows for example to handle post provisioning VM operations such as:
- Apply system settings changes through scripts execution
- Running commands (i.e Partition and format VM additional drives)
- Install applications
- Register the guest OS within an external management application (i.e Patch management, Antivirus)
IT professionals are using several ways to automate these type of operations such as:
- Custom scripts located within a template or on a remote location started during the installation / Sysprep / RunOnce
- Remote execution agent based solutions
- Remote execution tools not requiring agents installation such as PSEXEC or REMCOM
This can work but is not very practical since it requires maintaining scripts or agents within the templates / sysprep, having to handle a lot of presets, permissions and test to make sure script copy and execution works properly in a given environment.
With using VIX the requirements are much less intrusive: Providing vCenter and the VM credential. Then the scripts can be centralized on the vCO server as resource elements or generated on the fly by workflows and applied on VMs as part of a post provisioning process or scheduled maintenance workflows.
Be one of the first one to download, try, rate and comment it on the VMware labs vCO VIX plug-in fling page.