community.general.xenserver_guest_powerstate – Управляет состояниями питания виртуальных машин, работающих на хосте/пуле Citrix Hypervisor/XenServer
Примечание
Этот плагин является частью коллекции community.general (версия 1.3.2).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в playbook, укажите: community.general.xenserver_guest_powerstate.
Обзор
- Этот модуль может быть использован для включения, выключения, перезапуска или приостановки виртуальной машины и плавного перезапуска или выключения гостевой ОС виртуальной машины.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- XenAPI
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| hostname строка | Значение по умолчанию: "localhost" | Имя хоста или IP-адрес хоста XenServer или XenServer-пула-мастера. Если значение не указано в задаче, используется значение переменной среды XENSERVER_HOST. псевдонимы: host, pool |
| name строка | Имя виртуальной машины для управления. Виртуальные машины, работающие на XenServer, не обязательно имеют уникальные имена. Модуль завершится ошибкой, если найдено несколько виртуальных машин с одинаковым именем. В случае нескольких виртуальных машин с одинаковым именем, используйте uuid, чтобы однозначно указать виртуальную машину для управления.Этот параметр чувствителен к регистру. псевдонимы: name_label | |
| password строка | Пароль для подключения к XenServer. Если значение не указано в задаче, используется значение переменной среды XENSERVER_PASSWORD.псевдонимы: pass, pwd | |
| state строка |
| Укажите состояние, в котором должна быть виртуальная машина. Если state установлено в значение, отличное от present, то виртуальная машина переводится в необходимое состояние, и возвращаются фактические данные.Если state установлено в present, то проверяется только наличие виртуальной машины и возвращаются фактические данные. |
| state_change_timeout целое число | Значение по умолчанию: 0 | По умолчанию модуль будет ждать неопределённо долго, пока виртуальная машина не изменит состояние или не получит IP-адрес, если wait_for_ip_address: yes. Если этот параметр установлен в положительное значение, модуль будет ждать указанное количество секунд для изменения состояния. В случае тайм-аута модуль выведет сообщение об ошибке. |
| username строка | Значение по умолчанию: "root" | Имя пользователя для подключения к XenServer. Если значение не указано в задаче, используется значение переменной среды XENSERVER_USER.псевдонимы: admin, user |
| uuid строка | UUID виртуальной машины для управления, если он известен. Это уникальный идентификатор XenServer. Требуется, если имя не уникально. | |
| validate_certs логическое |
| Разрешает подключение, когда сертификаты SSL недействительны. Устанавливается в false, когда сертификаты ненадёжны.Если значение не указано в задаче, используется значение переменной среды XENSERVER_VALIDATE_CERTS. |
| wait_for_ip_address логическое |
| Дождаться, пока XenServer обнаружит IP-адрес виртуальной машины. Требует предварительной установки XenServer Tools на виртуальной машине для корректной работы. |
Примечания
Примечание
- Минимальная поддерживаемая версия XenServer — 5.6.
- Модуль был протестирован с XenServer 6.5, 7.1, 7.2, 7.6, Citrix Hypervisor 8.0, XCP-ng 7.6 и 8.0.
- Для получения библиотеки XenAPI Python просто выполните
pip install XenAPIна вашем узле управления Ansible. Библиотека также находится в SDK Citrix Hypervisor/XenServer (скачивается с веб-сайта Citrix). Скопируйте файл XenAPI.py из SDK в папку Python site-packages на вашем узле управления Ansible, чтобы использовать его. Последнюю версию библиотеки также можно получить с GitHub: https://raw.githubusercontent.com/xapi-project/xen-api/master/scripts/examples/python/XenAPI/XenAPI.py - Если в
hostnameне указан протокол, модуль по умолчанию используетhttp://, так какhttps://проблематичен в большинстве установок. Убедитесь, что вы получаете доступ к хосту XenServer в надёжной среде или явно используйте протоколhttps://. - Для использования протокола
https://дляhostnameнеобходимо либо импортировать сертификат хоста в хранилище сертификатов вашей ОС, либо использоватьvalidate_certs: no, что требует библиотеки XenAPI из XenServer 7.2 SDK или новее и Python 2.7.9 или новее.
Примеры
- name: Power on VM
community.general.xenserver_guest_powerstate:
hostname: "{{ xenserver_hostname }}"
username: "{{ xenserver_username }}"
password: "{{ xenserver_password }}"
name: testvm_11
state: powered-on
delegate_to: localhost
register: facts
Возвращаемые значения
Общие возвращаемые значения описаны в этом разделе, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| instance словарь | всегда | Метаданные о виртуальной машине Пример: {'cdrom': {'type': 'none'}, 'customization_agent': 'native', 'disks': [{'name': 'windows-template-testing-0', 'name_desc': '', 'os_device': 'xvda', 'size': 42949672960, 'sr': 'Локальное хранилище', 'sr_uuid': '0af1245e-bdb0-ba33-1446-57a962ec4075', 'vbd_userdevice': '0'}, {'name': 'windows-template-testing-1', 'name_desc': '', 'os_device': 'xvdb', 'size': 42949672960, 'sr': 'Локальное хранилище', 'sr_uuid': '0af1245e-bdb0-ba33-1446-57a962ec4075', 'vbd_userdevice': '1'}], 'domid': '56', 'folder': '', 'hardware': {'memory_mb': 8192, 'num_cpu_cores_per_socket': 2, 'num_cpus': 4}, 'home_server': '', 'is_template': False, 'name': 'windows-template-testing', 'name_desc': '', 'networks': [{'gateway': '192.168.0.254', 'gateway6': 'fc00::fffe', 'ip': '192.168.0.200', 'ip6': ['fe80:0000:0000:0000:e9cb:625a:32c5:c291', 'fc00:0000:0000:0000:0000:0000:0000:0001'], 'mac': 'ba:91:3a:48:20:76', 'mtu': '1500', 'name': 'Сеть пула, связанная с eth1', 'netmask': '255.255.255.128', 'prefix': '25', 'prefix6': '64', 'vif_device': '0'}], 'other_config': {'base_template_name': 'Windows Server 2016 (64-bit)', 'import_task': 'OpaqueRef:e43eb71c-45d6-5351-09ff-96e4fb7d0fa5', 'install-methods': 'cdrom', 'instant': 'true', 'mac_seed': 'f83e8d8a-cfdc-b105-b054-ef5cb416b77e'}, 'platform': {'acpi': '1', 'apic': 'true', 'cores-per-socket': '2', 'device_id': '0002', 'hpet': 'true', 'nx': 'true', 'pae': 'true', 'timeoffset': '-25200', 'vga': 'std', 'videoram': '8', 'viridian': 'true', 'viridian_reference_tsc': 'true', 'viridian_time_ref_count': 'true'}, 'state': 'включена', 'uuid': 'e3c0b2d5-5f05-424e-479c-d3df8b3e7cda', 'xenstore_data': {'vm-data': ''}} |
Авторы
- Боян Витник (@bvitnik) <bvitnik@mainstream.rs>
© 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/general/xenserver_guest_powerstate_module.html