{"action":"created","issue":{"url":"https://api.github.com/repos/ansible/ansible/issues/13490","labels_url":"https://api.github.com/repos/ansible/ansible/issues/13490/labels{/name}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/13490/comments","events_url":"https://api.github.com/repos/ansible/ansible/issues/13490/events","html_url":"https://github.com/ansible/ansible/issues/13490","id":121309736,"number":13490,"title":"synchronize module breaks when ansible_shell_type=fish","user":{"login":"bonds","id":53434,"avatar_url":"https://avatars.githubusercontent.com/u/53434?v=3","gravatar_id":"","url":"https://api.github.com/users/bonds","html_url":"https://github.com/bonds","followers_url":"https://api.github.com/users/bonds/followers","following_url":"https://api.github.com/users/bonds/following{/other_user}","gists_url":"https://api.github.com/users/bonds/gists{/gist_id}","starred_url":"https://api.github.com/users/bonds/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bonds/subscriptions","organizations_url":"https://api.github.com/users/bonds/orgs","repos_url":"https://api.github.com/users/bonds/repos","events_url":"https://api.github.com/users/bonds/events{/privacy}","received_events_url":"https://api.github.com/users/bonds/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ansible/ansible/labels/bug_report","name":"bug_report","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/ansible/ansible/milestones/5","html_url":"https://github.com/ansible/ansible/milestones/stable-2.0","labels_url":"https://api.github.com/repos/ansible/ansible/milestones/5/labels","id":975800,"number":5,"title":"stable-2.0","description":"","creator":{"login":"bcoca","id":836171,"avatar_url":"https://avatars.githubusercontent.com/u/836171?v=3","gravatar_id":"","url":"https://api.github.com/users/bcoca","html_url":"https://github.com/bcoca","followers_url":"https://api.github.com/users/bcoca/followers","following_url":"https://api.github.com/users/bcoca/following{/other_user}","gists_url":"https://api.github.com/users/bcoca/gists{/gist_id}","starred_url":"https://api.github.com/users/bcoca/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bcoca/subscriptions","organizations_url":"https://api.github.com/users/bcoca/orgs","repos_url":"https://api.github.com/users/bcoca/repos","events_url":"https://api.github.com/users/bcoca/events{/privacy}","received_events_url":"https://api.github.com/users/bcoca/received_events","type":"User","site_admin":false},"open_issues":110,"closed_issues":734,"state":"open","created_at":"2015-02-11T19:43:06Z","updated_at":"2016-01-30T07:13:06Z","due_on":null,"closed_at":null},"comments":10,"created_at":"2015-12-09T18:29:02Z","updated_at":"2016-01-30T07:13:07Z","closed_at":null,"body":"Using ansible@devel https://github.com/ansible/ansible/commit/04d74fd6804b5a851cc8762cecf07b100e4dcc6f, using an account with Fish as its shell, I can successfully use the synchronize module:\r\n\r\n````\r\n~/s/config (master|✚26…) ❯❯❯ \r\nansible -i hosts -m synchronize -a \"src=/home/scott/.config/fish/ dest=/home/scott/.config/fish delete=yes\" localhost -vvvv\r\nNo config file found; using defaults\r\nLoaded callback minimal of type stdout, v2.0\r\nESTABLISH LOCAL CONNECTION FOR USER: scott\r\n127.0.0.1 EXEC ( umask 22 && mkdir -p \"$( echo $HOME/.ansible/tmp/ansible-tmp-1449685345.99-147311751194700 )\" && echo \"$( echo $HOME/.ansible/tmp/ansible-tmp-1449685345.99-147311751194700 )\" )\r\n127.0.0.1 PUT /tmp/tmporuqsm TO /home/scott/.ansible/tmp/ansible-tmp-1449685345.99-147311751194700/synchronize\r\n127.0.0.1 EXEC LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /home/scott/.pyenv/versions/2.7.10/bin/python2.7 /home/scott/.ansible/tmp/ansible-tmp-1449685345.99-147311751194700/synchronize; rm -rf \"/home/scott/.ansible/tmp/ansible-tmp-1449685345.99-147311751194700/\" > /dev/null 2>&1\r\nlocalhost | SUCCESS => {\r\n    \"changed\": false, \r\n    \"cmd\": \"rsync --delay-updates -F --compress --delete-after --archive --rsh 'ssh  -S none -o StrictHostKeyChecking=no' --out-format='<<CHANGED>>%i %n%L' \\\"/home/scott/.config/fish/\\\" \\\"/home/scott/.config/fish\\\"\", \r\n    \"invocation\": {\r\n        \"module_args\": {\r\n            \"_local_rsync_path\": \"rsync\", \r\n            \"delete\": \"yes\", \r\n            \"dest\": \"/home/scott/.config/fish\", \r\n            \"src\": \"/home/scott/.config/fish/\"\r\n        }, \r\n        \"module_name\": \"synchronize\"\r\n    }, \r\n    \"msg\": \"\", \r\n    \"rc\": 0, \r\n    \"stdout_lines\": []\r\n}\r\n````\r\n\r\nBut if ansible_shell_type=fish is set, it breaks:\r\n\r\n````\r\n~/s/config (master|✚26…) ❯❯❯ \r\nansible -i hosts -m synchronize -a \"src=/home/scott/.config/fish/ dest=/home/scott/.config/fish delete=yes\" -e \"ansible_shell_type=fish\" localhost -vvvv\r\nNo config file found; using defaults\r\nLoaded callback minimal of type stdout, v2.0\r\nESTABLISH LOCAL CONNECTION FOR USER: scott\r\n127.0.0.1 EXEC  umask 22 ; and mkdir -p ( echo $HOME/.ansible/tmp/ansible-tmp-1449685279.64-250696661210290 ) ; and echo ( echo $HOME/.ansible/tmp/ansible-tmp-1449685279.64-250696661210290 ) \r\nlocalhost | UNREACHABLE! => {\r\n    \"changed\": false, \r\n    \"msg\": \"ERROR! Authentication or permission failure. In some cases, you may have been able to authenticate and did not have permissions on the remote directory. Consider changing the remote temp path in ansible.cfg to a path rooted in \\\"/tmp\\\". Failed command was:  umask 22 ; and mkdir -p ( echo $HOME/.ansible/tmp/ansible-tmp-1449685279.64-250696661210290 ) ; and echo ( echo $HOME/.ansible/tmp/ansible-tmp-1449685279.64-250696661210290 ) , exited with result 1\", \r\n    \"unreachable\": true\r\n}\r\n````\r\n\r\nI tried setting remote_temp=/tmp in ~/.ansible.cfg as the error message suggested, but that made no difference."},"comment":{"url":"https://api.github.com/repos/ansible/ansible/issues/comments/177091002","html_url":"https://github.com/ansible/ansible/issues/13490#issuecomment-177091002","issue_url":"https://api.github.com/repos/ansible/ansible/issues/13490","id":177091002,"user":{"login":"abadger","id":209242,"avatar_url":"https://avatars.githubusercontent.com/u/209242?v=3","gravatar_id":"","url":"https://api.github.com/users/abadger","html_url":"https://github.com/abadger","followers_url":"https://api.github.com/users/abadger/followers","following_url":"https://api.github.com/users/abadger/following{/other_user}","gists_url":"https://api.github.com/users/abadger/gists{/gist_id}","starred_url":"https://api.github.com/users/abadger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abadger/subscriptions","organizations_url":"https://api.github.com/users/abadger/orgs","repos_url":"https://api.github.com/users/abadger/repos","events_url":"https://api.github.com/users/abadger/events{/privacy}","received_events_url":"https://api.github.com/users/abadger/received_events","type":"User","site_admin":false},"created_at":"2016-01-30T07:13:06Z","updated_at":"2016-01-30T07:13:06Z","body":"@bonds could you tell us what the host machine's shell is, what the remote machine's shell is, what you have in inventory for the two machines and your playbook to reproduce?"}}