Skip to content
This repository has been archived by the owner on Jun 24, 2021. It is now read-only.

update config check 2.1 #973

Merged
merged 2 commits into from
Sep 24, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@
roles:
- check_config_dynamic

- name: Pre-check for configuration
hosts: pd_servers[0]
tags:
- check_config
roles:
- check_config

- name: deploying node_exporter
hosts: monitored_servers
tags:
Expand Down
42 changes: 42 additions & 0 deletions roles/check_config/tasks/check_pd_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---

- name: Load PD vars
include_vars: file={{ playbook_dir }}/roles/pd/defaults/main.yml name=pd_vars_check

- name: "Load customized config: tidb-ansible/conf/pd.yml"
include_vars: file={{ playbook_dir }}/conf/pd.yml name=pd_conf_custom_check

- name: Load default config
include_vars: file={{ playbook_dir }}/roles/pd/vars/default.yml name=pd_conf_default_check

- name: Generate dynamic config
set_fact:
pd_conf_generated_check:
replication:
location-labels: "{{ pd_vars_check.location_labels }}"
security:
cacert-path: >-
{%- if enable_tls|default(false) -%}{{ pd_cert_dir }}/ca.pem{%- else -%}{%- endif -%}
cert-path: >-
{%- if enable_tls|default(false) -%}{{ pd_cert_dir }}/pd-server-{{ pd_host }}.pem{%- else -%}{%- endif -%}
key-path: >-
{%- if enable_tls|default(false) -%}{{ pd_cert_dir }}/pd-server-{{ pd_host }}-key.pem{%- else -%}{%- endif -%}

- name: Generate final config
set_fact:
pd_conf: "{{ pd_conf_custom_check | with_default_dicts(pd_conf_generated_check, pd_conf_default_check) }}"

- name: Create configuration file
template: src={{ playbook_dir }}/roles/pd/templates/pd.toml.j2 dest={{ tidb_check_dir }}/pd.toml mode=0644 backup=yes

- name: Deploy PD binary
copy: src="{{ resources_dir }}/bin/pd-server" dest="{{ tidb_check_dir }}/" mode=0755 backup=yes

- name: Check PD config
shell: cd {{ tidb_check_dir }} && ./pd-server -config ./pd.toml -config-check
register: pd_check_result

- name: Check result
fail:
msg: "PD config error"
when: "'successful' not in pd_check_result.stdout"
43 changes: 43 additions & 0 deletions roles/check_config/tasks/check_tidb_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---

- name: Load TiDB default vars
include_vars: file={{ playbook_dir }}/roles/tidb/defaults/main.yml name=tidb_vars_check

- name: Load TiDB group vars
include_vars: file={{ playbook_dir }}/group_vars/tidb_servers.yml name=tidb_vars_check

- name: "Load customized config: tidb-ansible/conf/tidb.yml"
include_vars: file={{ playbook_dir }}/conf/tidb.yml name=tidb_conf_custom_check

- name: Load default config
include_vars: file={{ playbook_dir }}/roles/tidb/vars/default.yml name=tidb_conf_default_check

- name: generate dynamic config
set_fact:
tidb_conf_generated_check:
security:
cluster-ssl-ca: >-
{%- if enable_tls|default(false) -%}{{ tidb_cert_dir }}/ca.pem{%- else -%}{%- endif -%}
cluster-ssl-cert: >-
{%- if enable_tls|default(false) -%}{{ tidb_cert_dir }}/tidb-server-{{ tidb_host }}.pem{%- else -%}{%- endif -%}
cluster-ssl-key: >-
{%- if enable_tls|default(false) -%}{{ tidb_cert_dir }}/tidb-server-{{ tidb_host }}-key.pem{%- else -%}{%- endif -%}

- name: Generate final config
set_fact:
tidb_conf: "{{ tidb_conf_custom_check | with_default_dicts(tidb_conf_generated_check, tidb_conf_default_check) }}"

