Spec-Zone.ru › Ansible 2.8

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.
Поддержка переменных среды добавлена в Ansible 2.6.
password
строка
Пароль сервера vCenter или ESXi vSphere.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_PASSWORD.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: pass, pwd
port
целое число
добавлен в 2.5
По умолчанию:
443
Номер порта сервера vCenter или ESXi vSphere.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_PORT.
Поддержка переменных среды добавлена в Ansible 2.6.
timeout
-
добавлен в 2.7
По умолчанию:
3600
Таймаут в секундах.
Если задано положительное целое число, то wait_for_process будет учитывать этот параметр и завершит работу после этого таймаута.
username
строка
Имя пользователя сервера vCenter или ESXi vSphere.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_USER.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: admin, user
validate_certs
булево
    Варианты:
  • no
  • да ←
Разрешает подключение, когда сертификаты SSL недействительны. Установите значение false, когда сертификаты не доверяются.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_VALIDATE_CERTS.
Поддержка переменных среды добавлена в Ansible 2.6.
Если задано значение yes, убедитесь, что на данном компьютере установлен Python >= 2.7.9.
vm_id
- / обязательно
Имя виртуальной машины, с которой нужно работать.
vm_id_type
-
    Варианты:
  • uuid
  • instance_uuid
  • dns_имя
  • путь_в_инвентаре
  • имя_вм ←
Метод идентификации 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. [сообщество]

Авторы

  • 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.8/modules/vmware_vm_shell_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API