Вопрос или проблема
Я пишу плейбук Ansible для настройки серверов Dell и не могу найти опцию “Восстановление питания AC” в “dellemc.openmanage”. Есть ли какие-либо варианты настройки восстановления питания AC в состояние ВКЛ в плейбуке Ansible? Я нашел модуль для настройки питания “redfish_powerstate”, но понял, что он будет работать только один раз (поскольку плейбук будет выполняться). Спасибо заранее
Ответ или решение
Для настройки опции "AC power recovery" на серверах Dell с использованием Ansible, действительно, можно использовать модули, которые позволяют управлять настройками через интерфейс Redfish. К сожалению, модуль dellemc.openmanage
не предоставляет прямой поддержки для настройки данного параметра. Однако, вы можете достигнуть нужного результата с помощью модуля redfish_powerstate
, если используете правильные запросы.
Вот пример того, как вы можете создать Ansible playbook для настройки параметра "AC power recovery":
---
- name: Настройка серверов Dell с использованием Ansible
hosts: dell_servers
gather_facts: no
tasks:
- name: Получение информации о системе
dell.dellemc.openmanage.redfish_system_info:
hostname: "{{ inventory_hostname }}"
username: "{{ dell_username }}"
password: "{{ dell_password }}"
register: system_info
- name: Настройка AC power recovery
uri:
url: "https://{{ inventory_hostname }}/redfish/v1/Managers/{{ system_info.json.ManagerID }}"
method: PATCH
user: "{{ dell_username }}"
password: "{{ dell_password }}"
validate_certs: no
headers:
Content-Type: "application/json"
body: '{
"PowerRestorePolicy": "AlwaysOn"
}'
body_format: json
when: system_info is defined
- name: Перезагрузка сервера для применения изменений
dell.dellemc.openmanage.redfish_powerstate:
hostname: "{{ inventory_hostname }}"
username: "{{ dell_username }}"
password: "{{ dell_password }}"
state: "on"
Подробное объяснение:
-
Получение информации о системе: Первый шаг заключается в использовании модуля
dellemc.openmanage.redfish_system_info
, чтобы получить информацию о сервере, включаяManagerID
, который нужен для выполнения следующих запросов. -
Настройка AC power recovery: Второй шаг использует модуль
uri
для выполнения PATCH-запроса на Redfish API, чтобы изменить параметрPowerRestorePolicy
наAlwaysOn
. Убедитесь, что URL-адрес правильный, и что используемые учетные данные имеют необходимые разрешения для изменения настроек. -
Перезагрузка сервера: В последнем шаге используется модуль
dellemc.openmanage.redfish_powerstate
, чтобы включить сервер. Это необходимо, чтобы изменения вступили в силу, если сервер был выключен.
Примечание:
Перед выполнением playbook убедитесь, что все нужные зависимости установлены, а Ansible настроен для работы с вашими серверами Dell. Также протестируйте playbook на тестовом сервере, чтобы избежать возможных проблем на производственных системах.