将ansible变量注册到不同的名称

时间:2017-06-06 06:22:33

标签: ansible ansible-2.x

我有一个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任务运行它,它将无限期挂起。

还有另一种方法可以实现我想要做的事情吗?

1 个答案:

答案 0 :(得分:0)

这就是set_fact模块的用途:

- set_fact:
    run_host: "{{ ansible_host }}"