Не удается найти файл конфигурации в «/ etc / ansible /» в Mac OS X

Я нахожусь в Mac OS X и новичок в Ansible . Я забыл, как я его установил. Я думаю, что через pip :

 $ pip freeze altgraph==0.12 ansible==1.9.2 

Во всяком случае, из того, что я читаю, должен быть файл конфигурации в /etc/ansible/ , но содержимое этого каталога просто:

 $ ls -a /etc/ansible/ . .. .hosts.swp hosts roles 

Не похоже, что существует переменная среды:

 $ echo $ANSIBLE_CONFIG # blank line 

Ansible работает, насколько я могу судить (без локального ansible.cfg , и нет ничего в ansible папке в каталоге пользователя), но я запутался.

Может кто-нибудь объяснить, что я не получу здесь?

3 Solutions collect form web for “Не удается найти файл конфигурации в «/ etc / ansible /» в Mac OS X”

Из того, что я знаю, файл конфигурации Ansible ( ansible.cfg ) может быть расположен здесь для настроек конфигурации пользовательского уровня:

 ~/.ansible.cfg 

Здесь также находится общесистемная конфигурация; Где вы заявляете, что вы не можете найти такой файл:

  /etc/ansible/ansible.cfg 

Если у вас есть несколько пользователей в вашей системе, возможно, существует ~/.ansible.cfg в одном из своих пользовательских каталогов, о которых вы забыли?

Вы заявляете, что можете установить его с помощью pip , но, проверяя формулу Homebrew для Ansible , она была недавно удалена с версии 1.9.2 до 1.9.3 4 сентября . Так, возможно, вы установили его через Homebrew?

И ваша главная проблема заключается в том, ansible.cfg ли ansible.cfg :

Ansible работает, насколько я могу судить (без локального ansible.cfg , и нет ничего в ansible папке в каталоге пользователя), но я запутался.

Может кто-нибудь объяснить, что я не получу здесь?

Да, он должен работать нормально без конфигурации. Для большинства программных продуктов все конфигурационные файлы переопределяют стандартные значения по умолчанию для системы. Поэтому, если ansible.cfg отсутствует, Ansible все равно будет работать, но будет использоваться только базовые системные значения по умолчанию. Как поясняется в официальной документации Ansible :

Некоторые настройки в Ansible настраиваются через файл конфигурации. Конфигурация запаса должна быть достаточной для большинства пользователей, но могут быть причины, по которым вы захотите их изменить.

Изменения могут быть сделаны и использованы в файле конфигурации, который будет обрабатываться в следующем порядке:

 * ANSIBLE_CONFIG (an environment variable) * ansible.cfg (in the current directory) * .ansible.cfg (in the home directory) * /etc/ansible/ansible.cfg 

Формула homebrew заменяет строку /etc/ansible в constants.py с /usr/local/etc/ansible . Для меня это похоже на плохую юю.

У меня не было /usr/local/etc/ansible после того, как была brew install ansible . Тем не менее, я действительно подтвердил, что если вы разместите действительный ansible.cfg , он будет удостоен (пока).

Мои рекомендации:

  1. Не используйте brew установку для установки Ansible .
  2. Будьте ясны в отношении вашей конфигурации, не зависит от глобальных глобальных системных сред, например, /etc/ansible/ansible.cfg .

Код:

Замените заменяемую формулу заменителей # 475: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/ansible.rb#L475

Ansible constants.py # 61: https://github.com/ansible/ansible/blob/v1.9.3-1/lib/ansible/constants.py#L61

Я обнаружил, что Homebrew не создаст каталог /etc/ansible и не создаст файл конфигурации или хоста. Однако, если вы создадите каталог /etc/ansible и скопируете конфиг из репозитория github в каталог /etc/ansible он распознает это как конфигурацию.

Вы также можете захотеть войти в эту конфигурацию и раскомментировать строку, в которой указывается местоположение инвентаря, а также:

Инвентарь = / etc / ansible / hosts

Поступая таким образом, ansible будет работать одинаково с установкой homebrew, как и с любой другой установкой, и документация, которую вы найдете в Интернете, может быть использована с версией homebrew.

Давайте будем гением компьютера.