RETIRED, A collection of generic ansible playbooks for the Validation Framework
Go to file
Veronika Fisarova d00778f1cd Functional test for running validations from file
Functional tests for a change Ifc6c28003c4c2c5f3dd6198e650f9713a02dc82d

In order to use the 'validation_dir' and 'ansible_dir' parameters in the YAML file when executing the 'file' command, the original parameters 'validation_dir' and 'ansible_dir'  are changed to 'validation_dir_arg' and 'ansible_dir_arg' when using as a argument in the 'run' command.

Related-to: rhbz#2122209

Signed-off-by: Veronika Fisarova <vfisarov@redhat.com>
Change-Id: I56d974814987ef7a1cc105d4efe3123dd97f6b3e
2023-03-17 09:17:34 +01:00
.config/molecule Molecule test restoration 2022-01-19 13:17:38 +01:00
.devcontainer Improving development containerfile IDE integration 2023-01-30 14:29:14 +01:00
doc remove unicode prefix from code 2022-08-25 10:17:19 +08:00
playbooks Removing coverchange job 2022-03-16 14:33:05 +01:00
releasenotes remove unicode prefix from code 2022-08-25 10:17:19 +08:00
roles Functional test for running validations from file 2023-03-17 09:17:34 +01:00
scripts fix(molecule): Add ability to run molecule on Fedora 2022-01-19 15:23:15 +01:00
tests Molecule test restoration 2022-01-19 13:17:38 +01:00
tools removing callbacks from validations-common 2022-03-10 15:23:45 +01:00
validations_common Adding fallback mechanism to ntp validation role 2023-01-03 14:39:54 +00:00
.ansible-lint Update validations for Ansible 2.11 2021-09-10 10:59:12 +00:00
.coveragerc Cover report omits test files 2021-04-06 15:34:18 +02:00
.dockerignore Improving development containerfile IDE integration 2023-01-30 14:29:14 +01:00
.gitignore .gitignore now excludes JSON molecule logs 2021-03-31 08:38:40 +02:00
.gitreview Migrate molecule jobs from centos 7 to 8 2020-03-13 12:23:25 +01:00
.pre-commit-config.yaml Pull flake8 from Github 2022-11-16 11:11:34 +09:00
.reqcheck_override.yaml Reqcheck job for upstream validations-common 2021-05-19 15:20:08 +02:00
.stestr.conf Make the measuring code coverage test working 2021-02-08 13:25:46 +01:00
.yamllint Enabling indentation rule for yamllint. 2021-06-11 10:56:30 +02:00
.zuul.yaml Merge "Adjustment of the validations-common contribution docs" 2022-07-19 15:37:56 +00:00
ansible-collections-requirements.yml fix(molecule): Add ability to run molecule on Fedora 2022-01-19 15:23:15 +01:00
ansible-test-env.rc [Testing Infra] Apply here the improvements done to tripleo-validations 2021-04-01 10:16:07 +02:00
bindep.txt Remove python-dev from bindep 2022-11-07 11:12:09 +01:00
CONTRIBUTING.rst Adjustment of the validations-common contribution docs 2022-05-24 10:19:39 +02:00
Dockerfile Improving development containerfile IDE integration 2023-01-30 14:29:14 +01:00
LICENSE Molecule test restoration 2022-01-19 13:17:38 +01:00
MANIFEST.in Initialization of validations-common 2020-03-04 15:54:39 +01:00
molecule-requirements.txt Update validations for Ansible 2.11 2021-09-10 10:59:12 +00:00
README.rst fix(molecule): Add ability to run molecule on Fedora 2022-01-19 15:23:15 +01:00
requirements.txt Licences are now listed for all requirements. 2021-05-20 09:33:32 +00:00
setup.cfg Update python testing as per zed cycle testing runtime 2022-06-04 07:59:49 +00:00
setup.py Fix pbr installation issues 2020-03-05 10:44:48 +01:00
test-requirements.txt Molecule test restoration 2022-01-19 13:17:38 +01:00
tox.ini bump tox minversion to 4.0.0 for master 2023-01-06 15:19:47 +01:00

Validations-common

image

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.

Installation

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.

$ python3 -m pip install validations-common

Or, if you have virtualenvwrapper installed.

$ mkvirtualenv validations-common
$ python3 -m pip install validations-common

Installation with package manager

Alternatively it is possible to install validations-common using package manager.

Such as yum or dnf...

$ yum|dnf 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.

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.

Running the molecule tests

In order to run the molecule tests locally on your local machine, please follow the instructions documented in the Tripleo Validations Developers Guide.