gpt4 book ai didi

ansible - 如何使用 vars_prompt 在主机之间共享 ansible 变量

转载 作者:行者123 更新时间:2023-12-01 07:36:46 25 4
gpt4 key购买 nike

在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 ...

最佳答案

正如我在对问题的评论中所说:

您可以使用 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'] }}"

请注意 connection: local仅用于本地测试目的。

关于ansible - 如何使用 vars_prompt 在主机之间共享 ansible 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31177635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com