【发布时间】:2015-11-24 07:17:12
【问题描述】:
我正在尝试创建一个模板,它将使用mine.get 检索领事服务器的 IP 地址作为 DNS。在命令行上它似乎工作正常,但在模板上下文中使用时它不返回任何内容
这是我的设置
在 /srv/pillar 我添加了mines.sls 并修改了top.sls 如下
mines.sls
mine_functions:
network.ip_addrs: []
top.sls
base:
'*':
- mines
刷新柱子并使用mine.send和mine.update后,我可以从saltmaster服务器查询consul的IP地址
sudo salt 'redis*' mine.get 'consul*' network.ip_addrs
redis-001-stage.c.project-gce.internal:
----------
consul-001-adm.c.project-gce.internal:
- 192.16.0.1
consul-002-adm.c.project-gce.internal:
- 192.16.0.2
我尝试使用模板在状态文件中应用相同的原则
# Resolver Configuration
resolv-file:
file.managed:
- name: /etc/resolv.conf
- user: root
- group: root
- mode: '0644'
- source: salt://resolver/files/resolv.conf
- template: jinja
- defaults:
nameservers: {{ salt['mine.get']('*', 'network.ip_addrs', 'eth1').items() }}
在resolve.conf中
{%- for nameserver in nameservers %}
nameserver {{ nameserver }}
{%- endfor %}
但是域名服务器总是空着,有人可以建议吗?
【问题讨论】:
标签: salt-stack