policy¶
Управление политиками
Зачем нужна¶
Команда — CLI-эквивалент работы с политиками из веб-интерфейса: список всех политик с путями до их playbook’ов, разовый запуск политики (опционально только на выбранных узлах) и просмотр сгенерированного playbook’а. В отличие от запуска через задачу, policy run работает напрямую с политикой и принимает список узлов через аргумент
Типичные случаи применения:
разовый запуск политики на одном-двух конкретных устройствах без создания отдельной задачи
отладка политики с флагом
--verbose— увидеть подробный вывод Ansible по каждому шагупроверка содержимого сгенерированного playbook’а (
policy show) перед запуском или для разбора некорректного поведенияавтоматизация: запустить политику из скрипта по триггеру внешней системы
Синтаксис¶
rude policy list
rude policy run [id_политики] [--hosts host1 host2 ...] [--verbose]
rude policy show [id_политики ...]
Параметры¶
Параметр |
Описание |
|
|---|---|---|
list |
Вывести список всех политик с их ID |
названием и путём к playbook |
run [id_политики] |
Запустить политику с указанным ID |
|
--hosts |
Список узлов через пробел для запуска политики (по умолчанию — все узлы); используется только с |
|
--verbose |
Включить подробный вывод Ansible (флаг |
|
show [id_политики …] |
Показать playbook одной или нескольких политик (можно перечислить несколько ID через пробел) |
Пример¶
Чтобы получить список всех политик, введите следующее:
rude policy listПосле выполнения команды в выводе отобразится следующая информация:
#ID #Название политики #Путь до playbook 1001 Обслуживание сервера /var/lib/rudesktop/playbooks/job_1001_обслуживание-сервера.yaml 1002 Инвентаризация /var/lib/rudesktop/playbooks/job_1002_инвентаризация.yaml 10000 Автообновление клиентов /var/lib/rudesktop/playbooks/job_10000_автообновление-клиентов.yaml 10003 Обновление ОС /var/lib/rudesktop/playbooks/job_10003_обновление-ос.yaml
Чтобы запустить политику, введите следующее:
rude policy run 1002Чтобы запустить политику только на указанных узлах (по умолчанию — на всех):
rude policy run 1002 --hosts host1 host2Чтобы запустить политику с подробным выводом Ansible (флаг
-vvv):rude policy run 1002 --verboseПосле выполнения команды в выводе отобразится следующая информация:
PLAY [Обслуживание сервера RuDesktop \ Обслуживание сервера] ******************************************************** TASK [Обслуживание сервера] ***************************************************************************************** changed: [localhost] PLAY RECAP ********************************************************************************************************** localhost : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Чтобы посмотреть playbook одной или нескольких политик, введите следующее:
rude policy show 1002или для нескольких политик сразу:
rude policy show 1002 1003После выполнения команды в выводе для каждой политики отобразится её playbook
Playbook ID 1002 /var/lib/rudesktop/playbooks/policy_1002_обслуживание-сервера.yaml - connection: local gather_facts: false hosts: - localhost name: Обслуживание сервера RuDesktop \ Обслуживание сервера strategy: inproc tasks: - ansible.builtin.command: rude maintain --log-delete-after-days '{{ log_delete_after_days }}' delegate_to: localhost name: Обслуживание сервера run_once: true vars: ansible_interpreter_python_fallback: - python3.14 - python3.13 - python3.12 - python3.11 - python3.10 - python3.9 - python3.8 - python3.7 - python3.6 - python2.6 - /usr/bin/python2 - /usr/bin/python3 - /usr/bin/python - /usr/libexec/platform-python - python log_delete_after_days: null