将 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 }}"
我有一个剧本,我正在 运行 执行 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 }}"