tripleo-common/roles/tripleo-ssh-known-hosts
Kevin Carter e394318edb Use blockinfile for tripleo-ssh-known-hosts
lineinfile combined with with_items was very inefficient for this task.
Given that each node's hostkey is added to every other host, it resulted
in O(n²) performance.

Additional networks per node also worsened the problem. For example, in
a 100 node deployment, with 4 networks per node, this task would need to
be executed 40,000 times (100 * 100 * 4).

Switching to use blockinfile brings the performance back to O(n), and
also removes any dependency on the number of networks per node. This
change also backports the task layout which improves general performance
and functionality of the role.

Change-Id: Id51d27f53abf3421c29a11065377e9303ad68d79
(cherry picked from commit 4157d7a5df083a49bfb3b1d1c7cd5f233c1930c4)
Signed-off-by: Kevin Carter <kecarter@redhat.com>
2019-09-10 18:08:58 +00:00
..
defaults Add tripleo-ssh-known-hosts role 2018-01-30 15:31:37 -05:00
handlers Add tripleo-ssh-known-hosts role 2018-01-30 15:31:37 -05:00
meta Add tripleo-ssh-known-hosts role 2018-01-30 15:31:37 -05:00
tasks Use blockinfile for tripleo-ssh-known-hosts 2019-09-10 18:08:58 +00:00
README.md Add tripleo-ssh-known-hosts role 2018-01-30 15:31:37 -05:00

README.md

tripleo-ssh-known-hosts

An Ansible role to add all SSH host keys to the host level known hosts file on all hosts.

Requirements

This section needs to be documented.

Role variables

  • ssh_known_hosts: -- Dict of hostname to ssh_known_hosts entries for a given host

Dependencies

None.

Example Playbook

Sample playbook to call the role:

  • name: Configure SSH known hosts hosts: all roles:
    • tripleo-ssh-known-hosts

License

Free software: Apache License (2.0)

Author Information

OpenStack TripleO team