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

<ul dir="auto">
<li>Bug Report</li>
</ul>
<h5 dir="auto">COMPONENT NAME</h5>

<p dir="auto">logstash callback plugin</p>
<h5 dir="auto">ANSIBLE VERSION</h5>

<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ansible 2.3.0.0
  config file = /root/ansible/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]
"><pre class="notranslate"><code class="notranslate">ansible 2.3.0.0
  config file = /root/ansible/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]

</code></pre></div>
<h5 dir="auto">CONFIGURATION</h5>

<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="callback_plugins = callback_plugins
callback_whitelist = logstash"><pre class="notranslate"><code class="notranslate">callback_plugins = callback_plugins
callback_whitelist = logstash
</code></pre></div>
<h5 dir="auto">OS / ENVIRONMENT</h5>

<p dir="auto">centos7</p>
<h5 dir="auto">SUMMARY</h5>

<p dir="auto">When custom callback plugin with same name as built in plugin is defined, the plugin gets called twice. The plugin called is the one in runtime folder.</p>
<h5 dir="auto">STEPS TO REPRODUCE</h5>

<p dir="auto">Add a callback plugin to "runtime folder/callback_plugins" and enable it. Tested with logstash plugin only.</p>


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

<p dir="auto">Only relevant lines i found are:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Using /root/ansible/ansible.cfg as config file
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin logstash2 of type aggregate, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc"><pre class="notranslate"><code class="notranslate">Using /root/ansible/ansible.cfg as config file
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin logstash2 of type aggregate, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
</code></pre></div>
<p dir="auto">When using different name (logstash2).</p>
<h5 dir="auto">ACTUAL RESULTS</h5>


<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Using /root/ansible/ansible.cfg as config file
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin logstash of type aggregate, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin logstash of type aggregate, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc"><pre class="notranslate"><code class="notranslate">Using /root/ansible/ansible.cfg as config file
Loading callback plugin default of type stdout, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin logstash of type aggregate, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
Loading callback plugin logstash of type aggregate, v2.0 from /usr/lib/python2.7/site-packages/ansible/plugins/callback/__init__.pyc
</code></pre></div>
<p dir="auto">When using same name (logstash).</p>
<h5 dir="auto">ISSUE TYPE</h5>
<ul dir="auto">
<li>Feature Idea</li>
</ul>
<h5 dir="auto">COMPONENT NAME</h5>
<p dir="auto">vault</p>
<h5 dir="auto">ANSIBLE VERSION</h5>
<p dir="auto">2.x</p>
<h5 dir="auto">CONFIGURATION</h5>
<p dir="auto">N/A</p>
<h5 dir="auto">OS / ENVIRONMENT</h5>
<p dir="auto">N/A</p>
<h5 dir="auto">SUMMARY</h5>
<p dir="auto">Inspired by <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="39013985" data-permission-text="Title is private" data-url="https://github.com/ansible/ansible/issues/8340" data-hovercard-type="issue" data-hovercard-url="/ansible/ansible/issues/8340/hovercard" href="https://github.com/ansible/ansible/issues/8340">#8340</a>. I'm not sure if vault or the file loader already has such a feature, but if it could index loaded files by checksum, it wouldn't have to decrypt the same content multiple times.</p>
<h5 dir="auto">STEPS TO REPRODUCE</h5>
<p dir="auto">Make a bunch of duplicate vars files that are vault encrypted.</p>
<h5 dir="auto">EXPECTED RESULTS</h5>
<p dir="auto">Only decrypt once.</p>
<h5 dir="auto">ACTUAL RESULTS</h5>
<p dir="auto">Decryption for every file.</p>