aboutsummaryrefslogtreecommitdiff
path: root/ansible/roles/mariadb/defaults/main.yml
blob: d1023f846d3a4fe077cf7e6bf999979c4e26b610 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
---
mariadb_services:
  mariadb:
    container_name: mariadb
    group: "{{ mariadb_shard_group }}"
    enabled: true
    image: "{{ mariadb_image_full }}"
    volumes: "{{ mariadb_default_volumes + mariadb_extra_volumes }}"
    dimensions: "{{ mariadb_dimensions }}"
    healthcheck: "{{ mariadb_healthcheck }}"
    haproxy:
      mariadb_external_lb:
        enabled: "{{ enable_external_mariadb_load_balancer | bool }}"
        mode: "tcp"
        port: "{{ database_port }}"
        listen_port: "{{ mariadb_port }}"
        frontend_tcp_extra:
          - "option clitcpka"
          - "timeout client 3600s"
        backend_tcp_extra:
          - "option srvtcpka"
          - "timeout server 3600s"
        custom_member_list: "{{ external_haproxy_members.split(';') }}"

####################
# Database
####################
database_cluster_name: "openstack"
database_max_timeout: 120

####################
# HAProxy
####################
external_haproxy_members: >-
  {% for host in mariadb_default_database_shard_hosts %} server {{ host }} {{ host }}:{{ mariadb_port }}
  check port {{ mariadb_port }} inter 2000 rise 2 fall 5{% if not loop.first %} backup{% endif %};{% endfor %}

####################
# Docker
####################
mariadb_image: "{{ docker_image_url }}mariadb-server"
mariadb_tag: "{{ openstack_tag }}"
mariadb_image_full: "{{ mariadb_image }}:{{ mariadb_tag }}"

mariadb_dimensions: "{{ default_container_dimensions }}"

mariadb_default_volumes:
  - "{{ node_config_directory }}/mariadb/:{{ container_config_directory }}/:ro"
  - "/etc/localtime:/etc/localtime:ro"
  - "{{ mariadb_datadir_volume }}:/var/lib/mysql"
  - "kolla_logs:/var/log/kolla/"

mariadb_extra_volumes: "{{ default_extra_volumes }}"

mariadb_enable_healthchecks: "{{ enable_container_healthchecks }}"
mariadb_healthcheck_interval: "{{ default_container_healthcheck_interval }}"
mariadb_healthcheck_retries: "{{ default_container_healthcheck_retries }}"
mariadb_healthcheck_start_period: "{{ default_container_healthcheck_start_period }}"
mariadb_healthcheck_test:
  - "CMD-SHELL"
  - >-
    /usr/bin/healthcheck.sh --defaults-file
    /etc/{{ 'mysql/' if kolla_base_distro in ['ubuntu', 'debian'] else '' }}healthcheck.cnf --connect --galera_online

mariadb_healthcheck_timeout: "{{ default_container_healthcheck_timeout }}"
mariadb_healthcheck:
  interval: "{{ mariadb_healthcheck_interval }}"
  retries: "{{ mariadb_healthcheck_retries }}"
  start_period: "{{ mariadb_healthcheck_start_period }}"
  test: "{% if mariadb_enable_healthchecks | bool %}{{ mariadb_healthcheck_test }}{% else %}NONE{% endif %}"
  timeout: "{{ mariadb_healthcheck_timeout }}"

########################################
# Vars used within recover_cluster.yml
########################################
mariadb_service: "{{ mariadb_services['mariadb'] }}"
mariadb_recover_tmp_file_path: "/tmp/kolla_mariadb_recover_inventory_name_{{ mariadb_shard_name }}"

###############
# WSREP options
###############
mariadb_wsrep_extra_provider_options: []
mariadb_wsrep_sst_method: "mariabackup"

####################
# Backups
####################
mariadb_backup_host: "{{ groups[mariadb_shard_group][0] }}"
mariadb_backup_database_schema: "mysql"
mariadb_backup_database_user: "{{ mariadb_shard_backup_user_prefix }}{{ mariadb_shard_id | string }}"
mariadb_backup_type: "full"
mariadb_backup_possible: "{{ inventory_hostname in mariadb_default_database_shard_hosts }}"

####################
# Sharding
####################
mariadb_shard_database_user: "{{ mariadb_shard_root_user_prefix }}{{ mariadb_shard_id | string }}"
mariadb_database_shard: "{{ mariadb_shards_info }}"

# Database
mariadb_database_enable_tls_internal: "{{ database_enable_tls_internal | bool }}"

###################
# Copy certificates
###################
mariadb_copy_certs: "{{ kolla_copy_ca_into_containers | bool or database_enable_tls_backend | bool }}"