Browse Source

put the ansible requirements in a separate file

pull/50/head
Nicolas Massé 7 years ago
parent
commit
9af9c63425
  1. 6
      tasks/install_prerequisites.yaml
  2. 1
      tasks/main.yml
  3. 47
      tasks/steps/ansible_requirements.yml
  4. 46
      tasks/steps/requirements.yml

6
tasks/install_prerequisites.yaml

@ -0,0 +1,6 @@
---
- import_tasks: steps/ansible_requirements.yml
- include_tasks: steps/install_goswagger.yml
vars:
threescale_cicd_local_bin_path: /usr/local/bin

1
tasks/main.yml

@ -2,6 +2,7 @@
# Make sure we have everything we need to run this playbook # Make sure we have everything we need to run this playbook
- import_tasks: steps/requirements.yml - import_tasks: steps/requirements.yml
- import_tasks: steps/ansible_requirements.yml
# Validate the API definition against the Swagger 2.0 / OAS 3.0 # Validate the API definition against the Swagger 2.0 / OAS 3.0
- include_tasks: steps/validate_openapi.yml - include_tasks: steps/validate_openapi.yml

47
tasks/steps/ansible_requirements.yml

@ -0,0 +1,47 @@
---
- name: Verify that Ansible version is >= 2.4
assert:
that: "ansible_version.full is version_compare('2.4', '>=')"
msg: This module requires at least Ansible 2.4
- name: Check if jmespath is installed locally
debug: msg={{dummy|json_query('@')}}
register: check_jmespath
ignore_errors: yes
vars:
dummy: Hello World
- name: Check if jinja 2.8 is installed locally
debug: msg={{(dummy|selectattr("id", "equalto", "hello")|first)['value']}}
vars:
dummy:
- id: hello
value: Hello World
register: check_jinja28
ignore_errors: yes
- name: Check if the "do" jinja extension is enabled
debug: msg={% do {}.update({}) %}{{ success }}
vars:
success: 'The do extension is enabled'
register: check_jinja_do_ext
ignore_errors: yes
- assert:
that:
- 'check_jmespath is success'
msg: "The JMESPath library is required by this role. Please install the JMESPath library with 'pip install jmespath'."
- assert:
that:
- 'check_jinja28 is success'
msg: "At least Jinja v2.8 is required by this role. Please update Jinja with 'pip install -U Jinja2'."
- assert:
that:
- 'check_jinja_do_ext is success'
msg: |-
You need to enable the 'do' extension of Jinja in your ansible.cfg:
[default]
jinja2_extensions = jinja2.ext.do

46
tasks/steps/requirements.yml

@ -16,49 +16,3 @@
- threescale_cicd_openapi_file_format|upper == 'JSON' or threescale_cicd_openapi_file_format|upper == 'YAML' - threescale_cicd_openapi_file_format|upper == 'JSON' or threescale_cicd_openapi_file_format|upper == 'YAML'
msg: |- msg: |-
The threescale_cicd_openapi_file_format parameter needs to be either 'JSON' or 'YAML' The threescale_cicd_openapi_file_format parameter needs to be either 'JSON' or 'YAML'
- name: Verify that Ansible version is >= 2.4
assert:
that: "ansible_version.full is version_compare('2.4', '>=')"
msg: This module requires at least Ansible 2.4
- name: Check if jmespath is installed locally
debug: msg={{dummy|json_query('@')}}
register: check_jmespath
ignore_errors: yes
vars:
dummy: Hello World
- name: Check if jinja 2.8 is installed locally
debug: msg={{(dummy|selectattr("id", "equalto", "hello")|first)['value']}}
vars:
dummy:
- id: hello
value: Hello World
register: check_jinja28
ignore_errors: yes
- name: Check if the "do" jinja extension is enabled
debug: msg={% do {}.update({}) %}{{ success }}
vars:
success: 'The do extension is enabled'
register: check_jinja_do_ext
ignore_errors: yes
- assert:
that:
- 'check_jmespath is success'
msg: "The JMESPath library is required by this role. Please install the JMESPath library with 'pip install jmespath'."
- assert:
that:
- 'check_jinja28 is success'
msg: "At least Jinja v2.8 is required by this role. Please update Jinja with 'pip install -U Jinja2'."
- assert:
that:
- 'check_jinja_do_ext is success'
msg: |-
You need to enable the 'do' extension of Jinja in your ansible.cfg:
[default]
jinja2_extensions = jinja2.ext.do

Loading…
Cancel
Save