<h5 dir="auto">ISSUE TYPE</h5>
<ul dir="auto">
<li>Bug Report</li>
</ul>
<h5 dir="auto">COMPONENT NAME</h5>
<p dir="auto">Variables</p>
<h5 dir="auto">ANSIBLE VERSION</h5>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="ansible 2.1.2.0"><pre class="notranslate"><code class="notranslate">ansible 2.1.2.0
</code></pre></div>
<h5 dir="auto">CONFIGURATION</h5>
<p dir="auto">No changes</p>
<h5 dir="auto">OS / ENVIRONMENT</h5>
<p dir="auto">macOS Sierra (10.12)</p>
<h5 dir="auto">SUMMARY</h5>
<p dir="auto">Variables defined as integers (without quotes) are converted to strings when using them in the definition of another variable.</p>
<h5 dir="auto">STEPS TO REPRODUCE</h5>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="
---
- hosts: local
  connection: local
  gather_facts: no
  vars:
    some_integer: 5
    some_other_integer: &quot;{{ some_integer }}&quot;
  tasks:
    - debug: var=some_integer
    - debug: var=some_other_integer"><pre class="notranslate"><code class="notranslate">
---
- hosts: local
  connection: local
  gather_facts: no
  vars:
    some_integer: 5
    some_other_integer: "{{ some_integer }}"
  tasks:
    - debug: var=some_integer
    - debug: var=some_other_integer
</code></pre></div>
<h5 dir="auto">EXPECTED RESULTS</h5>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="LAY [local] *******************************************************************

TASK [debug] *******************************************************************
ok: [local] =&gt; {
    &quot;some_integer&quot;: 5
}

TASK [debug] *******************************************************************
ok: [local] =&gt; {
    &quot;some_other_integer&quot;: 5
}

PLAY RECAP *********************************************************************
local                      : ok=2    changed=0    unreachable=0    failed=0"><pre class="notranslate"><code class="notranslate">LAY [local] *******************************************************************

TASK [debug] *******************************************************************
ok: [local] =&gt; {
    "some_integer": 5
}

TASK [debug] *******************************************************************
ok: [local] =&gt; {
    "some_other_integer": 5
}

PLAY RECAP *********************************************************************
local                      : ok=2    changed=0    unreachable=0    failed=0
</code></pre></div>
<h5 dir="auto">ACTUAL RESULTS</h5>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="LAY [local] *******************************************************************

TASK [debug] *******************************************************************
ok: [local] =&gt; {
    &quot;some_integer&quot;: 5
}

TASK [debug] *******************************************************************
ok: [local] =&gt; {
    &quot;some_other_integer&quot;: &quot;5&quot;
}

PLAY RECAP *********************************************************************
local                      : ok=2    changed=0    unreachable=0    failed=0"><pre class="notranslate"><code class="notranslate">LAY [local] *******************************************************************

TASK [debug] *******************************************************************
ok: [local] =&gt; {
    "some_integer": 5
}

TASK [debug] *******************************************************************
ok: [local] =&gt; {
    "some_other_integer": "5"
}

PLAY RECAP *********************************************************************
local                      : ok=2    changed=0    unreachable=0    failed=0
</code></pre></div>
<p dir="auto">With the addition of a lot of rax modules, there is a lot of duplicate code currently.</p>
<p dir="auto">Migrate some duplicate boilerplate code that usually shows up in main() into <code class="notranslate">lib/ansible/module_utils/rax.py</code></p>
<p dir="auto">All rax modules should be updated to use it.</p>
<p dir="auto">This is just a placeholder so that it's visible that this is being worked on.</p>
<p dir="auto">I'll update this issue as things develop</p>