Changes include:
- callback plugin - fixed for Ansible 2.2
Apparently now `eventlet.monkey_patch()` breaks Ansible,
and since it is implicitly executed on any import from ironic package,
it breaks the callback plugin and the whole ansible-deploy driver
when using Ansible 2.2.
Instead, just copy-paste those several lines of code explicitly
into callback plugin module or use them from ironic_staging_drivers
code.
- ansible.cfg - add interprocess polling interval option.
Increasing it should decrease CPU load generated by each
ansible-playbook invocation and improve ironic-conductor performance
for parallel deployment of nodes with ansible-deploy driver
- in-memory inventory playbook - changed add_host module args to
correspond to Ansible 2.x
Change-Id: I365a82cd3592a7669599fe84674ca4abab8f576f
Closes-Bug: #1652326
Requires Ironic API >= 1.22 when using heartbeats to Ironic API.
For better logging and proper deployment failure handling,
Ironic should be > '6.1.1.dev147' version.
Tested with and targets Ansible >= 2.1
Experimental DIB element: I3f6c3baf0197d27f2d423f52611666ca186cd0a4
Experimental TinyCore-based bootstrap:
Ie39ce67dc93e7d53bf75937c7defacafad5fbfcf
Tested with DevStack, Bifrost and Mirantis OpenStack,
with both VMs and real IPMI hardware.
Tempest's baremetal_server_basic_ops test reliably passes on DevStack
with `pxe_ssh_ansible` driver.
More elaborate documentation will be proposed in next changes.
Change-Id: Ib9317d365d7bc39aa00a9d9e1eadddd2f9b2947f
Related-bug: #1526308
Co-Authored-By: Yuriy Zveryanskyy <yzveryanskyy@mirantis.com>