Playbooks issue.

Hi there, after changing my linux distribution from debian to arch i’ve got little issue to run playbooks. When ansbile was installed by pacman i have error like:

Traceback (most recent call last):
File “/usr/bin/ansible-playbook”, line 324, in
sys.exit(main(sys.argv[1:]))
File “/usr/bin/ansible-playbook”, line 264, in main
pb.run()
File “/usr/lib/python2.7/site-packages/ansible/playbook/init.py”, line 310, in run
play = Play(self, play_ds, play_basedir, vault_password=self.vault_password)
File “/usr/lib/python2.7/site-packages/ansible/playbook/play.py”, line 103, in init
ds = self._load_roles(self.roles, ds)
File “/usr/lib/python2.7/site-packages/ansible/playbook/play.py”, line 440, in _load_roles
roles = self._build_role_dependencies(roles, , {})
File “/usr/lib/python2.7/site-packages/ansible/playbook/play.py”, line 282, in _build_role_dependencies
dependencies = data.get(‘dependencies’,)
AttributeError: ‘list’ object has no attribute ‘get’

But when I uninstall package by pacman and install by pip I’ve got:

File “/usr/bin/ansible-playbook”, line 218
print ‘’
^
SyntaxError: Missing parentheses in call to ‘print’

On this same playbooks…
Version of ansible is 1.9.3 in both cases.

Many thanks for help.

arch defaults to python3 you need to use python2 to execute ansible.

Yep, but i’ve got python2:

pacman -Q python2
python2 2.7.10-2

W dniu środa, 7 października 2015 15:31:00 UTC użytkownik rm_czuga napisał:

Yep, but i’ve got python2:

https://docs.ansible.com/ansible/faq.html#how-do-i-handle-python-pathing-not-having-a-python-2-x-in-usr-bin-python-on-a-remote-machine

Cheers,
Paul

Ok, let’s check this out:

whereis python
python: /usr/bin/pytho

python -v

Python 2.7.10 (default, Sep 7 2015, 13:51:49)
[GCC 5.2.0] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
dlopen(“/usr/lib/python2.7/lib-dynload/readline.so”, 2);
import readline # dynamically loaded from /usr/lib/python2.7/lib-dynload/readline.so

quit();

export ANSIBLE_PYTHON_INTERPRETER=/usr/bin/python

ansible-playbook playbooks/playbook.yml -i hosts
Traceback (most recent call last):
File “/usr/bin/ansible-playbook”, line 324, in
sys.exit(main(sys.argv[1:]))
File “/usr/bin/ansible-playbook”, line 264, in main
pb.run()
File “/usr/lib/python2.7/site-packages/ansible/playbook/init.py”, line 310, in run
play = Play(self, play_ds, play_basedir, vault_password=self.vault_password)
File “/usr/lib/python2.7/site-packages/ansible/playbook/play.py”, line 103, in init
ds = self._load_roles(self.roles, ds)
File “/usr/lib/python2.7/site-packages/ansible/playbook/play.py”, line 440, in _load_roles
roles = self._build_role_dependencies(roles, , {})
File “/usr/lib/python2.7/site-packages/ansible/playbook/play.py”, line 282, in _build_role_dependencies
dependencies = data.get(‘dependencies’,)
AttributeError: ‘list’ object has no attribute ‘get’

So, this is not a solution for me.

W dniu środa, 7 października 2015 15:31:00 UTC użytkownik rm_czuga napisał: