vmware_tools – Выполнение задач внутри ВМ с помощью VMware Tools
Новая версия 2.8.
Описание
- Используйте VMware Tools для запуска задач в гостевой операционной системе, работающей в инфраструктуре VMware, или для переноса/получения файлов.
- В случае с Windows ВМ, установите
ansible_shell_typeвpowershell. - Не работает с ‘become’.
Требования
Ниже перечислены требования к локальному узлу-мастеру, который выполняет данное подключение.
- pyvmomi (библиотека Python)
- requests (библиотека Python)
Параметры
| Параметр | Варианты/Значения по умолчанию | Настройка | Комментарии |
|---|---|---|---|
| exec_command_sleep_interval float | Значение по умолчанию: 0.5 | переменная: ansible_vmware_tools_exec_command_sleep_interval | Время в секундах для ожидания между выполнением команды. |
| executable - | Значение по умолчанию: "/bin/sh" | записи в ini: [defaults] переменная окружения:ANSIBLE_EXECUTABLE переменная: ansible_executable переменная: ansible_vmware_tools_executable | оболочка для выполнения внутри контейнера |
| file_chunk_size целое число | Значение по умолчанию: 128 | переменная: ansible_vmware_tools_file_chunk_size | Размер фрагмента файла. (Применимо при записи файла на диск, например, с помощью модуля fetch) |
| validate_certs логическое значение |
| переменная окружения:VMWARE_VALIDATE_CERTS переменная: ansible_vmware_validate_certs | Проверка SSL для подключения. Примечание: Это проверит сертификаты как для vmware_host, так и для ESXi-хоста, на котором работает ВМ. |
| vm_password - / обязательно | переменная: ansible_password переменная: ansible_vmware_tools_password | Пароль пользователя в гостевой операционной системе. | |
| vm_path - / обязательно | переменная: ansible_vmware_guest_path | Путь к ВМ, абсолютный относительно подключения. Пример vCenter: Datacenter/vm/Discovered virtual machine/testVM. Пример ESXi-хоста: ha-datacenter/vm/testVM. Должен включать имя ВМ, добавленное к 'папке' так, как передается в vmware_guest. Нужно включить vm между Центром данных и остальной частью пути к ВМ. Значение по умолчанию для папки Центр данных на ESXi-сервере — ha-datacenter. Папка vm не отображается в веб-клиенте vSphere, но необходима для работы API VMware. | |
| vm_user - / обязательно | переменная: ansible_user переменная: ansible_vmware_tools_user | Имя пользователя ВМ. | |
| vmware_host - / обязательно | переменная окружения:VI_SERVER переменная окружения:VMWARE_HOST переменная: ansible_host переменная: ansible_vmware_host | FQDN или IP-адрес для подключения (vCenter или ESXi-хост). | |
| vmware_password - / обязательно | переменная окружения:VI_PASSWORD переменная окружения:VMWARE_PASSWORD переменная: ansible_vmware_password | Пароль для подключения. | |
| vmware_port - | Значение по умолчанию: 443 | переменная окружения:VI_PORTNUMBER переменная окружения:VMWARE_PORT переменная: ansible_port переменная: ansible_vmware_port | Порт для подключения. |
| vmware_user - / обязательно | переменная окружения:VI_USERNAME переменная окружения:VMWARE_USER переменная: ansible_vmware_user | Имя пользователя для подключения. Требуются следующие разрешения на ВМ: - VirtualMachine.GuestOperations.Execute - VirtualMachine.GuestOperations.Modify - VirtualMachine.GuestOperations.Query |
Примеры
# example vars.yml
---
ansible_connection: vmware_tools
ansible_vmware_host: vcenter.example.com
ansible_vmware_user: administrator@vsphere.local
ansible_vmware_password: Secr3tP4ssw0rd!12
ansible_vmware_validate_certs: no # default is yes
# vCenter Connection VM Path Example
ansible_vmware_guest_path: DATACENTER/vm/FOLDER/{{ inventory_hostname }}
# ESXi Connection VM Path Example
ansible_vmware_guest_path: ha-datacenter/vm/{{ inventory_hostname }}
ansible_vmware_tools_user: root
ansible_vmware_tools_password: MyR00tPassw0rD
# if the target VM guest is Windows set the 'ansible_shell_type' to 'powershell'
ansible_shell_type: powershell
# example playbook_linux.yml
---
- name: Test VMware Tools Connection Plugin for Linux
hosts: linux
tasks:
- command: whoami
- ping:
- copy:
src: foo
dest: /home/user/foo
- fetch:
src: /home/user/foo
dest: linux-foo
flat: yes
- file:
path: /home/user/foo
state: absent
# example playbook_windows.yml
---
- name: Test VMware Tools Connection Plugin for Windows
hosts: windows
tasks:
- win_command: whoami
- win_ping:
- win_copy:
src: foo
dest: C:\Users\user\foo
- fetch:
src: C:\Users\user\foo
dest: windows-foo
flat: yes
- win_file:
path: C:\Users\user\foo
state: absent
Статус
- Это подключение не гарантирует обратную совместимость. [превью]
- Это подключение поддерживается сообществом Ansible. [сообщество]
Авторы
- Deric Crago <deric.crago@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/plugins/connection/vmware_tools.html