Comment 11 for bug 1546789

Revision history for this message
Ganesh Maharaj Mahalingam (ganesh-mahalingam) wrote :

From the logs this is a plausible theory. When the play starts a large list is created with all the hosts on which the play should happen based on the order of hosts. Then the playbook goes through each of the tasks/includes based on the cirterion and runs them.

delegate_to is broken in ansible <2.0 per these bugs. https://github.com/ansible/ansible/issues/14684 && https://github.com/ansible/ansible/pull/15024.

In all the plays where 'run_once' is enabled, the playbook attempts it in the first machine that is in the list (created above) and skips if it doesnt match the criterion.

eg: Neutron endpoint creation fails. http://paste.openstack.org/show/492636/

Followed by creating the config drives which works correctly as they are not 'run_once'. http://paste.openstack.org/show/492637/

Changing the order will purely just change the order of the list and the key tasks which are run_once are obviously to be run on the server nodes (neutron in this case). Changing the order should have the most minimal impact here.