<h5 dir="auto">ISSUE TYPE</h5>

<ul dir="auto">
<li>Bug Report</li>
</ul>
<h5 dir="auto">ANSIBLE VERSION</h5>

<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ansible 2.1.0.0
  config file = /home/tessio/ansible/next/ansible.cfg
  configured module search path = Default w/o overrides"><pre class="notranslate"><code class="notranslate">ansible 2.1.0.0
  config file = /home/tessio/ansible/next/ansible.cfg
  configured module search path = Default w/o overrides
</code></pre></div>
<h5 dir="auto">UNZIP VERSION</h5>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="caution:  both -n and -o specified; ignoring -o
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.

Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.

Compiled with gcc 5.2.1 20151010 for Unix (Linux ELF).

UnZip special compilation options:
        ACORN_FTYPE_NFS
        COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)
        SET_DIR_ATTRIB
        SYMLINKS (symbolic links supported, if RTL and file system permit)
        TIMESTAMP
        UNIXBACKUP
        USE_EF_UT_TIME
        USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported)
        USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported)
        UNICODE_SUPPORT [wide-chars, char coding: UTF-8] (handle UTF-8 paths)
        LARGE_FILE_SUPPORT (large files over 2 GiB supported)
        ZIP64_SUPPORT (archives using Zip64 for large files supported)
        USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.6, 6-Sept-2010)
        VMS_TEXT_CONV
        WILD_STOP_AT_DIR
        [decryption, version 2.11 of 05 Jan 2007]

UnZip and ZipInfo environment options:
           UNZIP:  [none]
        UNZIPOPT:  [none]
         ZIPINFO:  [none]
      ZIPINFOOPT:  [none]"><pre class="notranslate"><code class="notranslate">caution:  both -n and -o specified; ignoring -o
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.

Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.

Compiled with gcc 5.2.1 20151010 for Unix (Linux ELF).

UnZip special compilation options:
        ACORN_FTYPE_NFS
        COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)
        SET_DIR_ATTRIB
        SYMLINKS (symbolic links supported, if RTL and file system permit)
        TIMESTAMP
        UNIXBACKUP
        USE_EF_UT_TIME
        USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported)
        USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported)
        UNICODE_SUPPORT [wide-chars, char coding: UTF-8] (handle UTF-8 paths)
        LARGE_FILE_SUPPORT (large files over 2 GiB supported)
        ZIP64_SUPPORT (archives using Zip64 for large files supported)
        USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.6, 6-Sept-2010)
        VMS_TEXT_CONV
        WILD_STOP_AT_DIR
        [decryption, version 2.11 of 05 Jan 2007]

UnZip and ZipInfo environment options:
           UNZIP:  [none]
        UNZIPOPT:  [none]
         ZIPINFO:  [none]
      ZIPINFOOPT:  [none]
</code></pre></div>
<h5 dir="auto">CONFIGURATION</h5>

<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[defaults]
hostfile = hosts"><pre class="notranslate"><code class="notranslate">[defaults]
hostfile = hosts
</code></pre></div>
<h5 dir="auto">OS / ENVIRONMENT</h5>

<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:    15.10
Codename:   wily
Ansible package from Ansibles Inc's PPA."><pre class="notranslate"><code class="notranslate">Distributor ID: Ubuntu
Description:    Ubuntu 15.10
Release:    15.10
Codename:   wily
Ansible package from Ansibles Inc's PPA.
</code></pre></div>
<h5 dir="auto">SUMMARY</h5>

<p dir="auto">unarchive module fails to extract zip files that contain files whose name has spaces in it, like the file named "CPL - cpl1.0.txt".</p>
<h5 dir="auto">STEPS TO REPRODUCE</h5>

