Possiedo un Playbook Ansible che effettua una chiamata a un'altra playbook che passa i parametri. Funziona bene, ma quando provo a passare le variabili, Ansible esplode. Qui è la mia playbook:Ansible: il passaggio delle variabili valutate include
---
- name: This is the toplevel play for orchestration
hosts: nogroup
vars:
customer: myCustomer
sudo: yes
- include: amazon.yml application=FooServer instance_type=t2.micro instance_count=1 customer={{ customer }}
- include: amazon.yml application=BarServer instance_type=t2.micro instance_count=1 customer={{ customer }}
provo a fare funzionare:
ansible-playbook orchestration.yml -e "customer=otherCustomer"
e ottengo questo errore:
Traceback (most recent call last):
File "/usr/local/Cellar/ansible/1.7.2/libexec/bin/ansible-playbook", line 5, in <module>
pkg_resources.run_script('ansible==1.7.2', 'ansible-playbook')
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 492, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 1350, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/Cellar/ansible/1.7.2/lib/python2.7/site-packages/ansible-1.7.2-py2.7.egg/EGG-INFO/scripts/ansible-playbook", line 309, in <module>
sys.exit(main(sys.argv[1:]))
File "/usr/local/Cellar/ansible/1.7.2/lib/python2.7/site-packages/ansible-1.7.2-py2.7.egg/EGG-INFO/scripts/ansible-playbook", line 191, in main
force_handlers=options.force_handlers
File "/usr/local/Cellar/ansible/1.7.2/lib/python2.7/site-packages/ansible-1.7.2-py2.7.egg/ansible/playbook/__init__.py", line 180, in __init__
(self.playbook, self.play_basedirs) = self._load_playbook_from_file(playbook, vars)
File "/usr/local/Cellar/ansible/1.7.2/lib/python2.7/site-packages/ansible-1.7.2-py2.7.egg/ansible/playbook/__init__.py", line 271, in _load_playbook_from_file
inc_vars, inc_path = self._get_include_info(play, basedir, play_vars)
File "/usr/local/Cellar/ansible/1.7.2/lib/python2.7/site-packages/ansible-1.7.2-py2.7.egg/ansible/playbook/__init__.py", line 210, in _get_include_info
(k,v) = t.split("=", 1)
ValueError: need more than 1 value to unpack
Tutte le idee su come mi permetterà di passare una variabile ho impostato sulla riga di comando verso il basso attraverso più livelli di include nel mio playbook?
prova a mettere '{{cliente}}' tra virgolette: ' "{{cliente}}"' – tedder42