12fc1f62f3
This change resolves name collision and prevents possible issues with the loop behavior, as noted by the warning: The loop variable 'item' is already in use. You should set the `loop_var` value in the `loop_control` option for the task to something else to avoid variable collisions and unexpected behavior. https://zuul.opendev.org/t/openstack/build/ed45cae1f67343ed875b6f7126ca80c9/log/job-output.txt#3713-3717 Signed-off-by: Jiri Podivin <jpodivin@redhat.com> Change-Id: Id5990bba88f37636f3884553968dcbeb5c4ea88a |
||
---|---|---|
.config/molecule | ||
doc | ||
playbooks | ||
releasenotes | ||
roles | ||
scripts | ||
tests | ||
tools | ||
validations_common | ||
.ansible-lint | ||
.coveragerc | ||
.dockerignore | ||
.gitignore | ||
.gitreview | ||
.pre-commit-config.yaml | ||
.reqcheck_override.yaml | ||
.stestr.conf | ||
.yamllint | ||
.zuul.yaml | ||
ansible-test-env.rc | ||
bindep.txt | ||
CONTRIBUTING.rst | ||
LICENSE | ||
MANIFEST.in | ||
molecule-requirements.txt | ||
README.rst | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
Validations-common
A collection of Ansible roles and playbooks to detect and report potential issues during deployments.
The validations will help detect issues early in the deployment process and prevent field engineers from wasting time on misconfiguration or hardware issues in their environments.
- Free software: Apache_license
- Documentation: https://docs.openstack.org/validations-common/latest/
- Release notes: https://docs.openstack.org/releasenotes/validations-commons/
- Source: https://opendev.org/openstack/validations-common
- Bugs - Upstream: https://bugs.launchpad.net/tripleo/+bugs?field.tag=validations
- Bugs - Downstream: https://bugzilla.redhat.com/buglist.cgi?component=validations-common&product=Red%20Hat%20OpenStack
Installation
Recommended process
There are several different ways to install validations-common. However it is recommended to both install and use the package inside python virtual environment.
At the command line using pip.
$ pip install validations-common
Or, if you have virtualenvwrapper installed.
$ mkvirtualenv validations-common
$ pip install validations-common
Installation with package manager
Alternativelly it is possible to install validations-common using package manager.
Such as yum...
$ yum install validations-common
or the more modern dnf.
$ dnf install validations-common
Usage
Once the validations-common project has been installed, navigate to the chosen share path, usually /usr/share/ansible to access the installed roles, playbooks, and libraries.
While the validations-common can be run by itself, it nonetheless depends on Ansible and validations-libs. Therefore it isn't recommended to use only validations-common.
The validations included with validations-common are intended to be demonstrations, capable of running on most setups. But they are not meant for production environment.
Validations Callbacks
http_json callback
The callback http_json sends Validations logs and information to an HTTP server as a JSON format in order to get caught and analysed with external tools for log parsing (as Fluentd or others).
This callback inherits from validation_json the format of the logging remains the same as the other logger that the Validation Framework is using by default.
To enable this callback, you need to add it to the callback whitelist. Then you need to export your http server url and port:
export HTTP_JSON_SERVER=http://localhost
export HTTP_JSON_PORT=8989
The callback will post JSON log to the URL provided. This repository has a simple HTTP server for testing purpose under:
tools/http_server.py
The default host and port are localhost and 8989, feel free to adjust those values to your needs.