title: Ansible: How to use variables defined in inventory file (hosts) in my playbook?
body: <p>As the subject says. I have some host variables defined in my hosts inventory file. How do I access them in my playbook?</p>
  
  <p>Here is an example. Based on all my research I was expecting <code>foo</code> and <code>bar</code> to be part of <code>hostvars</code>. I can put host specific variables in separate var files, but I would love to keep them in my inventory file "attached" to a host. I don't want to use it in templates.
  ansible version: 1.3.2, ansible_distribution_version: 6.4</p>
  
  <pre><code>bash $
  bash $ ansible --version
  ansible 1.3.2
  bash $
  bash $ cat test_inv.ini
  
  [foobar]
  someHost foo="some string" bar=123
  someOtherHost foo="some other string" bar=456
  
  
  bash $
  bash $ cat test.yml
  
  ---
  
  - name: test variables...
    hosts: all
    vars:
      - some_junk: "1"
  #  gather_facts: no # foo and bar are unavailable whether I gather facts or not.
    tasks:
      - debug: msg="hostvars={{hostvars}}"
      - debug: msg="vars={{vars}}"
      - debug: msg="groups={{groups}}"
      - debug: msg="some_junk={{some_junk}}"
  #    - debug: msg="???? HOW DO I PRINT values of host specific variables foo and bar defined in inventory file ???"
  
  bash $
  bash $
  bash $ ansible-playbook -i test_inv.ini test.yml
  
  PLAY [test variables...] ******************************************************
  
  GATHERING FACTS ***************************************************************
  ok: [someHost]
  
  TASK: [debug msg="hostvars={{hostvars}}"] *************************************
  ok: [someHost] =&gt; {"msg": "hostvars={'someHost': {u'facter_operatingsystem': u'RedHat', u'facter_selinux_current_mode': u'enforcing', u'facter_hostname': u'someHost', 'module_setup': True, u'facter_memoryfree_mb': u'1792.70', u'ansible_distribution_version': u'6.4' // ...........snip...........// u'VMware IDE CDR10'}}"}
  
  TASK: [debug msg="vars={{vars}}"] *********************************************
  ok: [someHost] =&gt; {"msg": "vars={'some_junk': '1', 'delegate_to': None, 'changed_when': None, 'register': None, 'inventory_dir': '/login/sg219898/PPP/automation/ansible', 'always_run': False, 'ignore_errors': False}"}
  
  TASK: [debug msg="groups={{groups}}"] *****************************************
  ok: [someHost] =&gt; {"msg": "groups={'ungrouped': [], 'foobar': ['someHost'], 'all': ['someHost']}"}
  
  TASK: [debug msg="some_junk=1"] ***********************************************
  ok: [someHost] =&gt; {"msg": "some_junk=1"}
  
  PLAY RECAP ********************************************************************
  someHost                   : ok=5    changed=0    unreachable=0    failed=0  
  
  bash $ 
  </code></pre>