在ansible - role配置文件中使用参数化角色

时间:2014-03-07 11:00:38

标签: linux ansible ansible-playbook

我制作了一本ansible playbook,推出了一个完整的JBoss-EAP 6应用程序(因此,软件,数据源配置,数据库,工作)。一切运行正常,但我有像

这样的结构
- { role: instance, 
          bind_address: "{{ ansible_eth1.ipv4.address }}", 
          instance_type: standalone-ha, 
          port_offset: 0,  
          instance_name: test, 
          scanner_name: postnl, 
          lbl_group: testcluster, 
          admin_user: jbossadmin, 
          admin_password: "Welkom01!", 
          java_memory_min: 256m, 
          java_memory_max: 256m, 
          java_memory_perm: 256m }

在我的剧本中。这工作正常,但在这个问题中,我希望以更简洁的方式定义变量(当然有groups_var目录,您可以在其中放置这些变量,但是当您需要两个或更多时,这不会起作用实例

有没有办法清理它,就像这样:

  - {role: instance, role_vars: /opt/test.cfg }

或类似的东西。

1 个答案:

答案 0 :(得分:1)

一种方法是使用host_var来定义var。

另一种方法是使用条件导入 这是一个例子,如果包含并回退到defaults.yml

  

vars_files:         - [“{{ansible_os_distribution}}”。yml,'defaults.yml']

希望有所帮助