Доступ к зернам с помощью 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?

https://github.com/saltstack/salt/pull/40775

Причина в том, что нет зерна ip. Чтобы перечислить все зерна используйте salt '*' grains.items

Другие вопросы по тегам