Как заставить пересобрать ГП хоста

mds

Участник
Регистрация
25.03.24
Сообщения
22
Реакции
2
вызываю на хосте

Код:
salt-call  pillar.items -c /srv/salt/standalone/config/ pillar='{"force": True, "verbose": true}' | grep -a2 -b50 rbta_ldap_custom_gp_host_packages
4561:            rbta_ldap_custom_gp_host_packages:
4608-                |_
4627-                  ----------
4656-                  pkg_name:
4684-                      virtualbox-7.0
4721-                  pkg_state:
4750-                      installed
т.е. групповая политика передается.

Пробую найти /srv/salt/standalone/roots/states/policies/host-policies/rbta_ldap_custom_gp_host_packages/init.sls
но его нет
делал
salt-call state.apply gpupdate.gp -c /srv/salt/standalone/config/ pillar='{"force": True, "verbose": true}'
salt-call state.apply policies.host-policies -c /srv/salt/standalone/config
salt-call -c /srv/salt/standalone/config saltutil.clear_cache
salt-call -c /srv/salt/standalone/config schedule.run_job sync_all
salt-call -c /srv/salt/standalone/config gp_sum.build_and_run_gp force=true
salt-call -c /srv/salt/standalone/config schedule.run_job build_and_run_gp
 
Скрипт ГП, или что? Или скрин в админке?
 
Код:
{% set id = 'rbta_ldap_custom_gp_host_packages' %}
{% set node = salt['grains.get']('nodename') %}
{% set gpo = salt['pillar.get']('aldpro-hosts:' + node + ':' + id) %}
{% if gpo %}


    {%- macro getvalid(value, available) -%}
        {{- value if value!='' and value.lower() in available|lower else available[0] -}}
    {%- endmacro %}


    {%- for item in gpo %}
        {%- if item.pkg_name is not none %}


            {%- set pkg_name = item.pkg_name %}
            {%- set pkg_state = getvalid(item.pkg_state, ['installed', 'removed'])|lower %}


{{ id }}_{{ pkg_name }}:
                {%- if pkg_state=='removed' %}
                    pkg.removed:
                        - name: {{ pkg_name }}
                {%- else %}
                    pkg.installed:
                        - name: {{ pkg_name }}
                        - refresh: True
                        - cache_valid_time: 300
                        - force_yes: True
                {%- endif %}


        {%- endif %}
    {%- endfor %}


{% endif %}
 
Попробуй так
Код:
{% set my_host = salt['grains.get']("nodename") %}
{% set gpo_name = 'rbta_ldap_custom_gp_host_packages' %}
{% set gpo = salt['pillar.get']('aldpro-hosts:' + my_host + ':' + gpo_name) %}
{% if gpo %}


    {%- macro getvalid(value, available) -%}
        {{- value if value!='' and value.lower() in available|lower else available[0] -}}
    {%- endmacro %}


    {%- for item in gpo %}
        {%- if item.pkg_name is not none %}


            {%- set pkg_name = item.pkg_name %}
            {%- set pkg_state = getvalid(item.pkg_state, ['installed', 'removed'])|lower %}


{{ id }}_{{ pkg_name }}:
                {%- if pkg_state=='removed' %}
                    pkg.removed:
                        - name: {{ pkg_name }}
                {%- else %}
                    pkg.installed:
                        - name: {{ pkg_name }}
                        - refresh: True
                        - cache_valid_time: 300
                        - force_yes: True
                {%- endif %}


        {%- endif %}
    {%- endfor %}


{% endif %}
 
дело было "nodename" в двойных кавычках?
 
Благодарю! Работает.
 
Назад
Сверху Снизу