2016-03-31 11 views
1

私は次のようなデータを持つ単純なansible脚本を持ってアクセスAnsibleホスト変数 - エラー

inventory 
---------- 
[admin] 
127.0.0.1 

[admin:vars] 
service_ip=12.1.2.1 

[targets] 
admin ansible_connection=local 

main.yaml 
---------- 
--- 
- hosts: admin 
    roles: 
    - admin 
    tags: admin 

roles/admin/tasks/main.yaml 
--------------------------- 
- debug: msg="{{ service_ip }}" 

私はコマンドを使用して脚本、ansible-脚本-i在庫main.yamlを実行すると、私を得ます次のエラー

PLAY [admin] ****************************************************************** 

GATHERING FACTS *************************************************************** 
ok: [admin] 

TASK: [admin | debug msg="{{ service_ip }}"] ********************************** 
fatal: [admin] => One or more undefined variables: 'service_ip' is undefined 

FATAL: all hosts have already failed -- aborting 

PLAY RECAP ******************************************************************** 
      to retry, use: --limit @/Users/karthi/main.yaml.retry 

admin      : ok=1 changed=0 unreachable=1 failed=0 

助けてください。ありがとう。

答えて

1

問題がansible documentationYou can also select the connection type and user on a per host basisあたりとして

[targets] 
admin ansible_connection=local 

を含めることであるように見えます。

だから、あなたのインベントリファイルを変更すると問題に動作します

+0

感謝を修正する必要があり

[targets] localhost ansible_connection=local 

を持っています。私がここでやろうとしていることは、ローカルホストのプレイブックで特定のタスクを実行することです。これは、sslキーの生成などです。これを行うのが好ましい方法ですか?また、あなたがなぜansible_connection = localが動作しないのか説明できますか? – KarthikJ

+0

こんにちは@KarthikJ、私はあなたにあなたが達成しようとしているものと解説に沿ったソリューションを提供するために答えを更新しました。 – sbochins

関連する問題