我有一个名为get_install_command的角色,该角色运行本地python脚本,该脚本返回需要在远程服务器上运行的命令。角色get_install_command设置一个名为“ install_command”的变量,角色“ install”将尝试使用该变量。这是我的代码:
- hosts: localhost
roles:
- get_install_command
- hosts: remote_host
roles:
- install
但是我收到此错误:
"installation_command.stdout_lines": "VARIABLE IS NOT DEFINED!"
该如何解决?在我看来,我需要将此变量放在更高的范围内
答案 0 :(得分:0)
在戏剧中使用register
或set_fact
定义的变量的范围是运行任务的主机。因此,由于您在get_install_command
上运行localhost
,因此install_command
变量在localhost
上可用。
文档涵盖how to access variables defined on another host。您想要这样的东西:
hostvars.localhost.install_command.stdout