web-dev-qa-db-ja.com

Mac OS Xの「/ etc / ansible /」に構成ファイルが見つからない

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フォルダーには何もありません)、困惑しています。

私がここに来ていないことを誰かが説明できますか?

15
MikeiLL

私が知っていることから、 Ansible 構成ファイル(ansible.cfg)は、ユーザーレベルの構成設定用にここに配置されている可能性があります。

~/.ansible.cfg

ここにあるシステム全体の設定だけでなく、そのようなファイルが見つからないと述べている場合:

 /etc/ansible/ansible.cfg

どういうわけか、システムに複数のユーザーがいる場合、おそらく、忘れていたユーザーディレクトリの1つに~/.ansible.cfgが浮かんでいますか?

pipを使用してインストールした可能性があると述べていますが、 Ansible のHomebrew式を確認すると、バージョン1.9.2から 最近バンプされました9月4日の1.9.3 に。それで、おそらくあなたはそれをHomebrew経由でインストールしましたか?

そして、あなたの主な関心事は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
14
JakeGould

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などのシステム環境グローバルに依存しないことを明確にしてください。

コード参照:

brew ansible数式の置換#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

14
Mike D

Homebrewが/etc/ansibleディレクトリを作成せず、configファイルまたはHostファイルも作成しないことがわかりました。ただし、/etc/ansibleディレクトリを作成し、構成をgithubリポジトリから/etc/ansibleディレクトリにコピーすると、構成として認識されます。

また、その構成に移動し、インベントリの場所を指定する行のコメントを解除して、次の操作を行うこともできます。

在庫=/etc/ansible/hosts

これを行うと、ansibleは他のインストールと同じように自作インストールで実行し、オンラインで見つけたドキュメントを自作バージョンで利用できます。

3
Guardius

OSXでは、pipを使用してansibleをインストールしましたが、ansible.cfgが/ etc/ansibleまたはホームディレクトリに存在しないことがわかりました。

ソース: https://github.com/ansible/ansible/issues/18512

通常、pipは構成ファイルをインストールせず、ansipを使用したpipも同じです。単にansibleを試してみたい場合は、ansible.cfgファイルがなくても機能します。 (インベントリを指定する必要はありますが、必要に応じて、ファイルではなくコマンドラインで指定できます)。適応するサンプル構成ファイルを取得する場合は、ここからtarballまたはソースリポジトリから取得できます。 https://github.com/ansible/ansible/blob/devel/examples/ansible.cfg

インベントリファイルについては、ここで説明します。 http://docs.ansible.com/ansible/intro_inventory.html コマンドラインでインベントリのホストを指定するには、次のようにします。

ansible -i 'Host1,Host2,Host3'  all -m command -a 'hostname'

コマンドラインで単一のホストを指定する場合は、インベントリ文字列で末尾のカンマを使用します。

ansible -i 'Host1,' all -m command -a 'hostname'
3
vaichidrewar