
Delegate executing uri REST methods to the current module containers using kolla_toolbox. This will allow self signed certificate that are already copied into the container to be automatically validated. This circumvents requiring Kolla Ansible to explicitly disable certificate validation in the ansible uri module. Partially-Implements: blueprint custom-cacerts Change-Id: I2625db7b8000af980e4745734c834c5d9292290b
55 lines
1.7 KiB
YAML
55 lines
1.7 KiB
YAML
---
|
|
# The official procedure for upgrade elasticsearch:
|
|
# https://www.elastic.co/guide/en/elasticsearch/reference/5.6/restart-upgrade.html
|
|
- name: Disable shard allocation
|
|
become: true
|
|
kolla_toolbox:
|
|
module_name: uri
|
|
module_args:
|
|
url: "{{ internal_protocol }}://{{ kolla_internal_vip_address | put_address_in_context('url') }}:{{ elasticsearch_port }}/_cluster/settings"
|
|
method: PUT
|
|
status_code: 200
|
|
return_content: yes
|
|
body: {"transient": {"cluster.routing.allocation.enable": "none"}}
|
|
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: "{{ internal_protocol }}://{{ kolla_internal_vip_address | put_address_in_context('url') }}:{{ elasticsearch_port }}/_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]
|
|
|
|
- include_tasks: config.yml
|
|
|
|
- name: Flush handlers
|
|
meta: flush_handlers
|