vmware_vm_shell – Запуск команд в гостевой операционной системе VMware
Новая версия с 2.1.
Обзор
- Модуль позволяет пользователю запускать общие команд для администрирования системы в гостевой операционной системе.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- PyVmomi
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| cluster - | Кластер, содержащий виртуальную машину. Если задано, это ускорит поиск виртуальной машины. | |
| datacenter - | Центр обработки данных, содержащий виртуальную машину. Если задано, это ускорит поиск виртуальной машины. | |
| folder - добавлено в 2.4 | Целевой папке, абсолютный или относительный путь к поиску существующей гостевой или созданию новой гостевой. Папка должна включать в себя центр обработки данных. Центр обработки данных ESX называется ha-datacenter. Примеры: folder: /ha-datacenter/vm folder: ha-datacenter/vm folder: /datacenter1/vm folder: datacenter1/vm folder: /datacenter1/vm/folder1 folder: datacenter1/vm/folder1 folder: /folder1/datacenter1/vm folder: folder1/datacenter1/vm folder: /folder1/datacenter1/vm/folder2 | |
| hostname строка | Имя хоста или IP-адрес сервера vCenter или ESXi vSphere. Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_HOST. Поддержка переменных среды добавлена в версии 2.6. | |
| password строка | Пароль сервера vCenter или ESXi vSphere. Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_PASSWORD. Поддержка переменных среды добавлена в версии 2.6. Псевдонимы: pass, pwd | |
| port целое число добавлено в 2.5 | Значение по умолчанию: 443 | Номер порта сервера vCenter или ESXi vSphere. Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_PORT. Поддержка переменных среды добавлена в версии 2.6. |
| timeout - добавлено в 2.7 | Значение по умолчанию: 3600 | Таймаут в секундах. Если задано положительное целое число, то wait_for_process будет учитывать этот параметр и завершит работу через указанный таймаут. |
| username строка | Имя пользователя сервера vCenter или ESXi vSphere. Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_USER. Поддержка переменных среды добавлена в версии 2.6. Псевдонимы: admin, user | |
| validate_certs булево |
| Разрешает подключение, когда сертификаты SSL недействительны. Установите false когда сертификаты не доверяются.Если значение не указано в задаче, вместо него используется значение переменной среды VMWARE_VALIDATE_CERTS. Поддержка переменных среды добавлена в версии 2.6. Если установлено yes, убедитесь, что на данном компьютере установлена Python >= 2.7.9. |
| vm_id - / обязательно | Имя виртуальной машины, с которой нужно работать. | |
| vm_id_type - |
| Метод идентификации VMware, с помощью которого будет идентифицироваться виртуальная машина. |
| vm_password - / обязательно | Пароль, используемый для входа в виртуальную машину. | |
| vm_shell - / обязательно | Абсолютный путь к программе для запуска. В Linux оболочка запускается через bash. | |
| vm_shell_args - | Значение по умолчанию: " " | Аргумент программы. Символы, которые необходимо экранировать в оболочке, также необходимо экранировать в предоставленной командной строке. |
| vm_shell_cwd - | Текущая рабочая директория приложения, из которой будет выполняться запуск. | |
| vm_shell_env - | Список переменных окружения, разделенных запятыми, в формате гостевой ОС. | |
| vm_username - / обязательно | Имя пользователя для входа в виртуальную машину. | |
| wait_for_process булево добавлено в 2.7 |
| Если установлено True, модуль будет ожидать завершения процесса в заданной виртуальной машине. |
Примечания
Примечание
- Проверено на vSphere 5.5, 6.0 и 6.5.
- Используется только первое совпадение с vm_id, даже если есть несколько совпадений.
Примеры
- name: Run command inside a virtual machine
vmware_vm_shell:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter }}"
folder: /"{{datacenter}}"/vm
vm_id: "{{ vm_name }}"
vm_username: root
vm_password: superSecret
vm_shell: /bin/echo
vm_shell_args: " $var >> myFile "
vm_shell_env:
- "PATH=/bin"
- "VAR=test"
vm_shell_cwd: "/tmp"
delegate_to: localhost
register: shell_command_output
- name: Run command inside a virtual machine with wait and timeout
vmware_vm_shell:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter }}"
folder: /"{{datacenter}}"/vm
vm_id: NameOfVM
vm_username: root
vm_password: superSecret
vm_shell: /bin/sleep
vm_shell_args: 100
wait_for_process: True
timeout: 2000
delegate_to: localhost
register: shell_command_with_wait_timeout
- name: Change user password in the guest machine
vmware_vm_shell:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
datacenter: "{{ datacenter }}"
folder: /"{{datacenter}}"/vm
vm_id: "{{ vm_name }}"
vm_username: sample
vm_password: old_password
vm_shell: "/bin/echo"
vm_shell_args: "-e 'old_password\nnew_password\nnew_password' | passwd sample > /tmp/$$.txt 2>&1"
delegate_to: localhost
- name: Change hostname of guest machine
vmware_vm_shell:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
validate_certs: no
datacenter: "{{ datacenter }}"
folder: /"{{datacenter}}"/vm
vm_id: "{{ vm_name }}"
vm_username: testUser
vm_password: SuperSecretPassword
vm_shell: "/usr/bin/hostnamectl"
vm_shell_args: "set-hostname new_hostname > /tmp/$$.txt 2>&1"
delegate_to: localhost
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращается | Описание |
|---|---|---|
| results словарь | при успехе | метаданные о новом процессе после завершения с wait_for_process Пример: {'cmd_line': '"/bin/sleep" 1', 'end_time': '2018-04-26T05:03:21+00:00', 'exit_code': 0, 'name': 'sleep', 'owner': 'dev1', 'start_time': '2018-04-26T05:03:19+00:00', 'uuid': '564db1e2-a3ff-3b0e-8b77-49c25570bb66'} |
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Ritesh Khadgaray (@ritzk)
- Abhijeet Kasurde (@Akasurde)
Подсказка
Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/vmware_vm_shell_module.html