自Ansible 1.3版本以来,支持角色依赖关系,以鼓励重用角色定义。为了审计和维护更大的编排,最好有一些方法可以轻松生成一个依赖图,显示哪些角色依赖于其他哪些角色。
依赖关系定义的示例可能是roles/app_node/meta/main.yml:
依赖关系定义的示例可能是roles/app_node/meta/main.yml:
---
dependencies:
- { role: common, some_parameter: 3 }
- { role: apache, port: 80 }
- { role: postgres_client,
dbname: blarg,
other_parameter: 12 }
在roles/postgres_client/meta/main.yml
中可能包含类似以下内容:
---
dependencies:
- { role: postgres_common }
- { role: stunnel,
client: yes,
local_port: 5432
remote_host: db_host
remote_port: 15432
}
当编排中的角色数量增加时,这样嵌套的依赖关系很难维护。因此,我想知道是否有人发现了生成此类依赖图的简便方法,无论是以图形方式(点或neato?)还是仅作为缩进文本图形?这样一种工具可以帮助减少维护复杂性。
gv
模块是 Graphviz 的一部分,它不在 PyPI 上分发。您可以使用 Linux 发行版的软件包管理器(apt、yum...)安装它。软件包名称可能类似于graphviz-python
或python-graphviz
。 - sebn