【发布时间】:2020-12-16 07:16:39
【问题描述】:
我正在尝试从我的 ansible master 运行到主机(我们称之为 hostclient),这需要在另一个主机上执行某些操作(我们称之为 susemanagerhost :))。
hostclient 需要 ansible_ssh_common_args 并填充 proxycommand,而 susemanager 主机不需要 ansible_ssh_common_args,因为它是直接连接。
所以我想我可以使用delegate_to,但是名为hostclient 的主机和名为susemanagerhost 的主机对于变量ansible_ssh_common_args 的值不同。
我想我可以在运行中将ansible_ssh_common_args 的值更改为ansible_ssh_common_args 的set_fact 到ansible_ssh_common_args_backup(因为我想恢复其他标准任务的原始值),然后将ansible_ssh_common_args 更改为null(从 ansible master 到 susemanager 主机的连接是直接连接,不需要 proxycommand)但它不起作用。
它似乎仍在使用ansible_ssh_common_args 的原始值。
【问题讨论】:
-
请添加更多细节,例如错误消息等。
-
错误是delegate_to的任务是连接错误,当我打开-vvv时,我看到它仍在使用旧的ansible_ssh_common_args,这就是连接错误的原因