Bug in ansible 1.8.4 with regards to step?

Hi all,

I recently upgraded two of my four ansible servers to 1.8.4 and from then on the --step option no longer works. The other two servers are running 1.8.2 and have no issues at all. This is the error I’m getting when adding --step. Any other parameter / option that I normally use with ansible-playbook works without issues.

PLAY [development] ************************************************************
Traceback (most recent call last):
File “/usr/bin/ansible-playbook”, line 326, in
sys.exit(main(sys.argv[1:]))
File “/usr/bin/ansible-playbook”, line 266, in main
pb.run()
File “/usr/lib/python2.6/site-packages/ansible/playbook/init.py”, line 347, in run
if not self._run_play(play):
File “/usr/lib/python2.6/site-packages/ansible/playbook/init.py”, line 740, in _run_play
if not self._run_task(play, task, False):
File “/usr/lib/python2.6/site-packages/ansible/playbook/init.py”, line 474, in _run_task
self.callbacks.on_task_start(template(play.basedir, name, task.module_vars, lookup_fatal=False, filter_fatal=False), is_handler)
File “/usr/lib/python2.6/site-packages/ansible/callbacks.py”, line 636, in on_task_start
msg = msg.encode(sys.stdout.encoding, errors=‘replace’)
TypeError: encode() takes no keyword arguments
[~/esl-ansible] (master)

Since I’m also running Ansible Tower on those I don’t have the possibility to ‘downgrade’ to 1.8.2 on those two boxes without affecting our teams using Ansible Tower. Any help is greatly appreciated.

Kind regards,

Eric Van Steenbergen

As a hotfix, take out the “errors=” and it’ll work (the culprit is Python 2.6).

Thanks Jurgen, that did the trick :-).