Spec-Zone.ru › Ansible 2.9

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

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

Краткое описание

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

Требования

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

  • 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.
proxy_host
строка
добавлен в 2.9
Адрес прокси-сервера, который будет получать все запросы HTTPS и пересылать их.
Формат — имя хоста или IP-адрес.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_PROXY_HOST.
Эта функция зависит от версии pyvmomi, большей чем v6.7.1.2018.12
proxy_port
целое число
добавлен в 2.9
Порт HTTP-прокси, который будет получать все запросы HTTPS и пересылать их.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_PROXY_PORT.
timeout
целое число
добавлен в 2.7
По умолчанию:
3600
Таймаут в секундах.
Если задано положительное целое число, wait_for_process будет учитывать этот параметр и выйдет через этот таймаут.
username
строка
Имя пользователя сервера vCenter или ESXi vSphere.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_USER.
Поддержка переменных среды добавлена в Ansible 2.6.

псевдонимы: admin, user
validate_certs
логический
    Варианты:
  • no
  • yes ←
Разрешает подключение, когда сертификаты SSL недействительны. Установите в false, когда сертификаты ненадёжные.
Если значение не указано в задаче, вместо него будет использовано значение переменной среды VMWARE_VALIDATE_CERTS.
Поддержка переменных среды добавлена в Ansible 2.6.
Если установлено yes, убедитесь, что на данном компьютере установлен 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
логический
добавлен в 2.7
    Варианты:
  • no ←
  • yes
Если установлено 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.9/modules/vmware_vm_shell_module.html

Spec-Zone.ru

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