我正在使用Ansible来设置EC2实例并部署应用程序.有一个主机脚本,它收集标签相关的服务器和组信息.我想把这些动作作为一个单一的剧本来运行,所以
但是,如果在播放期间创建/更新了服务器,则提前加载库存,因此没有服务器/组数据.我可以1)单独提供和部署剧本2)使用add_host技巧在服务器更新时模拟动态库存,但这些方法存在缺陷.
我可以强制Ansible重新加载库存吗?我的测试文件是:
hosts脚本:
#!/bin/sh
echo `date` >> log.log
echo "{\"standalone\":[\"localhost\"]}"
Run Code Online (Sandbox Code Playgroud)
样品playbook.yml:
---
- hosts: all
tasks:
- name: show inventory_hostname
command: echo {{ inventory_hostname }}
Run Code Online (Sandbox Code Playgroud)
我运行它ansible-playbook -i hosts playbook.yml -v,看到两个运行:
$> cat log.log
Thu Mar 12 09:43:16 SAMT 2015
Thu Mar 12 09:43:16 SAMT 2015
Run Code Online (Sandbox Code Playgroud)
但是我还没有找到加倍它的命令.