在ansible中,我在远程计算机上执行了一些代码,然后我想vars_prompt
在另一台主机上再次使用结果.我已经四处搜索了,文档使它听起来像我应该使用{{ hostvars.local_server_name_in_vagrant_group.local_username }}
,使用下面的示例来设置上下文.但是,它表示引用时字典中的索引不存在hostvars
.相反,如下所示,我只做了vars_prompt
两次.毛!有小费吗?
顺便说一下,还讨论了使用 vars_prompt是否是一个好主意.我已经确认,对于我的用法,我确实想要使用vars_prompt.谢谢!
- hosts: vagrant
vars_prompt:
local_username: "enter your desired local username"
... remote task activity using local_username...
- hosts: localhost
connection: local
vars_prompt:
local_username: "enter your desired local username, again (please)
... host task activity, also using local_username ...
Run Code Online (Sandbox Code Playgroud)
小智 12
正如我在问题评论中所说:
您可以使用set_facts将变量注册为当前主机的事实,并从另一个主机访问它.我不认为标准变量存储在角色/任务之后.
这是一个例子:
- name: First
connection: local
hosts: host1
tasks:
- name: register real root user to localhost facts
set_fact: fact_for_host1="1"
- name: Second
connection: local
hosts: host2
tasks:
- debug: msg="{{ hostvars['host1']['fact_for_host1'] }}"
Run Code Online (Sandbox Code Playgroud)
请注意,connection: local
它仅用于本地测试目的.
归档时间: |
|
查看次数: |
4292 次 |
最近记录: |