🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

1回答

1165閲覧

Ansibleでinventoryにホスト情報を書き出したい

mugichon

総合スコア61

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2019/11/19 23:18

Ansibleを使用してEC2インスタンスを作成したいと思っています。
インベントリファイルはplaybook実行時に指定できるようにし、以下のコマンドで実行しています。

command

1ansible-playbook -i Inventory Playbook.yml

しかし、成功したようなログは出力されますが、ファイルを見るとinventoryファイルに書き出されてません。
何が原因でしょうか?

Playbook

1- name: "inventory write" 2 local_action: add_host hostname="{{ ec2_regst.instances[0].public_ip }}" group 3name="webservers" 4 with_items: ec2_regst.instances 5 when: ec2_regst.changed == true 6 tags: 7 - ec2

AnsibleLog

1changed: [localhost -> localhost] => (item=ec2_regst.instances) => { 2 "add_host": { 3 "groups": [ 4 "webservers" 5 ], 6 "host_name": "x.x.x.x", 7 "host_vars": {} 8 }, 9 "ansible_loop_var": "item", 10 "changed": true, 11 "item": "ec2_regst.instances" 12}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

add_hostのドキュメントには、メモリ上の設定を更新するように書いてあります。
playbookの最初の方に記述し、それ以降はその設定が追加されているように処理されるのではないでしょうか。

本来の目的はわかりませんが、dynamic inventoryも検討してはどうでしょうか(記述は多少面倒です)。

投稿2020/01/08 00:58

Youichi256

総合スコア204

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問