9e668902c2
This makes it possible for services to fetch the Elasticsearch endpoint from Keystone. It is useful for both operators and Monasca Tempest. Change-Id: Id60298582496a8959e82b970676669ca17e2e9d4
64 lines
1.8 KiB
YAML
64 lines
1.8 KiB
YAML
---
|
|
# The official procedure for upgrade elasticsearch:
|
|
# https://www.elastic.co/guide/en/elasticsearch/reference/6.x/restart-upgrade.html
|
|
- name: Disable shard allocation
|
|
become: true
|
|
vars:
|
|
elasticsearch_shard_body: {"transient": {"cluster.routing.allocation.enable": "none"}}
|
|
kolla_toolbox:
|
|
module_name: uri
|
|
module_args:
|
|
url: "{{ elasticsearch_internal_endpoint }}/_cluster/settings"
|
|
method: PUT
|
|
status_code: 200
|
|
return_content: yes
|
|
body: "{{ elasticsearch_shard_body | to_json }}"
|
|
body_format: json
|
|
delegate_to: "{{ groups['elasticsearch'][0] }}"
|
|
run_once: true
|
|
|
|
- name: Perform a synced flush
|
|
become: true
|
|
kolla_toolbox:
|
|
module_name: uri
|
|
module_args:
|
|
url: "{{ elasticsearch_internal_endpoint }}/_flush/synced"
|
|
method: POST
|
|
status_code: 200
|
|
return_content: yes
|
|
body_format: json
|
|
delegate_to: "{{ groups['elasticsearch'][0] }}"
|
|
run_once: true
|
|
retries: 10
|
|
delay: 5
|
|
register: result
|
|
until: ('status' in result) and result.status == 200
|
|
|
|
# Stop all elasticsearch containers before applying configuration to ensure
|
|
# handlers are triggered to restart them.
|
|
- name: Stopping all elasticsearch containers
|
|
vars:
|
|
service_name: "elasticsearch"
|
|
service: "{{ elasticsearch_services[service_name] }}"
|
|
become: true
|
|
kolla_docker:
|
|
action: "stop_container"
|
|
common_options: "{{ docker_common_options }}"
|
|
name: "elasticsearch"
|
|
image: "{{ service.image }}"
|
|
environment: "{{ service.environment }}"
|
|
volumes: "{{ service.volumes }}"
|
|
when: inventory_hostname in groups[service.group]
|
|
|
|
- import_tasks: config-host.yml
|
|
|
|
- import_tasks: config.yml
|
|
|
|
- import_tasks: check-containers.yml
|
|
|
|
- include_tasks: register.yml
|
|
when: elasticsearch_enable_keystone_registration | bool
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|