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

Commit

Permalink
Add jmespath/jinja2 precheck and pump parameters (#807)
Browse files Browse the repository at this point in the history
* Add jmespath and jinja2 precheck (#802)

* Add parameters to pump config (#805)
  • Loading branch information
liubo0127 authored Jul 3, 2019
1 parent d9558c2 commit aeaafa5
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 0 deletions.
5 changes: 5 additions & 0 deletions conf/pump.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,8 @@ security:
storage:
# Set to true (by default) to guarantee reliability by ensuring binlog data is flushed to the disk.
# sync-log: true

# stop write when disk available space less than the configured size
# 42 MB -> 42000000, 42 mib -> 44040192
# default: 10 gib
# stop-write-at-available-space = "10 gib"
39 changes: 39 additions & 0 deletions roles/check_system_static/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,3 +64,42 @@
fail:
msg: "It is not recommended to set vm.overcommit_memory to 2, set it to 0 or 1."
when: vm_overcommit_memory.stdout | int == 2

- name: Check ansible version
fail:
msg: "Stop if ansible version is too low, make sure that the Ansible version is 2.4.2 or later, otherwise a compatibility issue occurs. Current ansible version is {{ ansible_version.full }}"
when: ansible_version.full | version_compare('2.4.2', '<')

- name: Get if jmespath info[1]
shell: pip list | grep -iw jmespath | wc -l
register: jmespath_exist

- name: Get if jinja2 exist[1]
shell: pip list | grep -iw jinja2 | wc -l
register: jinja2_exist

- name: Preflight check - Fail when jmespath or jinja2 doesn't exist
fail:
msg: "Jmespath or Jinja2 does not exist, Please run `pip install -r requirements.txt` to install."
when: jmespath_exist.stdout | int == 0 or jinja2_exist.stdout | int == 0

- name: Get jmespath info[2]
shell: pip show jmespath | grep Version |grep -v Metadata-Version
register: jmespath

- name: Get jmespath version
set_fact:
jmespath_version: "{{ jmespath.stdout_lines[0] | replace('Version: ', '') }}"

- name: Get jinja2 info[2]
shell: pip show jinja2 | grep Version |grep -v Metadata-Version
register: jinja2

- name: Get jinja2 version
set_fact:
jinja2_version: "{{ jinja2.stdout_lines[0] | replace('Version: ', '') }}"

- name: Preflight check - Fail when the versions of jmespath and jinja2 doesn't meet the requirements
fail:
msg: "Jmespath({{ jmespath_version }}) or jinja2({{ jinja2_version }}) version is too low, Please run `pip install --upgrade -r requirements.txt` to upgrade."
when: jmespath_version | version_compare('0.9.0', '<') or jinja2_version | version_compare('2.9.6', '<')
5 changes: 5 additions & 0 deletions roles/pump/vars/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,8 @@ security:
storage:
# Set to true (by default) to guarantee reliability by ensuring binlog data is flushed to the disk.
# sync-log: true

# stop write when disk available space less than the configured size
# 42 MB -> 42000000, 42 mib -> 44040192
# default: 10 gib
# stop-write-at-available-space = "10 gib"

0 comments on commit aeaafa5

Please sign in to comment.