Use ansible_facts in tripleo_ssh_known_hosts role

It was missed in original patch to switch to
ansible_facts[1].

For providing test value for 'ssh_host_key_rsa_public' overriding
it in 'ansible_facts' with set_fact.

[1] https://review.opendev.org/c/openstack/tripleo-ansible/+/776666

Closes-Bug: #1923403
Related-Bug: #1915761
Change-Id: I9d5ae576c57eefe5496f9dda71e8eac23e45e89f
This commit is contained in:
yatinkarel 2021-04-14 10:29:42 +05:30
parent 2769bab219
commit 30df6f5437
5 changed files with 8 additions and 4 deletions

View File

@ -18,5 +18,8 @@
- name: Converge
hosts: all
pre_tasks:
- name: Override ssh_host_key_rsa_public test value in ansible_facts
set_fact:
ansible_facts: "{{ ansible_facts|combine({'ssh_host_key_rsa_public': 'AAAATEST'}) }}"
roles:
- role: "tripleo_ssh_known_hosts"

View File

@ -35,7 +35,6 @@ provisioner:
allovercloud:
hosts:
ubi8:
ansible_ssh_host_key_rsa_public: AAAATEST
ctlplane_ip: 10.0.0.1
ctlplane_hostname: ubi8.ctlplane.localdomain
internal_api_ip: 10.0.1.1

View File

@ -18,5 +18,8 @@
- name: Converge
hosts: all
pre_tasks:
- name: Override ssh_host_key_rsa_public test value in ansible_facts
set_fact:
ansible_facts: "{{ ansible_facts|combine({'ssh_host_key_rsa_public': 'AAAATEST'}) }}"
roles:
- role: "tripleo_ssh_known_hosts"

View File

@ -35,7 +35,6 @@ provisioner:
allovercloud:
hosts:
ubi8:
ansible_ssh_host_key_rsa_public: AAAATEST
log: true
env:
ANSIBLE_STDOUT_CALLBACK: yaml

View File

@ -49,7 +49,7 @@
ssh_known_hosts_lines: |-
{% for host in groups['allovercloud'] | intersect(play_hosts) %}
{% set hostdata = hostvars[host] %}
{% if 'ansible_ssh_host_key_rsa_public' in hostdata %}
{% if 'ssh_host_key_rsa_public' in hostdata['ansible_facts'] %}
{% set entries = [] %}
{% set enabled_host_networks = hostdata['tripleo_role_networks']|default([]) %}
{% for network in enabled_host_networks %}
@ -64,7 +64,7 @@
{% set _ = entries.append('[' ~ hostdata['canonical_hostname'] ~ ']*') %}
{% endif %}
{% set _ = entries.append('[' ~ host ~ ']*') %}
{% set line = entries|unique|join(',') ~ ' ssh-rsa ' ~ hostdata['ansible_ssh_host_key_rsa_public'] %}
{% set line = entries|unique|join(',') ~ ' ssh-rsa ' ~ hostdata['ansible_facts']['ssh_host_key_rsa_public'] %}
{{ line }}
{% endif %}
{% endfor %}