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

Список узлов через пробел для запуска политики (по умолчанию — все узлы); используется только с run

--verbose

Включить подробный вывод Ansible (флаг -vvv); используется только с run

show [id_политики …]

Показать playbook одной или нескольких политик (можно перечислить несколько ID через пробел)

Пример

  1. Чтобы получить список всех политик, введите следующее:

    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
    
  2. Чтобы запустить политику, введите следующее:

    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
    
  3. Чтобы посмотреть 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