我正在使用 salt-cloud 部署虚拟机,并尝试使用 Saltstack Reactor 系统将它们注册到我的 DNS 中。
我有一个带有此触发器的reactor.conf :
reactor:
- 'salt/cloud/*/created': # Add a VM
- /srv/reactor/initialize_vm.sls
initilize_vm.sls:
invoke_orchestrate_add_to_dns:
runner.state.orchestrate:
- mods: orch.add_to_dns
- pillar:
event_name: {{ name }}
event_profile: {{ profile }}
orch/add_to_dns.sls:
{% set name = pillar['event_name'] %}
{% set profile = pillar['event_profile'] %}
vm-add-dns-{{ name }}:
sqlite3.row_present:
- db: /var/lib/powerdns/pdns.sqlite3
- table: records
- where_sql: "name='{{ name }}' and type='A'"
- data:
domain_id: 1
name: {{ name }}
type: A
content: {{ ??? }}
ttl: 300
prio: 0
disabled: 0
我只需要知道新minion的IP地址。但是当编排在主服务器上运行时,我不能只做一个内容: {{ grains['fqdn_ip4'] }}。
任何想法来获取奴才信息?