vmware_vmotion – Move a virtual machine using vMotion, and/or its vmdks using storage vMotion¶
Synopsis¶
- Using VMware vCenter, move a virtual machine using vMotion to a different host, and/or its vmdks to another datastore using storage vMotion.
Requirements¶
The below requirements are needed on the host that executes this module.
- python >= 2.6
- pyVmomi
Parameters¶
Parameter | Choices/Defaults | Comments |
---|---|---|
destination_datastore
string
added in 2.7 |
Name of the destination datastore the virtual machine's vmdk should be moved on.
aliases: datastore |
|
destination_host
string
|
Name of the destination host the virtual machine should be running on.
Version 2.6 onwards, this parameter is not a required parameter, unlike the previous versions.
aliases: destination |
|
hostname
string
|
The hostname or IP address of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_HOST will be used instead.Environment variable support added in Ansible 2.6.
|
|
moid
string
added in 2.9 |
Managed Object ID of the instance to manage if known, this is a unique identifier only within a single vCenter instance.
This is required if
vm_name or vm_uuid is not supplied. |
|
password
string
|
The password of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PASSWORD will be used instead.Environment variable support added in Ansible 2.6.
aliases: pass, pwd |
|
port
integer
added in 2.5 |
Default: 443
|
The port number of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_PORT will be used instead.Environment variable support added in Ansible 2.6.
|
proxy_host
string
added in 2.9 |
Address of a proxy that will receive all HTTPS requests and relay them.
The format is a hostname or a IP.
If the value is not specified in the task, the value of environment variable
VMWARE_PROXY_HOST will be used instead.This feature depends on a version of pyvmomi greater than v6.7.1.2018.12
|
|
proxy_port
integer
added in 2.9 |
Port of the HTTP proxy that will receive all HTTPS requests and relay them.
If the value is not specified in the task, the value of environment variable
VMWARE_PROXY_PORT will be used instead. |
|
use_instance_uuid
boolean
added in 2.8 |
|
Whether to use the VMware instance UUID rather than the BIOS UUID.
|
username
string
|
The username of the vSphere vCenter or ESXi server.
If the value is not specified in the task, the value of environment variable
VMWARE_USER will be used instead.Environment variable support added in Ansible 2.6.
aliases: admin, user |
|
validate_certs
boolean
|
|
Allows connection when SSL certificates are not valid. Set to
false when certificates are not trusted.If the value is not specified in the task, the value of environment variable
VMWARE_VALIDATE_CERTS will be used instead.Environment variable support added in Ansible 2.6.
If set to
yes , please make sure Python >= 2.7.9 is installed on the given machine. |
vm_name
string
|
Name of the VM to perform a vMotion on.
This is required parameter, if
vm_uuid is not set.Version 2.6 onwards, this parameter is not a required parameter, unlike the previous versions.
aliases: vm |
|
vm_uuid
string
added in 2.7 |
UUID of the virtual machine to perform a vMotion operation on.
This is a required parameter, if
vm_name or moid is not set.aliases: uuid |
Examples¶
- name: Perform vMotion of virtual machine
vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
validate_certs: no
vm_name: 'vm_name_as_per_vcenter'
destination_host: 'destination_host_as_per_vcenter'
delegate_to: localhost
- name: Perform vMotion of virtual machine
vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
validate_certs: no
moid: vm-42
destination_host: 'destination_host_as_per_vcenter'
delegate_to: localhost
- name: Perform storage vMotion of of virtual machine
vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
validate_certs: no
vm_name: 'vm_name_as_per_vcenter'
destination_datastore: 'destination_datastore_as_per_vcenter'
delegate_to: localhost
- name: Perform storage vMotion and host vMotion of virtual machine
vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
validate_certs: no
vm_name: 'vm_name_as_per_vcenter'
destination_host: 'destination_host_as_per_vcenter'
destination_datastore: 'destination_datastore_as_per_vcenter'
delegate_to: localhost
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
running_host
string
|
changed or success |
List the host the virtual machine is registered to
Sample:
host1.example.com
|
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Bede Carroll (@bedecarroll)
- Olivier Boukili (@oboukili)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.