I’m running a simple playbook from within Ansible Tower but getting the error in the subject line.
Version info:
- Tower server: RHEL 7.5, Ansible 2.5.3, Ansible Tower 3.2.2
- Remote node: RHEL 7.5
The playbook has multiple hosts sections, all are defined like this (with line numbers):
21 - name: “Setup the testing TEST/DEV systems”
22 hosts: test_dev
…
63 - name: “Setup the testing PPROD/PROD systems”
64 hosts: test_prod
…
103 - name: Setup of test systems
104 hosts: test_sys
The “test_sys” group is just a collection of the “test_dev” and “test_prod” groups. The first two work just fine and gather facts, but the third errors out in the “Gathering Facts” step (lines truncated for length marked with ‘snip’):
TASK [Gathering Facts] *********************************************************
task path: /var/lib/awx/projects/_146__ansibletowersetup/CICD-InfoSec-Testing/setuptesting.yml:103
Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py
<10.50.219.144> ESTABLISH SSH CONNECTION FOR USER: root
<10.50.219.144> SSH: EXEC ssh -o UserKnownHostsFile=/dev/null -o ControlPersist=60s -o StrictHos […snip…]
Using module file /usr/lib/python2.7/site-packages/ansible/modules/system/setup.py
<10.50.219.146> ESTABLISH SSH CONNECTION FOR USER: root
<10.50.219.146> SSH: EXEC ssh -o UserKnownHostsFile=/dev/null -o ControlPersist=60s -o StrictHos […snip…]
<10.50.219.144> (0, '\n{“invocation”: {“module_args”: {“filter”: “*”, “gather_subset”: [“all”], […snip…]
ERROR! Unexpected Exception, this is probably a bug: update expected at most 1 arguments, got 2
the full traceback was:Traceback (most recent call last):
File “/usr/bin/ansible-playbook”, line 118, in
exit_code = cli.run()
File “/usr/lib/python2.7/site-packages/ansible/cli/playbook.py”, line 122, in run
results = pbex.run()
File “/usr/lib/python2.7/site-packages/ansible/executor/playbook_executor.py”, line 159, in run
result = self._tqm.run(play=play)
File “/usr/lib/python2.7/site-packages/ansible/executor/task_queue_manager.py”, line 289, in run
play_return = strategy.run(iterator, play_context)
File “/usr/lib/python2.7/site-packages/ansible/plugins/strategy/linear.py”, line 321, in run
results += self._wait_on_pending_results(iterator)
File “/usr/lib/python2.7/site-packages/ansible/plugins/strategy/init.py”, line 674, in _wait_on_pending_results
results = self._process_pending_results(iterator)
File “/usr/lib/python2.7/site-packages/ansible/plugins/strategy/init.py”, line 117, in inner
results = func(self, iterator, one_pass=one_pass, max_passes=max_passes)
File “/usr/lib/python2.7/site-packages/ansible/plugins/strategy/init.py”, line 606, in _process_pending_results
self._variable_manager.set_host_facts(target_host, result_item[‘ansible_facts’].copy())
File “/usr/lib/python2.7/site-packages/ansible/vars/manager.py”, line 587, in set_host_facts
self._fact_cache.update(host.name, facts)
TypeError: update expected at most 1 arguments, got 2
Any ideas where to start looking?