You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看ansible-playbook执行时读取的vars文件

查看Ansible Playbook执行时加载的变量文件

以下几种方法可以帮你追踪Ansible执行过程中加载的变量文件:

  • 用ansible-config dump查看默认变量路径
    先确认Ansible默认扫描变量文件的目录,执行命令:

    ansible-config dump | grep DEFAULT_VARS_PATH
    

    输出会列出Ansible默认查找变量的目录,比如/etc/ansible/group_vars/、/etc/ansible/host_vars/,这些目录下的yml/yaml文件都会被自动加载。

  • 用--list-vars查看变量来源
    虽然不会直接列出文件,但可以通过变量的来源标注推断加载的文件,执行:

    ansible-playbook your_playbook.yml --list-vars
    

    输出中部分变量会附带来源信息,比如from group_vars/all.yml,对应就是加载了该文件。

  • 自定义回调插件记录加载的文件
    这是最直接的方法,通过回调插件捕获变量加载的文件路径:

    1. 在项目目录创建callback_plugins文件夹
    2. 新建var_loader_logger.py文件,内容如下:
      from ansible.plugins.callback import CallbackBase
      
      class CallbackModule(CallbackBase):
          CALLBACK_NAME = 'var_loader_logger'
          CALLBACK_VERSION = 2.0
          CALLBACK_TYPE = 'notification'
      
          def v2_playbook_on_start(self, playbook):
              self._display.display("=== 已加载的变量文件 ===")
              for loader in playbook._loader._loaders.values():
                  if hasattr(loader, '_files_loaded'):
                      for file_path in loader._files_loaded:
                          self._display.display(f"→ {file_path}")
      
    3. 执行playbook时指定该插件:
      ansible-playbook your_playbook.yml -e 'ansible_callback_plugins=./callback_plugins'
      

    执行日志里会直接列出所有被加载的变量文件路径。

  • 检查playbook内的vars_files字段
    如果你的playbook里显式声明了vars_files,直接查看该字段下的文件列表即可,比如:

    - name: 示例Playbook
      hosts: all
      vars_files:
        - ./vars/common.yml
        - ./vars/{{ ansible_os_family }}.yml
    

    这些文件会被Ansible优先加载。

内容的提问来源于stack exchange,提问作者maf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 05:34:55