1

我制作了一个 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 }

或类似的东西。

4

1 回答 1

1

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

另一种方法是使用条件导入这里是一个例子 if include and fall back to defaults.yml

vars_files: - ["{{ ansible_os_distribution }}".yml, 'defaults.yml' ]

希望有帮助

于 2014-03-09T20:22:15.883 回答