我有一个Playbook,我正在运行local_action
任务(用ansible_host
覆盖"localhost"
变量)但我想访问ansible_host
中的数据在local_action
任务运行之前的{1}}变量,在此期间。
这是我到目前为止所尝试的内容,但我收到了错误"'register' is not a valid option in debug"
playbook.yml
- debug:
var: ansible_host
register: run_host
- name: Install OBS
local_action: command ssh ansibler@{{ run_host }} "sudo /home/ansibler/obs/bin/install.sh"
become_user: bsmith
local_action
任务应该ssh到localhost然后运行给定的ssh命令。我这样做而不是仅仅针对command
运行ansible_host
任务的原因是因为我无法找到任何其他解决方法来使此特定脚本生效。如果我使用command
任务运行它,它将无限期挂起。
还有另一种方法可以实现我想要做的事情吗?
答案 0 :(得分:0)
这就是set_fact
模块的用途:
- set_fact:
run_host: "{{ ansible_host }}"