<h5 dir="auto">Issue Type: Bug Report</h5>
<h5 dir="auto">Ansible Version: 1.6.8+</h5>
<p dir="auto">ansible 1.6.8<br>
ansible 1.7 (devel <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/ansible/ansible/commit/d2a130971ac6058c9467821d4fe10ce5d81cd855/hovercard" href="https://github.com/ansible/ansible/commit/d2a130971ac6058c9467821d4fe10ce5d81cd855"><tt>d2a1309</tt></a>) last updated 2014/07/22 20:11:41 (GMT -400)</p>
<h5 dir="auto">Environment:</h5>
<p dir="auto">OSX 10.9.3<br>
RHEL 6.5</p>
<h5 dir="auto">Summary:</h5>
<p dir="auto">As of 1.6.8 and later, the unarchive module fails with the erroneous error "msg: duplicate parameter: src" when the parameters are specified in k=v format<br>
I looked into this a little, and it seems to me that both the original src argument(app.tgz) and the transformed  src argument (/Users/matthewbsimon/.ansible/tmp/ansible-tmp-1406078247.21-209950653970379/source) flow into module_utils/basic.py _load_params, and then the newly introduced security fix catches it. I don't know enough to fix this  - please help!</p>
<h5 dir="auto">Steps To Reproduce:</h5>
<h2 dir="auto">file: example.yml</h2>
<ul dir="auto">
<li>hosts: localhost<br>
connection: local<br>
gather_facts: false<br>
tasks:
<ul dir="auto">
<li>shell: "touch app.tgz"</li>
<li>unarchive: src=app.tgz dest=/tmp</li>
</ul>
</li>
</ul>
<p dir="auto">bash$ ansible-playbook -i 'localhost,' example.yml</p>
<h5 dir="auto">Expected Results:</h5>
<h5 dir="auto">Actual Results:</h5>
<p dir="auto">failed: [localhost] =&gt; {"failed": true}<br>
msg: duplicate parameter: src (value=/Users/matthewbsimon/.ansible/tmp/ansible-tmp-1406127477.01-217277799953399/source)</p>
<p dir="auto">FATAL: all hosts have already failed -- aborting</p>
<p dir="auto">vault password could keep prompting until empty password is supplied, vault file could take a list of files</p>
<p dir="auto">This allows for having multiple vault files with different keys, good for ops team having access to all vaults but qa or dev having access only to specific ones</p>