diff options
Diffstat (limited to 'ansible/roles/opensearch')
| -rw-r--r-- | ansible/roles/opensearch/handlers/main.yml | 23 | ||||
| -rw-r--r-- | ansible/roles/opensearch/tasks/post-config.yml | 21 |
2 files changed, 44 insertions, 0 deletions
diff --git a/ansible/roles/opensearch/handlers/main.yml b/ansible/roles/opensearch/handlers/main.yml index 0a279a9b0..361d9fcf2 100644 --- a/ansible/roles/opensearch/handlers/main.yml +++ b/ansible/roles/opensearch/handlers/main.yml @@ -57,6 +57,29 @@ dimensions: "{{ service.dimensions }}" healthcheck: "{{ service.healthcheck | default(omit) }}" +- name: Wait for OpenSearch cluster to recover + become: true + kolla_toolbox: + container_engine: "{{ kolla_container_engine }}" + module_name: uri + module_args: + url: "{{ opensearch_internal_endpoint }}/_cluster/health?wait_for_status=yellow&timeout=30s" + timeout: 35 + status_code: 200 + validate_certs: "{{ kolla_enable_tls_internal | bool }}" + return_content: true + body_format: json + ca_path: "{{ openstack_cacert }}" + delegate_to: "{{ groups['opensearch'][0] }}" + run_once: true + retries: 60 + delay: 5 + register: result + until: result.get('status') == 200 + listen: "Restart opensearch container" + when: + - kolla_action != "config" + - name: Restart opensearch-dashboards container vars: service_name: "opensearch-dashboards" diff --git a/ansible/roles/opensearch/tasks/post-config.yml b/ansible/roles/opensearch/tasks/post-config.yml index 290e88365..deef86b9f 100644 --- a/ansible/roles/opensearch/tasks/post-config.yml +++ b/ansible/roles/opensearch/tasks/post-config.yml @@ -88,6 +88,27 @@ - not ansible_check_mode - opensearch_retention_policy_check.status == 404 +- name: Wait for OpenSearch Dashboards API to become ready + become: true + kolla_toolbox: + container_engine: "{{ kolla_container_engine }}" + module_name: uri + module_args: + url: "{{ opensearch_dashboards_internal_endpoint }}/api/status" + method: GET + status_code: 200 + url_username: "{{ opensearch_dashboards_user }}" + url_password: "{{ opensearch_dashboards_password }}" + force_basic_auth: true + ca_path: "{{ openstack_cacert }}" + register: result + until: result.get('status') == 200 + retries: 30 + delay: 10 + delegate_to: "{{ groups['opensearch'][0] }}" + run_once: true + when: not ansible_check_mode + - name: Create OpenSearch Dashboards Index Pattern become: true kolla_toolbox: |
