我有一个本地脚本,该脚本向我返回需要在其上进行安装的主机的名称。如何获取此脚本的结果并使用它来设置主机?这是我认为可以编写以实现此目的的那种代码的示例:
---
- hosts: localhost
roles:
- getHostScript # running this sets a variable called hostname
- hosts: "{{{hostvars.localhost.hostname}}"
roles:
- install # this runs the install script
正确的方法是什么?
答案 0 :(得分:0)
使用add_host
模块将新的主机添加到您的广告资源,然后在另一场比赛中将该主机作为目标:
---
- hosts: localhost
roles:
- getHostScript # running this sets a variable called hostname
tasks:
- name: add new host to inventory
add_host:
name: "{{ hostname }}"
groups: target
- hosts: target
roles:
- install # this runs the install script
在这里,我要将新主机添加到名为target
的组中,这样我就可以引用组名,而无需在接下来的播放中知道实际的主机名。