依赖关系 – 如何为角色指定可安装的预处理程序?

前端之家收集整理的这篇文章主要介绍了依赖关系 – 如何为角色指定可安装的预处理程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
应该如何为角色依赖关系定义预处理。
我目前有一个apache角色有一个用户变量,所以在我自己的角色<角色> /Meta/main.yml我做的事情像:
---
dependencies:
  - { role: apache,user: proxy }

此时的问题是我还没有我指定的用户,当角色尝试在不存在的用户下启动apache服务器时,我收到一个错误

我尝试在< role> /tasks/main.yml中创建一个任务,如:

---
- user: name=proxy

但是,只有在依赖关系(这是预期的)运行apache任务之后才能创建用户。那么,有没有办法创建一个在依赖关系中运行角色之前创建用户的任务?

简短的答案:我不认为该语言允许为角色指定pre_tasks。

您可以通过将用户的创建移动到单独的剧本中,并将包含该剧本而不是角色来作弊/解决。这样的事情

my_fake_role_playbooks / user_and_apache.yml:

- hosts: "{{p_hosts}}"
  pre_tasks:
    user: name=proxy
  roles: [ apache ]

actual_playbook.yml:

- include: my_fake_role_playbooks/user_and_apache.yml p_hosts=[host1,host2]

*代码未经测试。

HTH

猜你在找的设计模式相关文章