Spec-Zone.ru › Ansible 2.10

community.vmware.vmware_vm_shell – Выполнение команд в гостевой операционной системе VMware

Примечание

Этот плагин входит в коллекцию community.vmware (версия 1.6.0).

Для его установки используйте: ansible-galaxy collection install community.vmware.

Для использования в плейбуке укажите: community.vmware.vmware_vm_shell.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Описание

  • Модуль позволяет пользователю запускать общие команд для администрирования системы в гостевой операционной системе.

Требования

Ниже приведены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.6
  • PyVmomi

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
cluster
строка
Кластер, на котором размещен виртуальный компьютер.
Если задано, это ускорит поиск виртуальной машины.
datacenter
строка
Центр обработки данных, где размещен виртуальный компьютер.
Если задано, это ускорит поиск виртуальной машины.
folder
строка
Целевой папки, абсолютный или относительный путь к существующей гостевой системе или для создания новой гостевой системы.
Папка должна содержать центр обработки данных. Центр обработки данных 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 vSphere или ESXi.
Если значение не указано в задании, вместо него используется значение переменной среды VMWARE_HOST.
Поддержка переменных среды добавлена в Ansible 2.6.
password
строка
Пароль сервера vCenter vSphere или ESXi.
Если значение не указано в задании, вместо него используется значение переменной среды VMWARE_PASSWORD.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: pass, pwd
port
целое число
Значение по умолчанию:
443
Номер порта сервера vCenter vSphere или ESXi.
Если значение не указано в задании, вместо него используется значение переменной среды VMWARE_PORT.
Поддержка переменных среды добавлена в Ansible 2.6.
proxy_host
строка
Адрес прокси-сервера, который будет получать все запросы HTTPS и пересылать их.
Формат — имя хоста или IP-адрес.
Если значение не указано в задании, вместо него используется значение переменной среды VMWARE_PROXY_HOST.
Эта функция зависит от версии pyvmomi, большей, чем v6.7.1.2018.12
proxy_port
целое число
Порт HTTP-прокси, который будет получать все запросы HTTPS и пересылать их.
Если значение не указано в задании, вместо него используется значение переменной среды VMWARE_PROXY_PORT.
timeout
целое число
Значение по умолчанию:
3600
Таймаут в секундах.
Если задано положительное целое число, wait_for_process учтёт этот параметр и завершит выполнение по истечении этого таймаута.
username
строка
Имя пользователя сервера vCenter vSphere или ESXi.
Если значение не указано в задании, вместо него используется значение переменной среды VMWARE_USER.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: admin, user
validate_certs
логическое значение
    Варианты:
  • no
  • да ←
Разрешает подключение, когда сертификаты SSL недействительны. Установите в false, когда сертификаты не доверяются.
Если значение не указано в задании, вместо него используется значение переменной среды VMWARE_VALIDATE_CERTS.
Поддержка переменных среды добавлена в Ansible 2.6.
Если установлено значение true, убедитесь, что на данном компьютере установлен Python >= 2.7.9.
vm_id
строка / обязательно
Имя виртуальной машины для работы.
vm_id_type
строка
    Варианты:
  • uuid
  • instance_uuid
  • dns_name
  • inventory_path
  • vm_name ←
Способ идентификации виртуальной машины в VMware.
vm_password
строка / обязательно
Пароль, используемый для входа в виртуальную машину.
vm_shell
строка / обязательно
Абсолютный путь к программе для запуска.
В Linux оболочка запускается через bash.
vm_shell_args
строка
Значение по умолчанию:
" "
Аргумент для программы.
Символы, которые должны быть экранированы в оболочке, также должны быть экранированы в предоставленной командной строке.
vm_shell_cwd
строка
Текущая рабочая директория приложения, из которой будет запущен процесс.
vm_shell_env
список / элементы=строка
Список переменных среды, разделённых запятыми, указанных в формате гостевой ОС.
vm_username
строка / обязательно
Пользователь для входа в виртуальную машину.
wait_for_process
логическое значение
    Варианты:
  • нет ←
  • да
Если установлено значение True, модуль будет ожидать завершения процесса в заданной виртуальной машине.

Примечания

Примечание

  • Проверено на vSphere 5.5, 6.0 и 6.5.
  • Используется только первое совпадение с vm_id, даже если есть несколько совпадений.

Примеры

- name: Run command inside a virtual machine
  community.vmware.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
  community.vmware.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
  community.vmware.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
  community.vmware.vmware_vm_shell:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    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'}


Авторы

  • 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.10/collections/community/vmware/vmware_vm_shell_module.html

Spec-Zone.ru

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