<h5 dir="auto">Issue Type:</h5>
<p dir="auto">“Bug Report”</p>
<h5 dir="auto">Ansible Version:</h5>
<p dir="auto">ansible 1.6 (master <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/ansible/ansible/commit/1b3f77fafd93de119b4d0cc15c16fb854d4082f4/hovercard" href="https://github.com/ansible/ansible/commit/1b3f77fafd93de119b4d0cc15c16fb854d4082f4"><tt>1b3f77f</tt></a>) last updated 2014/03/30 19:39:04 (GMT +800)</p>
<h5 dir="auto">Environment:</h5>
<p dir="auto">host: ubuntu 12.04 python: 2.7.3<br>
guests: ubuntu 12.04.4 python: 2.7.3</p>
<h5 dir="auto">Summary:</h5>
<p dir="auto">This is a same task on different remote servers. fail happen on v1.4.5 successors. one server success and one fail.</p>
<h5 dir="auto">Steps To Reproduce:</h5>
<p dir="auto">part of tasks/main.yml</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- name: create /var/www directory
  file: dest=/var/www/ state=directory owner=www-data

- name: extract kibana tarball
  unarchive: src=kibana.tar.bz2 dest=/var/www/"><pre class="notranslate"><code class="notranslate">- name: create /var/www directory
  file: dest=/var/www/ state=directory owner=www-data

- name: extract kibana tarball
  unarchive: src=kibana.tar.bz2 dest=/var/www/
</code></pre></div>
<h5 dir="auto">Expected Results:</h5>
<p dir="auto">all servers success.</p>
<h5 dir="auto">Actual Results:</h5>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="TASK: [kibana | create /var/www directory] ************************************ 
ok: [cnbjlx9913] =&gt; {&quot;changed&quot;: false, &quot;gid&quot;: 33, &quot;group&quot;: &quot;www-data&quot;, &quot;item&quot;: &quot;&quot;, &quot;mode&quot;: &quot;0755&quot;, &quot;owner&quot;: &quot;www-data&quot;, &quot;path&quot;: &quot;/var/www/&quot;, &quot;size&quot;: 4096, &quot;state&quot;: &quot;directory&quot;, &quot;uid&quot;: 33}
ok: [cnbjlnx006] =&gt; {&quot;changed&quot;: false, &quot;gid&quot;: 33, &quot;group&quot;: &quot;www-data&quot;, &quot;item&quot;: &quot;&quot;, &quot;mode&quot;: &quot;0755&quot;, &quot;owner&quot;: &quot;www-data&quot;, &quot;path&quot;: &quot;/var/www/&quot;, &quot;size&quot;: 4096, &quot;state&quot;: &quot;directory&quot;, &quot;uid&quot;: 33}

TASK: [kibana | extract kibana tarball] *************************************** 
failed: [cnbjlx9913] =&gt; {&quot;failed&quot;: true, &quot;item&quot;: &quot;&quot;}
msg: dest '/var/www/' must be an existing dir
ok: [cnbjlnx006] =&gt; {&quot;changed&quot;: false, &quot;check_results&quot;: {&quot;cmd&quot;: &quot;tar -v -C \&quot;/var/www/\&quot; --diff -f \&quot;/home/CORPUSERS/xp013826/.ansible/tmp/ansible-tmp-1396339364.42-237678010154795/source\&quot;&quot;, &quot;err&quot;: &quot;&quot;, &quot;out&quot;: &quot;kibana/\nkibana/app/\nkibana/app/app.js"><pre class="notranslate"><code class="notranslate">TASK: [kibana | create /var/www directory] ************************************ 
ok: [cnbjlx9913] =&gt; {"changed": false, "gid": 33, "group": "www-data", "item": "", "mode": "0755", "owner": "www-data", "path": "/var/www/", "size": 4096, "state": "directory", "uid": 33}
ok: [cnbjlnx006] =&gt; {"changed": false, "gid": 33, "group": "www-data", "item": "", "mode": "0755", "owner": "www-data", "path": "/var/www/", "size": 4096, "state": "directory", "uid": 33}

TASK: [kibana | extract kibana tarball] *************************************** 
failed: [cnbjlx9913] =&gt; {"failed": true, "item": ""}
msg: dest '/var/www/' must be an existing dir
ok: [cnbjlnx006] =&gt; {"changed": false, "check_results": {"cmd": "tar -v -C \"/var/www/\" --diff -f \"/home/CORPUSERS/xp013826/.ansible/tmp/ansible-tmp-1396339364.42-237678010154795/source\"", "err": "", "out": "kibana/\nkibana/app/\nkibana/app/app.js
</code></pre></div>
<h5 dir="auto">Issue Type:</h5>
<p dir="auto">Feature Idea</p>
<h5 dir="auto">Ansible Version:</h5>
<p dir="auto">1.7.1</p>
<h5 dir="auto">Environment:</h5>
<p dir="auto">OS X 10.9.4</p>
<h5 dir="auto">Summary:</h5>
<p dir="auto">For the following, I will only talk about tagging tasks. However, this could be applied to any resource (play, role, task) that can be tagged.</p>
<p dir="auto">When you want to use tags to include <strong>and</strong> exclude specific tasks from a playbook, you need to use the --tags <strong>and</strong> --skip-tags options. However, the issue is that all of your tasks must be tagged. Would it make sense that every task declared is automatically tagged with a default tag. For the sake of this issue, let's say that tag is <code class="notranslate">default</code>.</p>
<p dir="auto">An example:</p>
<p dir="auto">My plays and roles are initially designed to be run against our environments in our data centers. When I want to use those same scripts for a Vagrant setup, there are certain tasks that I want to include <strong>and</strong> exclude. Just to reiterate, I don't tag all of my tasks. Currently, I can exclude tasks by assigning a tag like <code class="notranslate">skip-vagrant</code> and use <code class="notranslate">--skip-tags "skip-vagrant"</code>. However, when I want to also include a task, I can't simply tag it as <code class="notranslate">vagrant</code> and use <code class="notranslate">--tags "vagrant"</code> because Ansible won't run my other non-tagged tasks. If every task (i.e. resource) was automatically tagged with a default tag, I could include <strong>and</strong> exclude tasks using <code class="notranslate">--tags "default,vagrant" --skip-tags "skip-vagrant"</code>. This also prevents me from adding noise to my configurations with <code class="notranslate">tags: [default]</code> to every task.</p>