Групповая политика выполнения обновления

rivan

Участник
Регистрация
09.01.24
Сообщения
32
Реакции
1
Делаю как в справочном центре Астры:

Change repositories:
file.managed:
- name: /etc/apt/sources.list
- contents:
- deb [trusted=yes] http://repo.bincol.lan/repos/alse-base/ 1.7_x86-64 main non-free contrib
- deb [trusted=yes] http://repo.bincol.lan/repos/alse-extended/ 1.7_x86-64 main contrib non-free
- deb [trusted=yes] http://repo.bincol.lan/repos/college/ college main

Update sources:
pkg.update:
- dist_upgrade: True
- refresh: True
- kwargs:
- -o "Dpkg::eek:ptions::=--force-confold"
- -o "Dpkg::eek:ptions::=--force-confdef"
- --allow-downgrades
- -f
- -u

Выполняю принудительно политику, чтобы посмотреть что получится.
Первая часть отрабатывает корректно и в sources.list все пишется.
Вторая часть вылетает с ошибкой:


----------
ID: Update sources
Function: pkg.update
Result: False
Comment: State 'pkg.update' was not found in SLS 'rbta_ldap_custom_gp_host_update_system'
Reason: 'pkg.update' is not available.
Changes:

Summary for local
------------
Succeeded: 1 (changed=1)
Failed: 1

Что делаю не так?
 
Судя по тому как выставился изначальный текст - у тебя спецзнаки

Change repositories:
file.managed:
- name: /etc/apt/sources.list
- contents:
- deb [trusted=yes] http://repo.bincol.lan/repos/alse-base/ 1.7_x86-64 main non-free contrib
- deb [trusted=yes] http://repo.bincol.lan/repos/alse-extended/ 1.7_x86-64 main contrib non-free
- deb [trusted=yes] http://repo.bincol.lan/repos/college/ college main

Update sources:
pkg.uptodate:
- dist_upgrade: True
- refresh: True
- options:
-o "Dpkg::Options::=--force-confold"
-o "Dpkg::Options::=--force-confdef"
- --allow-downgrades
- -f
- -u
 
Отступы тоже важны
 

Вложения

  • saltstack_code.txt
    597 байт · Просмотры: 33
Огромное спасибо.
Не работает пример из вики астры, из аз того, что команда и параметр отличается от твоего:
pkg.uptodate: и - options:
там у них update и kwargs

Поменял и все заработало.
 
Не применяются политики, пишет если попробовать применить вручную:

rivan@astra-rivan:~$ sudo salt-call state.apply gpupdate.gp -c /srv/salt/standalone/config/
[sudo] пароль для rivan:
[INFO ] Loading fresh modules for state activity
[INFO ] Fetching file from saltenv 'base', ** done ** 'gpupdate/gp.sls'
[INFO ] Running state [gp_sum.build_and_run_gp] at time 07:49:32.343038
[INFO ] Executing state module.run for [gp_sum.build_and_run_gp]
[ERROR ] Module function gp_sum.build_and_run_gp threw an exception. Exception: Expecting value: line 1 column 1 (char 0)
[INFO ] Completed state [gp_sum.build_and_run_gp] at time 07:49:32.365144 (duration_in_ms=22.106)
local:
----------
ID: gp_sum.build_and_run_gp
Function: module.run
Result: False
Comment: Module function gp_sum.build_and_run_gp threw an exception. Exception: Expecting value: line 1 column 1 (char 0)
Started: 07:49:32.343038
Duration: 22.106 ms
Changes:

Summary for local
------------
Succeeded: 0
Failed: 1
------------
Total states run: 1
Total run time: 22.106 ms
 
И в кэше нет политики обновления созданной вручную выше, компьютер в подразделении на которое назначена политика.
 
Разобрался с ошибкой - почему то нехватало файлов в папке /opt/rbta/aldpro/standalone - скопировал их с другого компа и заработало.
Но теперь другая проблема - не применяет политики автоматически. После выполнения salt-call state.apply gpupdate.gp -c /srv/salt/standalone/config/ в папке /srv/salt/standalone/roots/states/policies/host-policies появилась папка с политикой для автоматического обновления, но она не работает. Ждал и час и день. Не помогло. Но если применить политику вручную командой salt-call state.apply имя_скрипта -c /srv/salt/standalone/config она применяется (политика меняет файл sources.list и выполняется обновление)
В какую сторону рыть? Такая проблема на всех ПК.
 
Разобрался с ошибкой - почему то нехватало файлов в папке /opt/rbta/aldpro/standalone - скопировал их с другого компа и заработало.
Но теперь другая проблема - не применяет политики автоматически. После выполнения salt-call state.apply gpupdate.gp -c /srv/salt/standalone/config/ в папке /srv/salt/standalone/roots/states/policies/host-policies появилась папка с политикой для автоматического обновления, но она не работает. Ждал и час и день. Не помогло. Но если применить политику вручную командой salt-call state.apply имя_скрипта -c /srv/salt/standalone/config она применяется (политика меняет файл sources.list и выполняется обновление)
В какую сторону рыть? Такая проблема на всех ПК.
Это ошибка aldpro 2.3.0. Не обновляются файлы ГП на клиентах автоматически. в ТП знают про это. Обещали исправить в новой версии... Ожидайте новой версии :)
Как вариант создать на каждом клиенте шедулер с командой salt-call ... и запланировать выполнение каждые к примеру 30 мин или 1 час.
Либо копаться в питоновских скриптах aldpro и искать косяк...
 
Последнее редактирование:
Да вообще политики странно себя ведут - то работают, то нет.
Создал простейшую политику чтобы сохраняло имя последнего вошедшего пользователя и перемещало фокус ввода на поле пароля.
В свойствах ПК на вкладке Групповая политика все есть, на самом ПК нифига не применилось.
1727358376371.png
 
Короче по своему опыту вкратце:
- Применить политику сейчас - sudo salt-call -l debug -c /srv/salt/standalone/config/ gp_sum.build_and_run_gp force=True
- В конфигурации скрипта первая строка пустая.
- В политике желательно создать атрибут параметра (любое название и значение).
 
Чтобы полностью обновить политики на minion не смотря на то, что в кэше, использую
sudo salt-call state.apply gpupdate.gp -c /srv/salt/standalone/config/ pillar='{"force": True,"verbose": True}'
таким способом отлаживал политики ... поменял скрипт - обновил как force и сразу виден результат
возможно кому пригодится
ALD Pro 2.3.0
 
Назад
Сверху Снизу