kolla-ansible/ansible/mariadb.yml
Mark Goddard af6e1ca4fd Support Ansible max_fail_percentage
This allows us to continue execution until a certain proportion of hosts
to fail. This can be useful at scale, where failures are common, and
restarting a deployment is time-consuming.

The default max failure percentage is 100, keeping the default
behaviour. A global max failure percentage may be set via
kolla_max_fail_percentage, and individual services may define a max
failure percentage via <service>_max_fail_percentage.

Note that all hosts in the inventory must be reachable for fact
gathering, even those not included in a --limit.

Closes-Bug: #1833737
Change-Id: I808474a75c0f0e8b539dc0421374b06cea44be4f
2023-12-05 11:49:42 +01:00

93 lines
2.1 KiB
YAML

---
# For MariaDB we need to be careful about restarting services, to avoid losing quorum.
- name: Apply role mariadb
gather_facts: false
hosts:
- mariadb
- '&enable_mariadb_True'
max_fail_percentage: >-
{{ mariadb_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
tags:
- mariadb
tasks:
- import_role:
name: mariadb
- name: Restart mariadb services
gather_facts: false
hosts:
- mariadb_restart
- '&enable_mariadb_True'
# Restart in batches
serial: "33%"
max_fail_percentage: >-
{{ mariadb_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
tags:
- mariadb
tasks:
- import_role:
name: mariadb
tasks_from: restart_services.yml
- name: Start mariadb services
gather_facts: false
hosts:
- mariadb_start
- '&enable_mariadb_True'
# Start in batches
serial: "33%"
max_fail_percentage: >-
{{ mariadb_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
tags:
- mariadb
tasks:
- import_role:
name: mariadb
tasks_from: restart_services.yml
- name: Restart bootstrap mariadb service
gather_facts: false
hosts:
- mariadb_bootstrap_restart
- '&enable_mariadb_True'
max_fail_percentage: >-
{{ mariadb_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
tags:
- mariadb
tasks:
- import_role:
name: mariadb
tasks_from: restart_services.yml
- name: Apply mariadb post-configuration
gather_facts: false
hosts:
- mariadb
- '&enable_mariadb_True'
max_fail_percentage: >-
{{ mariadb_max_fail_percentage |
default(kolla_max_fail_percentage) |
default(100) }}
tags:
- mariadb
tasks:
- name: Include mariadb post-deploy.yml
include_role:
name: mariadb
tasks_from: post-deploy.yml
when: kolla_action in ['deploy', 'reconfigure', 'upgrade']
- name: Include mariadb post-upgrade.yml
include_role:
name: mariadb
tasks_from: post-upgrade.yml
when: kolla_action == 'upgrade'