Ansible:从group_vars

时间:2018-04-10 16:05:03

标签: python dns ansible

我使用Ansible生成命名服务器的配置。

我的目标是为每个netowrk生成DNS反向区域文件。为了遵循标准,我必须在许多有类别的区域中分割我的无区域。例如,对于172.16.0.0/23网络,我必须将它分成两个/ 24个反向区域:0.16.172.in-addr.arpa和1.16.172.in-addr.arpa。

我在group_vars / all / networks.yaml中有关于网络的数据:

  netX:                    
    subnet: 172.16.0.0   
    netmask: 255.255.254.0 
    netmask_short: 23      
    broadcast: 172.16.1.255

我想从模板生成文件:

- name: Generate reverse files          
  template:                             
    src: reverse.j2                     
    dest: "/var/named/reverse.{{item['network_name']}}" 
    owner: root                         
    group: root                         
    mode: 0644                          
  with_items: <DYNAMIC_DATA_GENERATED_FROM_NETWORK_VARIABLES>

with_items生成我需要的数据结构的最佳做法是什么?我需要使用一个从文件network.yaml获取数据并生成如下输出的函数:

[ {'network_name': 'netX', 
   'zone': '0.16.172.in-addr.arpa']},
  {'network_name': 'netX', 
   'zone': '1.16.172.in-addr.arpa']},]

我是否应该使用先前任务中调用的python脚本并将结果存储在变量中,以便在with_items中使用它?

0 个答案:

没有答案