2016-12-04 39 views
1

開発システムを構成するプレイブックを設定しようとしています。私は/etc/hostsファイルを自分のプレイブックの "files"ディレクトリから自分のシステムの/etcディレクトリにコピーしたいと思います。現在、私はやっている次:Ansibleを使用してファイルをローカルディレクトリにコピーする方法は?

# main.yml 
- hosts: all 
- tasks: 
    - copy: src=files/hosts 
      dest=/etc/hosts 
      owner=root 
      group=wheel 
      mode=0644 
      backup=true 
     become: true 
# inventory 
localhost ansible_connection=local 

私はこのエラーを取得してい脚本を実行すると:

fatal: [localhost]: FAILED! => {... "msg": Failed to get information on remote file (/etc/hosts): MODULE FAILURE"} 

私は、これはコピーが使用されることを想定しているためであると考えていますファイルをリモートファイルシステムにコピーします。どのようにローカル管理システムにファイルをコピーしますか?私はGoogle検索を行いました。私は、これがAnsibleの文書で扱われているとは思わなかった。

+0

"ファイルをローカルディレクトリにコピー"? '私を騙しますが、どのような意味で/ etc/hosts * local *ですか? – Danimal

+0

@Danimal:Daveのフォローアップコメントを確認してください **インベントリ localhost ansible_connection =ローカル** これは、彼がローカルホスト上でプレイリストのすべてを実行していることを意味しています –

答えて

3

あなたの仕事は大丈夫です。

ansible-playbookコールに--ask-sudo-passを追加する必要があります。


あなたは-vvvで実行する場合は、コマンドがsudo -H -S -n -u root /bin/sh -c echo BECOME-SUCCESS-somerandomstring(Pythonスクリプトの呼び出しに続く)で始まり、見ることができます。自分で実行すると、sudo: a password is requiredというメッセージが表示されます。このエラーメッセージは、それほど役に立ちませんが、Failed to get information on remote file (/etc/hosts): MODULE FAILUREで置き換えられます。

関連する問題