vsphere_guest – Создание/удаление/управление гостевой виртуальной машиной через VMware vSphere
УСТЕРЕКШЕЕ
| Удалено в Ansible: | |
|---|---|
| версия: 2.9 | |
| Почему: | Заменено модулем vmware_guest. Также, ‘Pysphere’ устарело в пользу официальных Python-библиотек VMware - ‘Pyvmomi’. |
| Альтернатива: | Используйте модуль vmware_guest и другие модули, связанные с гостевыми виртуальными машинами VMware. |
Синопсис
- Создание/удаление/переконфигурация гостевой виртуальной машины через VMware vSphere. Этот модуль зависит от pysphere >= 1.7
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- pysphere
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| cluster - | Имя кластера, в котором должна быть создана виртуальная машина. По умолчанию берется из хоста, на котором должен быть создан гость. | |
| esxi - | Словарь, содержащий центры обработки данных и хост, на которых должна быть создана виртуальная машина. Для автономных ESXi-хостов, следует использовать ha-datacenter в качестве имени центра обработки данных. | |
| force boolean |
| Булево значение. Разрешает выполнение команд, которые могут изменить состояние работающей гостевой виртуальной машины. Также используется для переконфигурации и удаления. |
| from_template boolean |
| Указывает, должна ли виртуальная машина развертываться из шаблона (исключающее или с параметром 'state'). При развертывании из шаблона не могут быть изменены настройки гостя, такие как процессор, ОЗУ, сетевые адаптеры или диски. |
| guest - / обязательно | Имя виртуального сервера, который необходимо управлять. | |
| password - / обязательно | Пароль пользователя для подключения к vCenter. | |
| power_on_after_clone boolean |
| Указывает, следует ли включать виртуальную машину после клонирования. |
| resource_pool - | Имя пула ресурсов для создания виртуальной машины. | |
| snapshot_to_clone - добавлено в 2.0 | Строка, которая при указании создаст связанную клонированную копию виртуальной машины. Снимок должен быть сделан в vCenter. | |
| state - |
| Указывает желаемое состояние виртуальной машины. 'переконфигурирована' применяет изменения только к 'vm_cdrom', 'memory_mb' и 'num_cpus' в параметре vm_hardware. Изменения 'memory_mb' и 'num_cpus' применяются к включенным виртуальным машинам, когда включена горячая подкачка для гостя. |
| template_src - | Имя исходного шаблона для развертывания. | |
| username - / обязательно | Имя пользователя для подключения к vCenter. | |
| validate_certs boolean добавлено в 2.1 |
| Проверка SSL-сертификатов. Обратите внимание, что если выполняется на Python без поддержки SSLContext (как правило, Python < 2.7.9), необходимо установить значение no, так как pysphere не поддерживает проверку сертификатов в более старых версиях Python. До версии 2.1 этот модуль всегда выполнял проверку на Python >= 2.7.9 и никогда не выполнял проверку на Python <= 2.7.8. |
| vcenter_hostname - / обязательно | Имя хоста vCenter-сервера, к которому модуль будет подключаться для создания гостя. | |
| vm_disk - | Список пар "ключ-значение" дисков, их размеров и хранилища данных. | |
| vm_extra_config - | Список пар "ключ-значение" дополнительных значений, которые нужно установить или изменить в файле vmx виртуальной машины. Полезно для настройки дополнительных параметров виртуальной машины. | |
| vm_hardware - | Список пар "ключ-значение" настроек конфигурации виртуальной машины. Должен включать ['memory_mb', 'num_cpus', 'osid', 'scsi']. | |
| vm_hw_version - | Идентификатор желаемой версии оборудования (например, "vmx-08" для виртуальных машин, которые необходимо управлять с помощью vSphere Client). Обратите внимание, что изменение версии оборудования существующей виртуальной машины не поддерживается. | |
| vm_nic - | Список пар "ключ-значение" сетевых адаптеров, их типов и сетевых подключений. Также необязательно с указанием MAC-адреса. | |
| vmware_guest_facts boolean |
| Сбор фактов из vCenter по определенной виртуальной машине. |
Примечания
Примечание
- Этот модуль должен выполняться на системе, которая имеет прямой доступ к vSphere. Либо с помощью local_action, либо с помощью delegate_to.
Примеры
---
# Create a new VM on an ESX server
# Returns changed = False when the VM already exists
# Returns changed = True and a adds ansible_facts from the new VM
# State will set the power status of a guest upon creation. Use powered_on to create and boot.
# Options ['state', 'vm_extra_config', 'vm_disk', 'vm_nic', 'vm_hardware', 'esxi'] are required together
# Note: vm_floppy support added in 2.0
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
state: powered_on
vm_extra_config:
vcpu.hotadd: yes
mem.hotadd: yes
notes: This is a test VM
folder: MyFolder
vm_disk:
disk1:
size_gb: 10
type: thin
datastore: storage001
# VMs can be put into folders. The value given here is either the full path
# to the folder (e.g. production/customerA/lamp) or just the last component
# of the path (e.g. lamp):
folder: production/customerA/lamp
vm_nic:
nic1:
type: vmxnet3
network: VM Network
network_type: standard
nic2:
type: vmxnet3
network: dvSwitch Network
network_type: dvs
vm_hardware:
memory_mb: 2048
num_cpus: 2
osid: centos64Guest
scsi: paravirtual
vm_cdrom:
type: "iso"
iso_path: "DatastoreName/cd-image.iso"
vm_floppy:
type: "image"
image_path: "DatastoreName/floppy-image.flp"
esxi:
datacenter: MyDatacenter
hostname: esx001.mydomain.local
delegate_to: localhost
# Reconfigure the CPU and Memory on the newly created VM
# Will return the changes made
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
state: reconfigured
vm_extra_config:
vcpu.hotadd: yes
mem.hotadd: yes
notes: This is a test VM
vm_disk:
disk1:
size_gb: 10
type: thin
datastore: storage001
vm_nic:
nic1:
type: vmxnet3
network: VM Network
network_type: standard
vm_hardware:
memory_mb: 4096
num_cpus: 4
osid: centos64Guest
scsi: paravirtual
esxi:
datacenter: MyDatacenter
hostname: esx001.mydomain.local
delegate_to: localhost
# Deploy a guest from a template
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
from_template: yes
template_src: centosTemplate
cluster: MainCluster
resource_pool: "/Resources"
vm_extra_config:
folder: MyFolder
delegate_to: localhost
# Task to gather facts from a vSphere cluster only if the system is a VMware guest
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
vmware_guest_facts: yes
delegate_to: localhost
---
# Typical output of a vsphere_facts run on a guest
# If vmware tools is not installed, ipaddresses with return None
- hw_eth0:
- addresstype: "assigned"
label: "Network adapter 1"
macaddress: "00:22:33:33:44:55"
macaddress_dash: "00-22-33-33-44-55"
ipaddresses: ['192.0.2.100', '2001:DB8:56ff:feac:4d8a']
summary: "VM Network"
hw_guest_full_name: "newvm001"
hw_guest_id: "rhel6_64Guest"
hw_memtotal_mb: 2048
hw_name: "centos64Guest"
hw_power_status: "POWERED ON"
hw_processor_count: 2
hw_product_uuid: "ef50bac8-2845-40ff-81d9-675315501dac"
# hw_power_status will be one of the following values:
# - POWERED ON
# - POWERED OFF
# - SUSPENDED
# - POWERING ON
# - POWERING OFF
# - SUSPENDING
# - RESETTING
# - BLOCKED ON MSG
# - REVERTING TO SNAPSHOT
# - UNKNOWN
# as seen in the VMPowerState-Class of PySphere: http://git.io/vlwOq
---
# Remove a vm from vSphere
# The VM must be powered_off or you need to use force to force a shutdown
- vsphere_guest:
vcenter_hostname: vcenter.mydomain.local
username: myuser
password: mypass
guest: newvm001
state: absent
force: yes
delegate_to: localhost
Статус
- Этот модуль будет удален в версии 2.9. [устаревший]
- Для получения дополнительной информации см. УСТЕРЕКШЕЕ.
Авторы
- Richard Hoop (@rhoop) <wrhoop@gmail.com>
Подсказка
Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/vsphere_guest_module.html