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

如何在Ansible依赖角色中获取调用方角色名称

在Ansible依赖角色中获取父角色名称的解决方案

默认情况下,{{ role_name }}变量指向的是当前正在执行的角色,所以在bob角色里拿到的肯定是"bob"。要让bob获取到调用它的alice角色名称,得从alice的依赖配置里主动传参:

  1. 修改roles/alice/meta/main.yml,给bob依赖添加变量传递:
dependencies:
- role: bob
  vars:
    parent_role: "{{ role_name }}"  # 这里的role_name属于alice角色上下文,值是"alice"
  1. 之后在bob角色的任务、模板里,直接用{{ parent_role }}就能拿到"alice"这个值了。

原因很简单:当Ansible处理alice的依赖项时,role_name的作用域是alice角色,把它赋值给变量传给bob,bob就能直接用这个变量获取到父角色的名称。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:39:52