mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dce445f956
Print out the data that fails to validate when doing schema checking on modules This allows easier interpretation of error messages. From: ``` ERROR: DOCUMENTATION.notes.2: expected basestring ``` To: ``` ERROR: DOCUMENTATION.notes.2: expected basestring @ data['notes'][2]. Got {"As with C(include) this task can be static or dynamic, If static it implies that it won't need templating nor loops nor conditionals and will show included tasks in the --list options. Ansible will try to autodetect what is needed, but you can set `static": 'yes|no` at task level to control this.'} ``` |
8 years ago | |
---|---|---|
.. | ||
README.rst | 8 years ago | |
__init__.py | 8 years ago | |
module_args.py | 8 years ago | |
schema.py | 8 years ago | |
skip.txt | 8 years ago | |
test_validate_modules_regex.py | 8 years ago | |
utils.py | 8 years ago | |
validate-modules | 8 years ago |
README.rst
validate-modules ================ Python program to help test or validate Ansible modules. Originally developed by Matt Martz (@sivel) Usage ~~~~~ .. code:: shell cd /path/to/ansible/source source hacking/env-setup test/sanity/validate-modules/validate-modules /path/to/modules Help ~~~~ .. code:: shell usage: validate-modules [-h] [-w] [--exclude EXCLUDE] modules positional arguments: modules Path to module or module directory optional arguments: -h, --help show this help message and exit -w, --warnings Show warnings --exclude EXCLUDE RegEx exclusion pattern Current Validations =================== Modules ~~~~~~~ Errors ^^^^^^ #. Interpreter line is not ``#!/usr/bin/python`` #. ``main()`` not at the bottom of the file #. Module does not import ``ansible.module_utils.basic`` #. Missing ``DOCUMENTATION`` #. Documentation is invalid YAML #. Invalid schema for ``DOCUMENTATION`` #. Missing ``EXAMPLES`` #. Invalid Python Syntax #. Tabbed indentation #. Use of ``sys.exit()`` instead of ``exit_json`` or ``fail_json`` #. Missing GPLv3 license header in module #. PowerShell module missing ``WANT_JSON`` #. PowerShell module missing ``POWERSHELL_COMMON`` #. New modules have the correct ``version_added`` #. New arguments have the correct ``version_added`` #. Modules should not import requests, instead use ``ansible.module_utils.urls`` #. Missing ``RETURN`` for new modules #. Use of ``type()`` for type comparison instead of ``isinstance()`` Warnings ^^^^^^^^ #. Try/Except ``HAS_`` expression missing #. Missing ``RETURN`` for existing modules #. ``import json`` found #. Module contains duplicate globals from basic.py Module Directories (Python Packages) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #. Missing ``__init__.py``