相关疑难解决方法(0)

重新加载Ansible的动态库存

我正在使用Ansible来设置EC2实例并部署应用程序.有一个主机脚本,它收集标签相关的服务器和组信息.我想把这些动作作为一个单一的剧本来运行,所以

  1. 如果需要,将创建新实例
  2. 主机脚本加载库存(包括服务器的事实)
  3. 部署剧本有效

但是,如果在播放期间创建/更新了服务器,则提前加载库存,因此没有服务器/组数据.我可以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)

但是我还没有找到加倍它的命令.

ansible ansible-inventory

46
推荐指数
3
解决办法
2万
查看次数

标签 统计

ansible ×1

ansible-inventory ×1