kolla-ansible/ansible/roles/keystone/tasks/precheck.yml
Ivan Halomi 4ce47e2250 Refactor of kolla_container_facts
Refactor that prepares kolla_container_facts
module for introducing more actions that will be moved
from kolla_container module and kolla_container_volume_facts.

This change is based on a discussion about adding a new action
to kolla_container module that retrieves all names of the running
containers. It was agreed that kolla-ansible should follow Ansible's
direction of splitting modules between action modules and facts
modules. Because of this, kolla_container_facts needs to be able
to handle different requests for data about containers or volumes.

Change-Id: Ieaec8f64922e4e5a2199db2d6983518b124cb4aa
Signed-off-by: Ivan Halomi <ivan.halomi@tietoevry.com>
2024-08-12 09:54:05 +02:00

62 lines
1.9 KiB
YAML

---
- import_role:
name: service-precheck
vars:
service_precheck_services: "{{ keystone_services }}"
service_name: "{{ project_name }}"
- name: Get container facts
become: true
kolla_container_facts:
action: get_containers
container_engine: "{{ kolla_container_engine }}"
name:
- keystone
- keystone_ssh
check_mode: false
register: container_facts
- name: Checking free port for Keystone Public
wait_for:
host: "{{ api_interface_address }}"
port: "{{ keystone_public_listen_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['keystone'] is not defined
- inventory_hostname in groups['keystone']
- name: Checking free port for Keystone SSH
vars:
keystone_ssh: "{{ keystone_services['keystone-ssh'] }}"
wait_for:
host: "{{ api_interface_address }}"
port: "{{ keystone_ssh_port }}"
connect_timeout: 1
timeout: 1
state: stopped
when:
- container_facts['keystone_ssh'] is not defined
- keystone_ssh.enabled | bool
- inventory_hostname in groups['keystone']
- name: Checking fernet_token_expiry
run_once: true
assert:
that:
- fernet_token_expiry is number
# Check that it is not a floating point number
- fernet_token_expiry | int == fernet_token_expiry
- fernet_token_expiry >= 0
# NOTE(wszumski): fernet_rotate_cron_generator.py doesn't support a span
# greater than a week.
- fernet_token_expiry <= 604800
msg: >-
fernet_token_expiry must be an integer up to and including 604800. You can
set this in `globals.yml`. The value represents the time period, in
seconds, at which to rotate the fernet keys. Suggested values are: 60,
120, 240, 480, 720, 1440, 3600, 7200, 10800, 14400, 21600, 43200, 60480,
120960, 151200, 201600, 302400, 604800. These values ensure an evenly-spaced
run schedule as they divide 7 days without remainder.