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
フォルダーには何もありません)、困惑しています。
私がここに来ていないことを誰かが説明できますか?
私が知っていることから、 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
homebrew
式は、/etc/ansible
内の文字列constants.py
を/usr/local/etc/ansible
に置き換えます。私には悪いジュジュのようです。
/usr/local/etc/ansible
の後にbrew install ansible
がありませんでした。ただし、有効なansible.cfg
をそこに配置すると、それが(現時点では)受け入れられることを確認しました。
私のおすすめ:
brew
を使用してAnsible
をインストールしないでください。/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
Homebrewが/etc/ansible
ディレクトリを作成せず、configファイルまたはHostファイルも作成しないことがわかりました。ただし、/etc/ansible
ディレクトリを作成し、構成をgithubリポジトリから/etc/ansible
ディレクトリにコピーすると、構成として認識されます。
また、その構成に移動し、インベントリの場所を指定する行のコメントを解除して、次の操作を行うこともできます。
在庫=/etc/ansible/hosts
これを行うと、ansibleは他のインストールと同じように自作インストールで実行し、オンラインで見つけたドキュメントを自作バージョンで利用できます。
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'