Size: a a a

2020 March 02

n

n3 in Saltstack
ничего не отдаёт
источник

R

Roman in Saltstack
n3
к слову pillar # salt-call pillar.get users
local:
на мастере или на миньене?
на мастере и не должно
источник

KN

Konstantin Nikolaev in Saltstack
Вывод команды salt -l debug 'host' state.apply users на pastbin выложи и сюда ссылку дай
источник

n

n3 in Saltstack
это как раз вывод при таком формате
источник

n

n3 in Saltstack
base:
 '*':
   - users.vpupkin
   - users.bpupkin
   - users.cpupkin
источник

KN

Konstantin Nikolaev in Saltstack
n3
base:
 '*':
   - users.vpupkin
   - users.bpupkin
   - users.cpupkin
ну ок, а теперь вывод содержимого users.vpupkin с вырезанием всей приватной инфы
источник

n

n3 in Saltstack
cat tmp/template.sls
#
users:
   NAME:
       status: present  # present / absent
       uid: 5002
       groups:
           - root
           - sudo
           - admins
       fullname: 'FULLNAME'
       home: /home/NAME
       shell: /bin/bash
       createhome: True
       ssh_keys:
           - KEY
источник

R

Roman in Saltstack
а salt 'host' pillar.get users
источник

KN

Konstantin Nikolaev in Saltstack
n3
{% for user, args in pillar.get('users', {}).items() %}
{{ user }}:

   {% if args.status == 'present' %}
   group.present:
       - gid: {{ args.uid }}

   user.present:
       - fullname: {{ args.fullname }}
       - uid: {{ args.uid }}
       - gid: {{ args.uid }}

       {% if 'shell' in args %}
       - shell: {{ args.shell }}
       {% endif %}

       {% if 'home' in args %}
       - home: {{ args.home }}
       {% endif %}

       {% if 'groups' in args %}
       - groups: {{ args.groups }}
       {% endif %}

   {% if 'ssh_keys' in args %}
   ssh_auth.present:
       - user: {{ user }}
       - names:
       {% for key in args.ssh_keys %}
           - {{ key }}
       {% endfor %}
   {% endif %}

   {% endif %} # if status=present


   ## Remove User if absent
   {% if args.status == 'absent' %}
   user.absent: []
   group.absent: []
1. Ты в конце `{% - endfor %}`поди не докопипастил.
2. Слышал про это https://github.com/saltstack-formulas/users-formula ?
источник

n

n3 in Saltstack
Не, я просто специально это дописывать не стал. Я у другого гражданина идею подглядел. В самом инит.слс  - совершенно не важно какая логика. там можно вообще любую примитивщину написать, просто для обкатки
источник

MT

Maksim Terentev in Saltstack
Не по теме, но я бы if конструкцию
{% if 'shell' in args %}
 - shell: {{ args.shell }}
{% endif %}

заменил на
  - shell: {{ args.get('shell', 'дефолтное_значение') }}

или на
  - shell: {{ args.shell | default ('дефолтное_значение', true) }}
источник

GG

George Gaál in Saltstack
Maksim Terentev
Не по теме, но я бы if конструкцию
{% if 'shell' in args %}
 - shell: {{ args.shell }}
{% endif %}

заменил на
  - shell: {{ args.get('shell', 'дефолтное_значение') }}

или на
  - shell: {{ args.shell | default ('дефолтное_значение', true) }}
default('значение', true) мне сейчас очень подгадило
источник

GG

George Gaál in Saltstack
Точно не разбирался, но подставляло оно не то, что надо
источник

KP

Kirill Proskurin in Saltstack
никогда не использовол джинжа фильтр для этого, всегда пишу так:
- shell: {{ args.get('shell', 'дефолтное_значение') }}
источник

MT

Maksim Terentev in Saltstack
George Gaál
Точно не разбирался, но подставляло оно не то, что надо
Ключик true можно покрутить
источник

n

n3 in Saltstack
Мои мучения отчасти привели меня к довольно странной фигне.  Видимо дело в количестве. я создал большую пачку pillar.sls, из рабочего шаблона, на который точно срабатывал pillar.get.  В итоге выяснил, что рендер как-то странно кладёт в память новые пиллары. А именно, 2 темплейта положил (их даже в топ слс нет), а все остальные - нет. Печально, что опция   - ignore_missing: True  также не помогает стэйту увидеть файлы пиллара.
источник

n

n3 in Saltstack
В документации нет инфы о том, сколько он может хранить инмемори.
источник

n

n3 in Saltstack
У кого нибудь есть состояния на несколько десятков пилларов? Норм пашет?
источник

KP

Kirill Proskurin in Saltstack
и на тысячу пашет
источник

n

n3 in Saltstack
Тогда десятикрат странно. После каждого добавления из шаблона я вызывал salt "master" saltutil.refresh_pillar  и тем не менее - ничего нет
источник