Playbook目录和Inventory目录

时间:2017-04-11 10:48:00

标签: ansible ansible-inventory

Here 有一句话:

  

提示:在Ansible 1.2或更高版本中,group_vars /和host_vars /目录可以存在于playbook目录或inventory目录中。如果两个路径都存在,则playbook目录中的变量将覆盖inventory目录中设置的变量。

我该如何定义:

  • playbook目录
  • 库存目录

我不知道那个配置,似乎在我使用Ansible的游戏中,我总是有一个dir,它同时是playbook目录和库存目录,但是这种分离可能很有用。

2 个答案:

答案 0 :(得分:7)

您可以通过指向文件,脚本或目录来指定库存:

  • 在命令行中:

    ansible-playbook playbook.yml -i /path/to/inventory
    
  • in ansible.cfg

    inventory = /path/to/inventory
    

    无论您使用哪个选项,库存目录都将是存储使用过的库存文件的选项。

剧本目录就是存储剧本的目录。

答案 1 :(得分:0)

@Miklos Kosarkar,我知道这是一篇旧文章,但是从未得到答复。默认情况下,Ansible在查找清单文件时会忽略某些文件扩展名。这是在ansible.cfg的[库存]部分中设置的。

[inventory]
# enable inventory plugins, default: 'host_list', 'script', 'auto', 'yaml', 'ini', 'toml'
#enable_plugins = host_list, virtualbox, yaml, constructed

# ignore these extensions when parsing a directory as inventory source
#ignore_extensions = .pyc, .pyo, .swp, .bak, ~, .rpm, .md, .txt, ~, .orig, .ini, .cfg, .retry

# ignore files matching these patterns when parsing a directory as inventory source
#ignore_patterns=

# If 'true' unparsed inventory sources become fatal errors, they are warnings otherwise.
#unparsed_is_failed=False