xenserver_guest_powerstate – Управляет состояниями питания виртуальных машин, работающих на хосте Citrix Hypervisor/XenServer или пуле
Новая в версии 2.8.
Обзор
- Этот модуль можно использовать для включения, выключения, перезагрузки или приостановки виртуальной машины и плавного перезапуска или выключения гостевой ОС виртуальной машины.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- 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.
- Для получения Python-библиотеки XenAPI просто выполните
pip install XenAPIна вашем Ansible-контроллере. Библиотека также доступна в SDK Citrix Hypervisor/XenServer (скачивается с веб-сайта Citrix). Скопируйте файл XenAPI.py из SDK в вашу папку site-packages Python на вашем Ansible-контроллере, чтобы использовать его. Последнюю версию библиотеки также можно получить с GitHub: https://raw.githubusercontent.com/xapi-project/xen-api/master/scripts/examples/python/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
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': ''}} |
Статус
- Гарантия обратной совместимости этого модуля не предоставляется. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Боян Витник (@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.8/modules/xenserver_guest_powerstate_module.html