問題タブ [ansible-inventory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ansible - Ansible Playbook でのインベントリ ホスト変数へのアクセス
Ansible 2.1 では、ホスト ファイル変数にアクセスする必要がある Playbook によって呼び出されるロールがあります。アクセス方法について何か考えはありますか?
次のインベントリファイルansible_ssh_host
のセクションにアクセスしようとしています。test1
host
次の方法でロールにアクセスしようとしました。
と
次のエラーが表示されます。
ansible - host_vars を使用した Ansible EC2 動的インベントリ
Ansible を使用した Dynamic Inventory は初めてです。
私はプレイブックを持っています:
hosts: tag_Name_abc
この Playbook を実行すると、タグ付けされた EC2 インスタンスで必要なことを正しく実行できます。私が使用しようとすると、host_vars
私は得るfatal: FAILED! => {"changed": false, "failed": true, "msg": "AnsibleUndefinedVariable: 'test_var' is undefined"}
host_vars/tag_Name_abc
Playbook ファイル ディレクトリの下に contentsというファイル files がありますがtest_var: test_value
、変数を取得していません。
プレイブックの起動ansible-playbook -i ec2.py myplaybook.yml
どんなアドバイスも素晴らしいでしょう。ありがとう!
ansible - ローカル アクションによる Ansible グループ変数の評価
Azure クラウド リソースを作成するためのロールを含む Ansible プレイブックがあります。グループ変数は、これらのリソースを作成するためのパラメーターを設定するために使用されます。インベントリ ファイルには複数のグループが含まれており、それらのグループは子孫ノードとして再生されます。
問題は、クラウド アクションを実行するためのターゲットが localhost であるため、すべてのグループ変数が一度に取得されることです。在庫は次のとおりです。
プレイブックには、実行される実際のロールを参照する azure_infrastructure プレイが含まれています。
このロールは localhost に対して 2 回実行されますが、そのたびに cloud_instance_a と cloud_instance_b の両方のグループ変数が読み込まれます。2 回実行したいのですが、最初に cloud_instance_a 変数がロードされ、2 回目に cloud_instance_b 変数がロードされます。
とにかくこれを行うことはありますか?本質的に、私は、これらが異なるターゲットであると思わせる localhost の疑似ホストを探しています。これを回避できる唯一の方法は、2 つの異なるインベントリを作成することです。
ansible - Ansible: 動的ホストをインスタンス ID にマップしたい
私のコード: http://pastebin.com/jzrYTR2u
達成したいこと: 私のスクリプトは、特定のタグを持つホストを動的に取得し、各ホストで上記のタスクを 1 つずつ実行する必要があります。現在、elb_facts モジュールからインスタンス ID を取得しています。
これまでに達成したこと: 私のスクリプトは elb から最初のインスタンスを取得し、デプロイ タスクを実行し、elb に追加します。hosts ファイルは現在、IP でハードコーディングされています
amazon-web-services - Ansible EC2 動的インベントリー - ハイフンを含むタグ
ansible
タグ付けされたホストでアドホック コマンドを実行しようとしていますName = foo-bar
(ハイフンに注意してください)。私が実行すると:
ansible tag_Name_foo_bar -i ec2.py -m ping
私は得る:No hosts matched
しかし、そのようなホストがいます。ハイフンを含まない名前でタグ付けされたホストに対して同じコマンドを実行すると、正常に機能します。たとえば、タグ付けされたホストのName = foobar
場合、次のように機能します。
ansible tag_Name_foobar -i ec2.py -m ping
H
ansible - Ansible Playbook の実行時に Ec2.py で ElastiCache を更新するときにエラーが発生する
過去数日間、AWS クラウド モジュールを使用して ansible プレイブックを実行するとき、またはローカル マシンから --refresh-cache コマンドを使用して ec2.py ファイルを直接実行すると、次のエラーが発生します。
この問題は、AWS アカウントの Ec2 インスタンスから実行すると解消されるようです。
最新の EC2.py および EC2.ini ファイルがあり、Ansible バージョンは 2.2.0.0 で、boto3 がインストールされており、プレイブックを実行する前に有効な AWS 資格情報を設定しています。
何が起こっているかについてのアイデアはありますか?