<p dir="auto">Download <a href="https://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/jboss-5.1.0.GA-jdk6.zip/download" rel="nofollow">jboss-5.1.0.GA-jdk6.zip</a>, then try to copy and extract it to another machine using ansible.<br>
This was how I discovered the bug, but I got the same result when I created <em>archive.zip</em>  with a file named "bug - bug.txt" and the command "zip archive bug\ -\ bug.txt".</p>

<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="
---
- name: install e configure Jboss 5.1
  hosts: sig
  become: yes
  vars:
    java_home: /opt/java/jdk1.6.0_45
    jboss_home: /opt/jboss/jboss-5.1.0.GA
    jboss_package: jboss-5.1.0.GA-jdk6.zip

  tasks:
  - name: install dependencies
    apt: name=unzip state=present update_cache=yes

  - name: send archive
    copy: src=files/{{ jboss_package }} dest=/tmp mode=0664
    register: package

  - name: check copy
    fail: msg=&quot;bad copy&quot;
    when: package.checksum != &quot;0906717eec83d57a3fdbdf090555cac036bffc6d&quot;

  - name: create dir
    file: path=/opt/jboss state=directory mode=0755

  - name: extract archive
    unarchive: src=/tmp/{{ jboss_package }} dest=/opt/jboss copy=no
"><pre class="notranslate"><code class="notranslate">
---
- name: install e configure Jboss 5.1
  hosts: sig
  become: yes
  vars:
    java_home: /opt/java/jdk1.6.0_45
    jboss_home: /opt/jboss/jboss-5.1.0.GA
    jboss_package: jboss-5.1.0.GA-jdk6.zip

  tasks:
  - name: install dependencies
    apt: name=unzip state=present update_cache=yes

  - name: send archive
    copy: src=files/{{ jboss_package }} dest=/tmp mode=0664
    register: package

  - name: check copy
    fail: msg="bad copy"
    when: package.checksum != "0906717eec83d57a3fdbdf090555cac036bffc6d"

  - name: create dir
    file: path=/opt/jboss state=directory mode=0755

  - name: extract archive
    unarchive: src=/tmp/{{ jboss_package }} dest=/opt/jboss copy=no

</code></pre></div>

<h5 dir="auto">EXPECTED RESULTS</h5>

<p dir="auto">Files inside the zip archive to be extracted to the remote host.</p>
<h5 dir="auto">ACTUAL RESULTS</h5>

<p dir="auto">ansible fails while extracting the zip file. It always fail when it's encounters a ziped file whose name has spaces in it.</p>

