1. ホーム
  2. ansible

[解決済み] Ansible hosts ファイルに定義されている現在のマシンのホスト名を取得する方法は?

2022-04-22 17:21:32

質問

Ansibleのplaybookをセットアップして、いくつかのサーバーをセットアップしているところです。現在のホストが私のローカル開発ホストである場合にのみ実行したいタスクがいくつかあり、私のhostsファイルに"local"という名前がついています。どうすればいいのでしょうか?ドキュメントのどこにもそれが見当たりません。

このwhen文を試しましたが、以下の理由で失敗しました。 ansible_hostname は、hosts ファイルで定義したホスト名ではなく、マシン作成時に生成されたホスト名に解決されます。

- name: Install this only for local dev machine
  pip: name=pyramid
  when: ansible_hostname == "local"

解決方法は?

必要な変数は inventory_hostname .

- name: Install this only for local dev machine
  pip: name=pyramid
  when: inventory_hostname == "local"

ドキュメントにはやや隠されています このセクションの一番下にある .