首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在主机规范中使用变量?

如何在主机规范中使用变量?
EN

Stack Overflow用户
提问于 2015-04-15 11:11:17
回答 1查看 432关注 0票数 0

我希望有一本剧本从这样的变量中查找主机:

代码语言:javascript
复制
---
- hosts: "{{ project_prefix }}_web"
  sudo: yes
  roles:
    - common
    - ansible-role

不幸的是,我得到的输出如下:

代码语言:javascript
复制
___________________________________
< PLAY [{{ project_prefix }}_web] >
 -----------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||


skipping: no hosts matched

如果我硬编码主机值,它就会找到它们。

我不想让任务调用ansible_playbook。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-15 14:37:28

AFAIK你的代码应该有效的。变量展开应用于主机标记值。在使用project_prefix之前,可以添加一个剧本来调试它的打印值吗?若要确认已设置变量,请执行以下操作。

我想问题已经解决了,但这里有一些解释。

  • 当变量未定义时,ansible变量展开将变量的名称(如Jinja2 )返回为值。
  • 有时(当表达式只有像{{var}}这样的变量时),它会给出一个更清晰的消息,比如var: undefined variable (而不是返回变量的名称作为它的值)。

总之,当您在/中看到变量的名称时,它的值很可能是由于没有定义它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29648670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档