vars variable playbook example variables ansible ansible-inventory

variables - example - ansible playbook hosts variable



Ansible: ¿Cómo usar las variables definidas en el archivo de inventario(hosts) en mi libro de jugadas? (1)

Hacer lo siguiente debería funcionar:
debug: msg="foo={{foo}}"

La variable foo se evaluará en el contexto del host actual. Probado localmente con ansible 1.3.4.

Como dice el sujeto. Tengo algunas variables de host definidas en mi archivo de inventario de hosts. ¿Cómo puedo acceder a ellos en mi libro de jugadas?

Aquí hay un ejemplo. Basándome en todas mis investigaciones, esperaba que foo y bar formaran parte de hostvars . Puedo colocar variables específicas del host en archivos var separados, pero me encantaría mantenerlas en mi archivo de inventario "adjunto" a un host. No quiero usarlo en plantillas. Versión ansible: 1.3.2, ansible_distribution_version: 6.4

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] => {"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] => {"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] => {"msg": "groups={''ungrouped'': [], ''foobar'': [''someHost''], ''all'': [''someHost'']}"} TASK: [debug msg="some_junk=1"] *********************************************** ok: [someHost] => {"msg": "some_junk=1"} PLAY RECAP ******************************************************************** someHost : ok=5 changed=0 unreachable=0 failed=0 bash $