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

如何在Molecule中传入额外的清单文件(动态清单脚本)

具体配置方法

1. 配置文件修改位置

所有配置都在对应场景的molecule/<场景名>/molecule.yml文件中调整,找到provisioner(默认值为ansible)配置块,新增inventory.hosts配置项即可。

2. 静态清单文件传入示例

如果使用本地静态清单文件,直接填写相对路径(相对于molecule.yml所在目录)或者绝对路径即可:

provisioner:
  name: ansible
  inventory:
    # 传入自定义静态清单文件
    hosts: ../path/to/your/custom_inventory.ini

3. 动态清单脚本传入示例

如果使用你提到的自定义动态清单脚本,首先要确保脚本有可执行权限(可执行chmod +x your_dynamic_inventory.py添加权限),之后直接填写脚本路径即可,Molecule会自动识别可执行文件为动态清单:

provisioner:
  name: ansible
  inventory:
    # 传入自定义动态清单脚本
    hosts: ../path/to/your/dynamic_inventory.py

注意:动态脚本需要符合Ansible动态清单规范,支持--list和--host <主机名>参数调用,返回格式满足Ansible要求

4. 多清单合并传入

如果需要同时传入多个清单(比如同时使用静态清单+动态清单),可以将hosts设置为数组格式:

provisioner:
  name: ansible
  inventory:
    hosts:
      - ../static_inventory.ini
      - ../dynamic_inventory.py

Ansible会按顺序把所有自定义清单和Molecule自动生成的实例清单合并,你playbook中用到的group[inventory_group]变量可以直接从合并后的清单中读取。

5. 验证配置是否生效

执行molecule <场景名> converge操作前,可以先执行以下命令查看合并后的完整清单内容,确认自定义清单是否已经被正确加载:

molecule inventory

内容的提问来源于stack exchange,提问作者Андрей Шибанов

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:36:00