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

Register ansible variable to different name

我有一个剧本,我正在 运行 执行 local_action 任务(用 "localhost" 覆盖 ansible_host 变量)但我想访问数据在 local_action 任务 运行ning 之前的 ansible_host 变量中,在此过程中。

这是我迄今为止尝试过的方法,但出现错误 "'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 连接到本地主机,然后 运行 给出的 ssh 命令。我之所以这样做,而不是仅仅 运行 对 ansible_host 执行 command 任务,是因为我找不到任何其他解决方法来使这个特定脚本工作。如果我 运行 它与 command 任务一起使用,它将无限期挂起。

还有其他方法可以实现我想做的事情吗?

这就是 set_fact 模块的用途:

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