fetch module working fine in 1.5.3, hangs in 1.6.6

I have an extremely simple playbook that uses the fetch module to allow our developers, qa, etc. fetch logs from production servers that they otherwise don’t have any access to. The entire playbook consists of:

  • hosts: “{{ stack_in }}-{{ env_in }}”
    user: ec2-user
    sudo: True
    vars:
    fetch_dest: /var/www/html/fetched_logs
    tasks:
  • name: Fetch logs
    fetch: src=/deploy/{{ stack_in }}/{{ env_in }}/log/{{ item }}
    dest={{ fetch_dest }}/{{ czid }}/{{ env_in }}/
    flat=yes
    validate_md5=no
    with_items: files_in

It’s called by a CGI script that invokes ansible with extra-vars that look something like this:

–extra-vars ‘{“stack_in”:“staging”,“env_in”:“webapp”,“files_in”:[“webapp.log.2014-10-01.gz”,“webapp.log.2014-10-02”]}’

This has been working reasonably well while we’ve been running ansible version 1.5.3. I just recently upgraded to ansible 1.6.6 and this is now hanging on invoking slurp. When I run it with -vvvv it gets to this point and never gets any further until I ctrl+c out of it:

EXEC [‘ssh’, ‘-C’, ‘-tt’, ‘-vvv’, ‘-o’, ‘StrictHostKeyChecking=no’, ‘-o’, ‘PasswordAuthentication=no’, ‘-o’, ‘ControlMaster=auto’, ‘-o’, ‘ControlPersist=60s’, ‘-o’, ‘ControlPath=/tmp/ansible-ssh-%h-%p-%r’, ‘-o’, ‘IdentityFile=/ansible/private/key’, ‘-o’, ‘KbdInteractiveAuthentication=no’, ‘-o’, ‘PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey’, ‘-o’, ‘PasswordAuthentication=no’, ‘-o’, ‘User=ec2-user’, ‘-o’, ‘ConnectTimeout=10’, u’stg-1-a’, u’/bin/sh -c 'sudo -k && sudo -H -S -p “[sudo via ansible, key=ztcrteovoegervwhwhwirnwvccewdsap] password: " -u root /bin/sh -c '”'“'echo SUDO-SUCCESS-ztcrteovoegervwhwhwirnwvccewdsap; LC_CTYPE=en_US.UTF-8 LANG=en_US.UTF-8 /usr/bin/python /home/ec2-user/.ansible/tmp/ansible-tmp-1412360901.44-88561333796034/slurp'”'"''']

Since we have ansible installed via a git repo it’s very easy for me to switch back and forth between ansible versions and I’ve triple-checked that any time we’re running 1.5.3 this works but with 1.6.6 it just hangs indefinitely… Any ideas why this might be the case?

-Bruce

Hi Bruce, have you tried this on 1.7.x or devel? There were some issues with the data cleaning functionality added in the 1.6.x branch that caused some slowness when very large files/data were returned from modules. I believe those were resolved in 1.7.0, but might still require devel.