<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="fatal: [pinky]: FAILED! =&gt; {&quot;changed&quot;: false, &quot;failed&quot;: true, &quot;invocation&quot;: {&quot;module_args&quot;: {&quot;backup&quot;: null, &quot;content&quot;: null, &quot;copy&quot;: false, &quot;creates&quot;: null, &quot;delimiter&quot;: null, &quot;dest&quot;: &quot;/opt/jboss&quot;, &quot;directory_mode&quot;: null, &quot;exclude&quot;: [], &quot;extra_opts&quot;: [], &quot;follow&quot;: false, &quot;force&quot;: null, &quot;group&quot;: null, &quot;keep_newer&quot;: false, &quot;list_files&quot;: false, &quot;mode&quot;: null, &quot;original_basename&quot;: &quot;jboss-5.1.0.GA-jdk6.zip&quot;, &quot;owner&quot;: null, &quot;regexp&quot;: null, &quot;remote_src&quot;: null, &quot;selevel&quot;: null, &quot;serole&quot;: null, &quot;setype&quot;: null, &quot;seuser&quot;: null, &quot;src&quot;: &quot;/tmp/jboss-5.1.0.GA-jdk6.zip&quot;}}, &quot;msg&quot;: &quot;Unexpected error when accessing exploded file: [Errno 2] No such file or directory: '/opt/jboss/jboss-5.1.0.GA/docs/licenses/CPL - cpl1.0.txt'&quot;}"><pre class="notranslate"><code class="notranslate">fatal: [pinky]: FAILED! =&gt; {"changed": false, "failed": true, "invocation": {"module_args": {"backup": null, "content": null, "copy": false, "creates": null, "delimiter": null, "dest": "/opt/jboss", "directory_mode": null, "exclude": [], "extra_opts": [], "follow": false, "force": null, "group": null, "keep_newer": false, "list_files": false, "mode": null, "original_basename": "jboss-5.1.0.GA-jdk6.zip", "owner": null, "regexp": null, "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": "/tmp/jboss-5.1.0.GA-jdk6.zip"}}, "msg": "Unexpected error when accessing exploded file: [Errno 2] No such file or directory: '/opt/jboss/jboss-5.1.0.GA/docs/licenses/CPL - cpl1.0.txt'"}
</code></pre></div>
<h5 dir="auto">ISSUE TYPE</h5>
<ul dir="auto">
<li>Bug Report</li>
</ul>
<h5 dir="auto">ANSIBLE VERSION</h5>
<p dir="auto"><strong>problematic</strong></p>
<ul dir="auto">
<li><code class="notranslate">ansible 2.1.0.0</code></li>
</ul>
<p dir="auto"><strong>working fine</strong></p>
<ul dir="auto">
<li><code class="notranslate">ansible 2.0.2.0</code></li>
<li><code class="notranslate">ansible 1.9.6</code></li>
</ul>
<h5 dir="auto">CONFIGURATION</h5>
<p dir="auto">default <code class="notranslate">pip install ansible==2.1.0.0</code></p>
<h5 dir="auto">OS / ENVIRONMENT</h5>
<p dir="auto">controller: fedora 23<br>
host: centos 7 &amp; fedora 23</p>
<h5 dir="auto">SUMMARY</h5>
<p dir="auto">if the archive contains files with spaces, the module fails.</p>
<h5 dir="auto">STEPS TO REPRODUCE</h5>
<p dir="auto">I made a reproducer.</p>
<ol dir="auto">
<li><code class="notranslate">git clone https://github.com/sherl0cks/test-travis.git</code></li>
<li><code class="notranslate">ansible-playbook tests/unarchive-bug.yml -i tests/inventory</code></li>
</ol>
<h5 dir="auto">EXPECTED RESULTS</h5>
<p dir="auto">unarchive handles all sorts of file name permuations without issue. In this case, <code class="notranslate">tests/files/licenses.zip</code> should archive to a folder with 19 different files in it.</p>
<p dir="auto">FWIW - <code class="notranslate">unzip</code> seems to work just fine on fedora 23 and centos 7 for the same files.</p>
<h5 dir="auto">ACTUAL RESULTS</h5>
<p dir="auto">only 2 files (the ones with no spaces in their names) unarchive, which seems to result in an error.</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[sherl0cks@fedora23 test-travis]$ ansible-playbook tests/unarchive-bug.yml -i tests/inventory  -vvvv
Using /home/sherl0cks/.ansible.cfg as config file
Loaded callback default of type stdout, v2.0

PLAYBOOK: unarchive-bug.yml ****************************************************
1 plays in tests/unarchive-bug.yml

PLAY [Unarchive fails with files with spaces] **********************************

TASK [setup] *******************************************************************
&lt;localhost&gt; ESTABLISH LOCAL CONNECTION FOR USER: sherl0cks
&lt;localhost&gt; EXEC /bin/sh -c '( umask 77 &amp;&amp; mkdir -p &quot;` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798 `&quot; &amp;&amp; echo ansible-tmp-1464668529.05-143065043354798=&quot;` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798 `&quot; ) &amp;&amp; sleep 0'
&lt;localhost&gt; PUT /tmp/tmpyrzj2X TO /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798/setup
&lt;localhost&gt; EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798/setup; rm -rf &quot;/home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798/&quot; &gt; /dev/null 2&gt;&amp;1 &amp;&amp; sleep 0'
ok: [localhost]

