2016-12-07 71 views
1

我使用Datadog for Ansible。我有一个安装Datadog软件包的角色,但在安装软件包后不会自动运行数据代理角色。 目前,我们需要在每个项目中手动调用Datadog角色。Ansible:安装角色包并运行它

- hosts: ... 
roles : 
- role1 (installing Datadog) 
- Datadog.datadog 

是否可以调用Datadog角色在我role1上,而不必写“datadog.datadog” role1上后随处可见。准确地说,我们可以在负责安装此角色的任务之后执行角色吗?

预先感谢您:)

+0

您是否检查过“meta”,您可以将其添加为依赖项 –

回答

1

正如你可以看到here,Ansible提供角色依赖条件。 您可以使用main.yml文件在Datadog.datadog角色中创建名为meta的新目录。在meta/main.yml

--- 
dependencies: 
    - { role: role1 } 

之后,当你调用Datadog.datadog作用,Ansible将前Datadog.datadog角色自动运行role1

如果您创建具有相同meta/main.yml文件名为Datadog.datadog1另一个角色,并呼吁角色Datadog.datadogDatadog.datadog1,然后Ansible将运行role1只有一次,运行Datadogs角色之前。