
There are cases when a multinode deployment ends up in unusable keystone public wsgi on some nodes. The root cause is that keystone public wsgi doesn't find fernet keys on startup - and then persists on sending 500 errors to any requests - due to a race condition between fernet_setup/fernet-push.sh and keystone startup. Depends-On: https://review.opendev.org/703742/ Change-Id: I63709c2e3f6a893db82a05640da78f492bf8440f Closes-Bug: #1846789
20 lines
575 B
YAML
20 lines
575 B
YAML
---
|
|
- name: Waiting for Keystone SSH port to be UP
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ keystone_ssh_port }}"
|
|
connect_timeout: 1
|
|
register: check_keystone_ssh_port
|
|
until: check_keystone_ssh_port is success
|
|
retries: 10
|
|
delay: 5
|
|
|
|
- name: Run key distribution
|
|
become: true
|
|
command: docker exec -t keystone_fernet /usr/bin/fernet-push.sh
|
|
run_once: True
|
|
delegate_to: >-
|
|
{% if groups['keystone_fernet_running'] is defined -%}
|
|
{{ groups['keystone_fernet_running'][0] }}
|
|
{%- else -%}{{ groups['keystone'][0] }}{%- endif %}
|