title: VMware Provisioning Module Information

VMware Provisioning Module

  • Source file: managementnode/lib/VCL/Module/Provisioning/VMware/VMware.pm

Supported VMware Products

  • VMware Server 2.0
  • VMware ESX/ESXi 3.5
  • VMware ESX/ESXi 4.0

Supported VMware APIs, SDKs, & CLIs

There are several different methods to control VMware hosts and virtual machines.  The main VMware.pm module should remain as SDK/API/CLI-agnostic as possible.  All code which interacts with a VMware remote control method should reside in utility modules located in the lib/VCL/Module/Provisioning/VMware directory.

  • vSphere SDK - lib/VCL/Module/Provisioning/VMware/vSphere_SDK.pm ** Provides full VM and VM host remote access functionality ** Provides VM host datastore file access ** Can only be used if the VMware host is not running with a restricted license ** SSH access is not required to the VM host ** Installed by default on ESX/ESXi hosts ** Can be installed on Server 2.0 hosts
  • -VIX API - lib/VCL/Module/Provisioning/VMware/VIX_API.pm- Although a utility module has been written to use the VIX API, it is not supported and will not be maintained.  Everything that the VIX API can do can be done by the vim-cmd CLI and SSH access to the VM host is required for both methods.  Therefore, there is no benefit to maintain the VIX API module. ** -Provides basic VM control functions- ** -Does not provide any file access- ** -SSH access is required to the VM host in order to manipulate the file system- ** -Can only be used if the VMware host is not running with a restricted license- ** -Installed by default on Server 2.0 hosts-
  • vim-cmd CLI via SSH - lib/VCL/Module/Provisioning/VMware/VIM_SSH.pm ** Provides full VM host remote access functionality ** Does not provide file access ** SSH access is required to the VM host in order to manipulate the file system ** Can be used if the the VMware host is running with a restricted license

Required Utility Module Subroutines

  • get_registered_vms
  • vm_register
  • vm_unregister
  • get_vm_power_state
  • vm_power_on
  • vm_power_off
  • copy_virtual_disk
  • move_virtual_disk
  • get_virtual_disk_controller_type
  • get_virtual_disk_hardware_version
  • get_virtual_disk_type

Required OS Module Subroutines

  • find_files
  • copy_file
  • copy_file_to
  • copy_file_from
  • delete_file
  • move_file
  • file_exists
  • get_available_space
  • create_directory
  • get_file_contents
  • get_file_size