TASK [unarchive] ***************************************************************
task path: /home/sherl0cks/Code/ansible/test-travis/tests/unarchive-bug.yml:5
&lt;localhost&gt; ESTABLISH LOCAL CONNECTION FOR USER: sherl0cks
&lt;localhost&gt; EXEC /bin/sh -c '( umask 77 &amp;&amp; mkdir -p &quot;` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075 `&quot; &amp;&amp; echo ansible-tmp-1464668529.51-147273438565075=&quot;` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075 `&quot; ) &amp;&amp; sleep 0'
&lt;localhost&gt; EXEC /bin/sh -c '( umask 77 &amp;&amp; mkdir -p &quot;` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273 `&quot; &amp;&amp; echo ansible-tmp-1464668529.58-72180718843273=&quot;` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273 `&quot; ) &amp;&amp; sleep 0'
&lt;localhost&gt; PUT /tmp/tmpFEYESf TO /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273/stat
&lt;localhost&gt; EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273/stat; rm -rf &quot;/home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273/&quot; &gt; /dev/null 2&gt;&amp;1 &amp;&amp; sleep 0'
&lt;localhost&gt; PUT /home/sherl0cks/Code/ansible/test-travis/tests/files/licenses.zip TO /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075/source
&lt;localhost&gt; EXEC /bin/sh -c '( umask 77 &amp;&amp; mkdir -p &quot;` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324 `&quot; &amp;&amp; echo ansible-tmp-1464668529.77-102978787354324=&quot;` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324 `&quot; ) &amp;&amp; sleep 0'
&lt;localhost&gt; PUT /tmp/tmpnRb93m TO /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324/unarchive
&lt;localhost&gt; EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324/unarchive; rm -rf &quot;/home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324/&quot; &gt; /dev/null 2&gt;&amp;1 &amp;&amp; sleep 0'
&lt;localhost&gt; EXEC /bin/sh -c 'rm -f -r /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075/ &gt; /dev/null 2&gt;&amp;1 &amp;&amp; sleep 0'
fatal: [localhost]: FAILED! =&gt; {&quot;changed&quot;: false, &quot;failed&quot;: true, &quot;invocation&quot;: {&quot;module_args&quot;: {&quot;backup&quot;: null, &quot;content&quot;: null, &quot;copy&quot;: true, &quot;creates&quot;: null, &quot;delimiter&quot;: null, &quot;dest&quot;: &quot;/tmp&quot;, &quot;directory_mode&quot;: null, &quot;exclude&quot;: [], &quot;extra_opts&quot;: [], &quot;follow&quot;: false, &quot;force&quot;: null, &quot;group&quot;: null, &quot;keep_newer&quot;: false, &quot;list_files&quot;: false, &quot;mode&quot;: null, &quot;original_basename&quot;: &quot;licenses.zip&quot;, &quot;owner&quot;: null, &quot;regexp&quot;: null, &quot;remote_src&quot;: null, &quot;selevel&quot;: null, &quot;serole&quot;: null, &quot;setype&quot;: null, &quot;seuser&quot;: null, &quot;src&quot;: &quot;/home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075/source&quot;}}, &quot;msg&quot;: &quot;path /tmp/licenses/gnu general public license, version 2 - gpl-2.0.txt does not exist&quot;, &quot;path&quot;: &quot;/tmp/licenses/gnu general public license, version 2 - gpl-2.0.txt&quot;, &quot;state&quot;: &quot;absent&quot;}

NO MORE HOSTS LEFT *************************************************************
    to retry, use: --limit @tests/unarchive-bug.retry

PLAY RECAP *********************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1   "><pre class="notranslate"><code class="notranslate">[sherl0cks@fedora23 test-travis]$ ansible-playbook tests/unarchive-bug.yml -i tests/inventory  -vvvv
Using /home/sherl0cks/.ansible.cfg as config file
Loaded callback default of type stdout, v2.0

