---
- name: Get container facts
  kolla_container_facts:
    name:
      - keystone
      - keystone_ssh
  register: container_facts

- name: Checking free port for Keystone Admin
  wait_for:
    host: "{{ api_interface_address }}"
    port: "{{ keystone_admin_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 Public
  wait_for:
    host: "{{ api_interface_address }}"
    port: "{{ keystone_public_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 in globals.yml. Update fernet_token_expiry to allowed value if this task fails
  run_once: true
  local_action: command awk '/^fernet_token_expiry/ { print $2 }' "{{ CONFIG_DIR | default('/etc/kolla') }}/globals.yml"
  register: result
  changed_when: false
  failed_when: result.stdout | regex_replace('(60|120|180|240|300|360|600|720|900|1200|1800|3600|7200|10800|14400|21600|28800|43200|86400|604800)', '') | search(".+")
