francois
francois

Reputation: 61

Ansible file copy with sudo fails after upgrading to 1.9

In a playbook, I copy files using sudo. It used to work... Until we migrated to Ansible 1.9... Since then, it fails with the following error message:

"ssh connection closed waiting for sudo password prompt"

I provide the ssh and sudo passwords (through the Ansible prompt), and all the other commands running through sudo are successful (only the file copy and template fail).

My command is:

ansible-playbook -k --ask-become-pass --limit=testhost -C -D playbooks/debug.yml

and the playbookd contains:

- hosts: designsync

  gather_facts: yes 

  tasks:
    - name: Make sure the syncmgr home folder exists
       action: file path=/home/syncmgr owner=syncmgr group=syncmgr mode=0755 state=directory
      sudo: yes
      sudo_user: syncmgr

    - name: Copy .cshrc file
      action: copy src=roles/designsync/files/syncmgr.cshrc dest=/home/syncmgr/.cshrc owner=syncmgr group=syncmgr mode=0755
      sudo: yes
      sudo_user: syncmgr

Is this a bug or did I miss something?

François.

Upvotes: 4

Views: 1569

Answers (2)

jdspringr07
jdspringr07

Reputation: 19

Depending on the exact version of Ansible you're using, there may be a bug with sudo_user (experienced it myself).

Trying changing your playbooks from "sudo_user" to "remote_user".

Upvotes: 0

Matt
Matt

Reputation: 2843

Your playbook should look like:

- hosts: designsync

  gather_facts: yes 

  tasks:
    - name: Make sure the syncmgr home folder exists
      sudo: yes
      sudo_user: syncmgr
      file: 
        path: "/home/syncmgr" 
        owner: syncmgr
        group: syncmgr
        mode: 0755 
        state: directory

    - name: Copy .cshrc file
      sudo: yes
      sudo_user: syncmgr
      copy: 
        src: "roles/designsync/files/syncmgr.cshrc" 
        dest: "/home/syncmgr/.cshrc"
        owner: syncmgr 
        group: syncmgr 
        mode: 0755

Upvotes: 0

Related Questions