- name: Create configuration file
template: src={{ playbook_dir }}/roles/tidb/templates/tidb.toml.j2 dest={{ tidb_check_dir }}/tidb.toml mode=0644 backup=yes

- name: Deploy TiDB binary
copy: src="{{ resources_dir }}/bin/tidb-server" dest="{{ tidb_check_dir }}/" mode=0755 backup=yes

- name: Check TiDB config
shell: cd {{ tidb_check_dir }} && ./tidb-server -config ./tidb.toml -config-check
register: tidb_check_result

- name: Check result
fail:
msg: "TiDB config error"
when: "'successful' not in tidb_check_result.stdout"
49 changes: 49 additions & 0 deletions roles/check_config/tasks/check_tikv_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---

- set_fact:
tikv_log_dir: "{{ deploy_dir }}/log"

- name: Load TiKV vars
include_vars: file={{ playbook_dir }}/roles/tikv/defaults/main.yml name=tikv_vars_check

- name: "Load customized config: tidb-ansible/conf/tikv.yml"
include_vars: file={{ playbook_dir }}/conf/tikv.yml name=tikv_conf_custom_check

- name: Load default config
include_vars: file={{ playbook_dir }}/roles/tikv/vars/default.yml name=tikv_conf_default_check

- name: generate dynamic config
set_fact:
tikv_conf_generated_check:
server:
labels: "{{ tikv_vars_check.labels }}"
rocksdb:
wal-dir: "{{ tikv_vars_check.wal_dir }}"
raftstore:
raftdb-path: "{{ tikv_vars_check.raftdb_path }}"
security:
ca-path: >-
{%- if enable_tls|default(false) -%}{{ tikv_cert_dir }}/ca.pem{%- else -%}{%- endif -%}
cert-path: >-
{%- if enable_tls|default(false) -%}{{ tikv_cert_dir }}/tikv-server-{{ tikv_host }}.pem{%- else -%}{%- endif -%}
key-path: >-
{%- if enable_tls|default(false) -%}{{ tikv_cert_dir }}/tikv-server-{{ tikv_host }}-key.pem{%- else -%}{%- endif -%}

- name: Generate final config
set_fact:
tikv_conf: "{{ tikv_conf_custom_check | with_default_dicts(tikv_conf_generated_check, tikv_conf_default_check) }}"

- name: Create configuration file
template: src={{ playbook_dir }}/roles/tikv/templates/tikv.toml.j2 dest={{ tidb_check_dir }}/tikv.toml mode=0644 backup=yes

- name: Deploy TiKV binary
copy: src="{{ resources_dir }}/bin/tikv-server" dest="{{ tidb_check_dir }}/" mode=0755 backup=yes

- name: Check TiKV config
shell: cd {{ tidb_check_dir }} && ./tikv-server --pd-endpoints pd:port --config ./tikv.toml --config-check
register: tikv_check_result

- name: Check result
fail:
msg: "TiKV config error"
when: "'successful' not in tikv_check_result.stdout"
19 changes: 19 additions & 0 deletions roles/check_config/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---

- set_fact:
tidb_check_dir: "/tmp/tidb_check_config"

- name: Create temporary check directory
file: name={{ tidb_check_dir }} state=directory

- name: Check PD config
include_tasks: check_pd_config.yml

- name: Check TiKV config
include_tasks: check_tikv_config.yml

- name: Check TiDB config
include_tasks: check_tidb_config.yml

- name: Delete temporary check directory
file: name={{ tidb_check_dir }} state=absent
7 changes: 7 additions & 0 deletions rolling_update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,13 @@
- current_version.stdout_lines[0].replace(' ','').split(':')[1] < "v2.0.1"
- tidb_version >= "v2.1.0" or tidb_version == "latest"

- name: Pre-check for configuration
hosts: pd_servers[0]
tags:
- check_config
roles:
- check_config

- hosts: pd_servers[0]
any_errors_fatal: true
serial: 1
Expand Down