在Mac OS上安装后找不到ansible.cfg

时间:2017-02-07 12:57:31

标签: python macos ansible

我的应用安装ansible == 2.2.1.0作为其要求的一部分,我希望它使用我在特定位置的库。 我试图找到ansible.cfg文件,但无法在任何地方找到它,也不确定它最好放在哪里。 我正在使用Mac OS。 编辑: 我在/Users//.ansible.cfg上设置了一个配置文件,当我用-vvv运行ansible-playbook时,它显示: 使用/Users//.ansible.cfg作为配置文件

但我出于某种原因得到了这些错误和警告:

[警告]:找不到主机文件:/ etc / ansible / hosts

[警告]:提供的主机列表为空,只有localhost可用

ERROR!相互冲突的行动陈述

谢谢!

1 个答案:

答案 0 :(得分:1)

来自Ansible docs

  

可以在配置文件中进行更改,并按以下顺序处理:

     
      
  • ANSIBLE_CONFIG(环境变量)
  •   
  • ansible.cfg(在当前目录中)
  •   
  • .ansible.cfg(在主目录中)
  •   
  • /etc/ansible/ansible.cfg
  •   

也就是说,无需填充 Ansible 即可运行这些位置。但你应该 在那里寻找

如果您的应用程序正在运行 Ansible ,并且您想指定配置的内容,只需在执行目录中创建ansible.cfg即可。如果您希望管理配置,只需按顺序查找它们并按您的需要进行管理。您甚至可以创建每个文件, Ansible 将查找它们。然后,您可以通过在ansible.cfg-vv来电中添加ansible参数来确定使用的ansible-playbook

您看到的警告和错误与找不到 Ansible 配置无关。

[WARNING]: Host file not found: /etc/ansible/hosts

当您致电ansibleansible-playbook时,请添加--inventory path/to/your/inventory。这也将解决下面的警告。

[WARNING]: provided hosts list is empty, only localhost is available

ERROR! conflicting action statements

这通常是由在单个任务项中进行多个模块调用引起的。把它们分开:

- name: make some files
  file: state=directory dest=/etc/foo
  file: src=foo/bar dest=/etc/foo/bar

应该是

- name: create a dir
  file: state=directory dest=/etc/foo

- name: create a file
  file: src=foo/bar dest=/etc/foo/bar