ansible - Ansible 检查主机文件
问题描述
稳定:2.9
我搜索命令或选项如何检查我的“主机”库存文件与 group_vars 树 fs 之间的一致性。
我解释:
- 我的主机文件:
[all]
N01
N02
S01
S02
[zone1]
N01
N02
[zone2]
S01
S02
[zone3]
Z01
Z02
- Group_vars 树 FS:
PlayBook_dir
\__group_vars:
- zone1.yml
- zone2.yml
- 希望,用这个检查做一个测试:
当我启动我的剧本时,他显示了类似的“group_var dir tree 中的错误 No zone3”。
你知道这个或其他测试吗?
谢谢!
解决方案
您可以在 localhost 上group_vars
使用stat 模块检查文件是否存在。可以使用assert检查结果。
# First stat the path for file existence by looping over inventory groups
- stat:
path: "{{ playbook_dir }}/group_vars/{{ item.key }}.yml"
loop: "{{ groups | dict2items }}"
register: gvars
# Loop over the registered variable and fail assertion if path doesn't exist
- assert:
that:
- item.stat.exists
fail_msg: "{{ item.invocation.module_args.path }} does not exist"
when:
- item.item.key not in ["all", "ungrouped"]
loop: "{{ gvars.results }}"
loop_control:
label: "{{ item.item.key }}"
推荐阅读
- sqlite - 如何自动将数据从 googlesheet 获取到本地 txt 或 csv 文件?
- c++ - 如何读取特定格式的文本文件 c++
- jsp - 使用 JSTL 设置 html 属性值
- android - PowerMockito Spy: Calling real method results with CannotStubVoidMethodWithReturnValue
- python - Selenium - 如何从 iframe 中发送 jQuery?
- ios - 使用 ARkit 生成多个对象
- python - 如何通过 Selenium (Python) 从博客文章中抓取信息
- angular - Http post调用并等待foreach内部的响应并使用observables / angular触发下一个调用
- python - 字典到多索引熊猫数据框
- reactjs - 无法使用 Material UI 在 React 中获取表单字段数据