community.vmware.vmware_vmotion (4.2.0) — module

Move a virtual machine using vMotion, and/or its vmdks using storage vMotion.

Authors: Bede Carroll (@bedecarroll), Olivier Boukili (@oboukili)

Install collection

Install with ansible-galaxy collection install community.vmware:==4.2.0


Add to requirements.yml

  collections:
    - name: community.vmware
      version: 4.2.0

Description

Using VMware vCenter, move a virtual machine using vMotion to a different host, and/or its vmdks to another datastore using storage vMotion.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform vMotion of virtual machine
  community.vmware.vmware_vmotion:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    vm_name: 'vm_name_as_per_vcenter'
    destination_host: 'destination_host_as_per_vcenter'
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform vMotion of virtual machine
  community.vmware.vmware_vmotion:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    moid: vm-42
    destination_host: 'destination_host_as_per_vcenter'
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform vMotion of virtual machine to resource_pool
  community.vmware.vmware_vmotion:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    moid: vm-42
    destination_host: 'destination_host_as_per_vcenter'
    destination_resourcepool: 'destination_resourcepool_as_per_vcenter'
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform storage vMotion of virtual machine
  community.vmware.vmware_vmotion:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    vm_name: 'vm_name_as_per_vcenter'
    destination_datastore: 'destination_datastore_as_per_vcenter'
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform storage vMotion and host vMotion of virtual machine
  community.vmware.vmware_vmotion:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    vm_name: 'vm_name_as_per_vcenter'
    destination_host: 'destination_host_as_per_vcenter'
    destination_datastore: 'destination_datastore_as_per_vcenter'
  delegate_to: localhost
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Perform storage vMotion to a Storage Cluster and vMotion to a Cluster of virtual machine
  community.vmware.vmware_vmotion:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    vm_name: 'vm_name_as_per_vcenter'
    destination_cluster: 'destination_cluster_as_per_vcenter'
    destination_datastore_cluster: 'destination_datastore_cluster_as_per_vcenter'
  delegate_to: localhost

Inputs

    
moid:
    description:
    - 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 O(vm_name) or O(vm_uuid) is not supplied.
    type: str

port:
    default: 443
    description:
    - The port number of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PORT)
      will be used instead.
    type: int

timeout:
    default: 3600
    description:
    - The timeout in seconds. When the timeout is reached, the module will fail.
    type: int
    version_added: 3.4.0
    version_added_collection: community.vmware

vm_name:
    aliases:
    - vm
    description:
    - Name of the VM to perform a vMotion on.
    - This is required parameter, if O(vm_uuid) is not set.
    type: str

vm_uuid:
    aliases:
    - uuid
    description:
    - UUID of the virtual machine to perform a vMotion operation on.
    - This is a required parameter, if O(vm_name) or O(moid) is not set.
    type: str

hostname:
    description:
    - 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 E(VMWARE_HOST)
      will be used instead.
    type: str

password:
    aliases:
    - pass
    - pwd
    description:
    - The password of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_PASSWORD)
      will be used instead.
    type: str

username:
    aliases:
    - admin
    - user
    description:
    - The username of the vSphere vCenter or ESXi server.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_USER)
      will be used instead.
    type: str

proxy_host:
    description:
    - 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 E(VMWARE_PROXY_HOST)
      will be used instead.
    required: false
    type: str

proxy_port:
    description:
    - 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 E(VMWARE_PROXY_PORT)
      will be used instead.
    required: false
    type: int

validate_certs:
    default: true
    description:
    - Allows connection when SSL certificates are not valid. Set to V(false) when certificates
      are not trusted.
    - If the value is not specified in the task, the value of environment variable E(VMWARE_VALIDATE_CERTS)
      will be used instead.
    type: bool

destination_host:
    aliases:
    - destination
    description:
    - 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.
    type: str

use_instance_uuid:
    default: false
    description:
    - Whether to use the VMware instance UUID rather than the BIOS UUID.
    type: bool

destination_cluster:
    description:
    - Name of the destination cluster the virtual machine should be running on.
    - Only works if drs is enabled for this cluster.
    type: str

destination_datastore:
    aliases:
    - datastore
    description:
    - Name of the destination datastore the virtual machine's vmdk should be moved on.
    type: str

destination_datacenter:
    description:
    - Name of the destination datacenter the datastore is located on.
    - Optional, required only when datastores are shared across datacenters.
    type: str

destination_resourcepool:
    aliases:
    - resource_pool
    description:
    - Name of the destination resource pool where the virtual machine should be running.
    - Resource pool is required if vmotion is done between hosts which are part of different
      clusters or datacenters.
    - if not passed, resource_pool object will be retrived from host_obj parent.
    type: str

destination_datastore_cluster:
    description:
    - Name of the destination datastore cluster (storage pod) the virtual machine's vmdk
      should be moved on.
    - Only works if drs is enabled for the cluster the vm is running / should run.
    type: str

Outputs

datastore:
  description:
  - List the datastore the virtual machine is on.
  - Only returned if there is asked for a Storage vMotion (Datastore or Datastore
    Cluster).
  returned: changed or success
  sample: datastore1
  type: str
running_host:
  description:
  - List the host the virtual machine is registered to.
  - Only returned if there is asked for a vMotion (Cluster or Host).
  returned: changed or success
  sample: host1.example.com
  type: str