community.vmware.vmware_host_facts – Сбор фактов о удалённом ESXi хост-системе
Примечание
Этот плагин является частью коллекции community.vmware (версия 1.6.0).
Для его установки используйте: ansible-galaxy collection install community.vmware.
Чтобы использовать его в playbook, укажите: community.vmware.vmware_host_facts.
Обзор
- Этот модуль может быть использован для сбора фактов, таких как процессор, память, хранилища данных, сеть и система в целом, об ESXi хост-системе.
- Пожалуйста, укажите имя хоста или IP-адрес ESXi хост-системы в качестве
hostname. - Если имя хоста или IP-адрес vCenter предоставлены в качестве
hostname, иesxi_hostnameне указаны, тогда модуль выдаст ошибку. - Факты VSAN добавлены в версии 2.7.
- Факт SYSTEM uuid добавлен в версии 2.10.
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- PyVmomi
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| esxi_hostname строка | Имя хоста ESXi. Будут возвращены факты хоста указанного ESXi сервера. Указав этот параметр, можно выбрать, какой ESXi хост будет возвращён, если подключение происходит к vCenter. | |
| hostname строка | Имя хоста или IP-адрес vSphere vCenter или ESXi сервера. Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_HOST. Поддержка переменных среды добавлена в Ansible 2.6. | |
| password строка | Пароль vSphere vCenter или ESXi сервера. Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PASSWORD. Поддержка переменных среды добавлена в Ansible 2.6. псевдонимы: pass, pwd | |
| port целое число | По умолчанию: 443 | Номер порта vSphere vCenter или ESXi сервера. Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PORT. Поддержка переменных среды добавлена в Ansible 2.6. |
| properties список / элементы=строка | Укажите свойства, которые нужно получить. Если не указано, все свойства получаются (глубоко). Результаты возвращаются в структуре, идентичной структуре API vsphere. Пример: properties: [ "hardware.memorySize", "hardware.cpuInfo.numCpuCores", "config.product.apiVersion", "overallStatus" ] Допустимо только когда schema равно vsphere. | |
| proxy_host строка | Адрес прокси-сервера, который будет получать все запросы HTTPS и пересылать их. Формат - имя хоста или IP-адрес. Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PROXY_HOST. Эта функция зависит от версии pyvmomi, большей, чем v6.7.1.2018.12 | |
| proxy_port целое число | Порт HTTP прокси-сервера, который будет получать все запросы HTTPS и пересылать их. Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_PROXY_PORT. | |
| schema строка |
| Укажите желаемую схему вывода. Схема вывода 'summary' - это устаревшая схема вывода модуля. Схема вывода 'vsphere' - это определение класса API vSphere, которое требует pyvmomi>6.7.1 |
| show_tag булево |
| Теги, относящиеся к хосту, отображаются, если установлено значение True. |
| username строка | Имя пользователя vSphere vCenter или ESXi сервера. Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_USER. Поддержка переменных среды добавлена в Ansible 2.6. псевдонимы: admin, user | |
| validate_certs булево |
| Разрешает подключение, когда сертификаты SSL недействительны. Установите в false, когда сертификаты ненадёжны.Если значение не указано в задаче, будет использовано значение переменной среды VMWARE_VALIDATE_CERTS. Поддержка переменных среды добавлена в Ansible 2.6. Если установлено true, убедитесь, что на данной машине установлен Python >= 2.7.9. |
Примеры
- name: Gather vmware host facts
community.vmware.vmware_host_facts:
hostname: "{{ esxi_server }}"
username: "{{ esxi_username }}"
password: "{{ esxi_password }}"
register: host_facts
delegate_to: localhost
- name: Gather vmware host facts from vCenter
community.vmware.vmware_host_facts:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
esxi_hostname: "{{ esxi_hostname }}"
register: host_facts
delegate_to: localhost
- name: Gather vmware host facts from vCenter with tag information
community.vmware.vmware_host_facts:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
esxi_hostname: "{{ esxi_hostname }}"
show_tag: True
register: host_facts_tag
delegate_to: localhost
- name: Get VSAN Cluster UUID from host facts
community.vmware.vmware_host_facts:
hostname: "{{ esxi_server }}"
username: "{{ esxi_username }}"
password: "{{ esxi_password }}"
register: host_facts
- set_fact:
cluster_uuid: "{{ host_facts['ansible_facts']['vsan_cluster_uuid'] }}"
- name: Gather some info from a host using the vSphere API output schema
community.vmware.vmware_host_facts:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
esxi_hostname: "{{ esxi_hostname }}"
schema: vsphere
properties:
- hardware.memorySize
- hardware.cpuInfo.numCpuCores
- config.product.apiVersion
- overallStatus
register: host_facts
- name: Gather information about powerstate and connection state
community.vmware.vmware_host_facts:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
esxi_hostname: "{{ esxi_hostname }}"
schema: vsphere
properties:
- runtime.connectionState
- runtime.powerState
- name: How to retrieve Product, Version, Build, Update info for ESXi from vCenter
block:
- name: Gather product version info for ESXi from vCenter
community.vmware.vmware_host_facts:
hostname: "{{ vcenter_hostname }}"
username: "{{ vcenter_username }}"
password: "{{ vcenter_password }}"
esxi_hostname: "{{ esxi_hostname }}"
schema: vsphere
properties:
- config.product
- config.option
register: gather_host_facts_result
- name: Extract update level info from option properties
set_fact:
update_level_info: "{{ item.value }}"
loop: "{{ gather_host_facts_result.ansible_facts.config.option }}"
when:
- item.key == 'Misc.HostAgentUpdateLevel'
- name: The output of Product, Version, Build, Update info for ESXi
debug:
msg:
- "Product : {{ gather_host_facts_result.ansible_facts.config.product.name }}"
- "Version : {{ gather_host_facts_result.ansible_facts.config.product.version }}"
- "Build : {{ gather_host_facts_result.ansible_facts.config.product.build }}"
- "Update : {{ update_level_info }}"
Авторы
- Wei Gao (@woshihaoren)
© 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_host_facts_module.html