Доступ к зернам с помощью Salt-ssh в шаблонах Jinja
Мне нужно получить доступ к пользовательским зернам в моих файлах конфигурации, используя шаблоны Jinja. Вот мои файлы.
[root@localhost salt]# cat my_config.conf
{{ grains['ip'] }}
[root@localhost salt]# cat test_jinja.sls
/root/my_config.conf:
file.managed:
- source: salt://my_config.conf
- user: root
- group: root
- mode: '0644'
- makedirs: True
- force: True
- template: jinja
[root@localhost salt]# salt-ssh 'my-ip' state.sls test_jinja
10.225.253.134:
----------
ID: /root/test
Function: file.managed
Result: False
Comment: Unable to manage file: Jinja variable 'dict object' has no attribute 'ip'
Started: 12:57:49.301697
Duration: 33.039 ms
Changes:
[root@localhost salt]# cat /etc/salt/roster
my-ip: # The id to reference the target system with
host: xx.xx.xx.133 # The IP address or DNS name of the remote host
user: root # The user to log in as
passwd: teledna # The password to log in with
grains:
ip: 'xx.xx.xx.133'
Как получить доступ к зернам в конфигурационных файлах, используя salt-ssh???
2 ответа
Похоже, это ошибка в соли, когда зерна из списка не отправляются миньону, вы можете попробовать этот PR?
Причина в том, что нет зерна ip. Чтобы перечислить все зерна используйте salt '*' grains.items