PLAYBOOK: unarchive-bug.yml ****************************************************
1 plays in tests/unarchive-bug.yml

PLAY [Unarchive fails with files with spaces] **********************************

TASK [setup] *******************************************************************
&lt;localhost&gt; ESTABLISH LOCAL CONNECTION FOR USER: sherl0cks
&lt;localhost&gt; EXEC /bin/sh -c '( umask 77 &amp;&amp; mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798 `" &amp;&amp; echo ansible-tmp-1464668529.05-143065043354798="` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798 `" ) &amp;&amp; sleep 0'
&lt;localhost&gt; PUT /tmp/tmpyrzj2X TO /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798/setup
&lt;localhost&gt; EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798/setup; rm -rf "/home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.05-143065043354798/" &gt; /dev/null 2&gt;&amp;1 &amp;&amp; sleep 0'
ok: [localhost]

TASK [unarchive] ***************************************************************
task path: /home/sherl0cks/Code/ansible/test-travis/tests/unarchive-bug.yml:5
&lt;localhost&gt; ESTABLISH LOCAL CONNECTION FOR USER: sherl0cks
&lt;localhost&gt; EXEC /bin/sh -c '( umask 77 &amp;&amp; mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075 `" &amp;&amp; echo ansible-tmp-1464668529.51-147273438565075="` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075 `" ) &amp;&amp; sleep 0'
&lt;localhost&gt; EXEC /bin/sh -c '( umask 77 &amp;&amp; mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273 `" &amp;&amp; echo ansible-tmp-1464668529.58-72180718843273="` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273 `" ) &amp;&amp; sleep 0'
&lt;localhost&gt; PUT /tmp/tmpFEYESf TO /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273/stat
&lt;localhost&gt; EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273/stat; rm -rf "/home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.58-72180718843273/" &gt; /dev/null 2&gt;&amp;1 &amp;&amp; sleep 0'
&lt;localhost&gt; PUT /home/sherl0cks/Code/ansible/test-travis/tests/files/licenses.zip TO /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075/source
&lt;localhost&gt; EXEC /bin/sh -c '( umask 77 &amp;&amp; mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324 `" &amp;&amp; echo ansible-tmp-1464668529.77-102978787354324="` echo $HOME/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324 `" ) &amp;&amp; sleep 0'
&lt;localhost&gt; PUT /tmp/tmpnRb93m TO /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324/unarchive
&lt;localhost&gt; EXEC /bin/sh -c 'LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 /usr/bin/python /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324/unarchive; rm -rf "/home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.77-102978787354324/" &gt; /dev/null 2&gt;&amp;1 &amp;&amp; sleep 0'
&lt;localhost&gt; EXEC /bin/sh -c 'rm -f -r /home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075/ &gt; /dev/null 2&gt;&amp;1 &amp;&amp; sleep 0'
fatal: [localhost]: FAILED! =&gt; {"changed": false, "failed": true, "invocation": {"module_args": {"backup": null, "content": null, "copy": true, "creates": null, "delimiter": null, "dest": "/tmp", "directory_mode": null, "exclude": [], "extra_opts": [], "follow": false, "force": null, "group": null, "keep_newer": false, "list_files": false, "mode": null, "original_basename": "licenses.zip", "owner": null, "regexp": null, "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": "/home/sherl0cks/.ansible/tmp/ansible-tmp-1464668529.51-147273438565075/source"}}, "msg": "path /tmp/licenses/gnu general public license, version 2 - gpl-2.0.txt does not exist", "path": "/tmp/licenses/gnu general public license, version 2 - gpl-2.0.txt", "state": "absent"}

NO MORE HOSTS LEFT *************************************************************
    to retry, use: --limit @tests/unarchive-bug.retry

PLAY RECAP *********************************************************************
localhost                  : ok=1    changed=0    unreachable=0    failed=1   
</code></pre></div>