The best I could do was fire up a clean Vagrant instance and run through things from the start. The result was the same.
Here is the output from the task that failed with "-vvvv" set:
TASK: [deploy | copy code from repository] ************************************
<33.33.33.71> ESTABLISH CONNECTION FOR USER: vagrant
<33.33.33.71> REMOTE_MODULE git repo=g...@github.com:company/project.git dest=/srv/project key_file="/home/deploy_user/.ssh/deploy.key" version=master depth=1 accept_hostkey=yes
<33.33.33.71> EXEC ['ssh', '-C', '-vvv', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=60s', '-o', 'ControlPath=/Users/james/.ansible/cp/ansible-ssh-%h-%p-%r', '-o', 'IdentityFile=/Users/james/.vagrant.d/insecure_private_key', '-o', 'KbdInteractiveAuthentication=no', '-o', 'PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey', '-o', 'PasswordAuthentication=no', '-o', 'User=vagrant', '-o', 'ConnectTimeout=10', '33.33.33.71', u'/bin/sh -c \'sudo -k && sudo -H -S -p "[sudo via ansible, key=bjabkvmkprzchfetqhbbnzyubjbrjjoq] password: " -u deploy_user /bin/sh -c \'"\'"\'echo SUDO-SUCCESS-bjabkvmkprzchfetqhbbnzyubjbrjjoq; LC_CTYPE=en_US.UTF-8 LANG=en_US.UTF-8 /usr/bin/python\'"\'"\'\'']
invalid output was: Traceback (most recent call last):
File "<stdin>", line 1911, in <module>
File "<stdin>", line 503, in main
File "<stdin>", line 184, in write_ssh_wrapper
File "/usr/lib/python2.7/tempfile.py", line 300, in mkstemp
return _mkstemp_inner(dir, prefix, suffix, flags)
File "/usr/lib/python2.7/tempfile.py", line 235, in _mkstemp_inner
fd = _os.open(file, flags, 0600)
OSError: [Errno 13] Permission denied: '/home/vagrant/ysynAz'
debug3: mux_client_read_packet: read header failed: Broken pipe
debug2: Received exit status from master 1
FATAL: all hosts have already failed -- aborting
I will file an official bug ticket shortly. Thanks!
James