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

Commit

Permalink
Add jmespath and jinja2 precheck (#802) (#803)
Browse files Browse the repository at this point in the history
* Add jmespath and jinja2 precheck
  • Loading branch information
liubo0127 authored Jul 2, 2019
1 parent 21d4a64 commit 000fadb
Showing 1 changed file with 39 additions and 0 deletions.
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 -i jmespath | wc -l
register: jmespath_exist

- name: Get if jinja2 exist[1]
shell: pip list | grep -i 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', '<')

0 comments on commit 000fadb

Please sign in to comment.