2016-12-04 7 views
1

내 개발 시스템을 구성 할 수있는 게임 플레이 북을 설정하려고합니다. 내 playbooks "files"디렉토리의 /etc/hosts 파일을 내 시스템의 /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 Search를했고, 모든 것은 이전을하는 것에 대해 말한다. 저는 이것을 Anabilities 문서에서 다루지 않았습니다.

+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으로 명령 시작을 볼 수 있습니다. 직접 실행하면 sudo: a password is required 메시지가 표시됩니다. 이 오류 메시지는 자체적으로 Failed to get information on remote file (/etc/hosts): MODULE FAILURE으로 대체됩니다.