A collection of python libraries for the Validation Framework
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Jiri Podivin 7d416acbe8 Default value of the constructor parameter 4 months ago
doc Add validation config file mechanism 2 months ago
dockerfiles/localvalidations Docker image refinement and preparation for future development. 8 months ago
playbooks fix var name in logging statement 4 months ago
releasenotes Moving doc structure closer to that in validations-commons. 8 months ago
validations_libs Default value of the constructor parameter 2 weeks ago
.coveragerc Make the measuring code coverage test working 10 months ago
.dockerignore Docker image refinement and preparation for future development. 8 months ago
.gitignore Make the measuring code coverage test working 10 months ago
.gitreview Improve the way we log on the file system 2 years ago
.pre-commit-config.yaml Bump pre-commit repositories 6 months ago
.reqcheck_override.yaml Reqcheck job for upstream validations-libs 5 months ago
.stestr.conf Make the measuring code coverage test working 10 months ago
.zuul.yaml Triggering the 'tripleo-ci-centos-8-undercloud-containers' 3 months ago
CONTRIBUTING.rst Moving doc structure closer to that in validations-commons. 8 months ago
Dockerfile Docker image refinement and preparation for future development. 8 months ago
LICENSE Initial commit 2 years ago
MANIFEST.in Adding the foundation files 2 years ago
README.rst Expose skip list mechanism via the CLI 2 weeks ago
Vagrantfile.centos improve vagrant functionality 3 months ago
Vagrantfile.ubuntu improve vagrant functionality 3 months ago
bindep.txt Add missing font for PDF generation 3 months ago
requirements.txt Filling license info for Ansible and Pyflakes 4 months ago
setup.cfg Add validation config file mechanism 2 months ago
setup.py Adding the foundation files 2 years ago
skiplist-example.yaml Expose skip list mechanism via the CLI 2 weeks ago
test-requirements.txt Filling license info for Ansible and Pyflakes 4 months ago
tox.ini Setting language for the python3.6 tox environment 2 months ago
validation.cfg Add validation config file mechanism 2 months ago

README.rst

validations-libs

image

A collection of python libraries for the Validation Framework

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.

Development Environment Setup

Vagrantfiles for CentOS and Ubuntu have been provided for convenience; simply copy one into your desired location and rename to Vagrantfile, then run:

vagrant up

Once complete you will have a clean development environment ready to go for working with Validation Framework.

podman Quickstart

A Dockerfile is provided at the root of the Validations Library project in order to quickly set and hack the Validation Framework, on a equivalent of a single machine. Build the container from the Dockerfile by running:

podman build -t "vf:dockerfile" .

From the validations-libs repo directory.

Note

More complex images are available in the dockerfiles directory and require explicit specification of both build context and the Dockerfile.

Since the podman build uses code sourced from the buildah project to build container images. It is also possible to build an image using:

buildah bud -t "vf:dockerfile" .

Then you can run the container and start to run some builtin Validations:

podman run -ti vf:dockerfile /bin/bash

Then run validations:

validation.py run --validation check-ftype,512e --inventory /etc/ansible/hosts

Skip list

You can provide a file with a list of Validations to skip via the run command:

validation.py run --validation check-ftype,512e --inventory /etc/ansible/hosts --skiplist my-skip-list.yaml

This file should be formed as:

validation-name:
  hosts: targeted_hostname
  reason: reason to ignore the file
  lp: bug number

The framework will skip the validation against the hosts key. In order to skip the validation on every hosts, you can set all value such as:

hosts: all

If no hosts key is provided for a given validation, it will be considered as hosts: all.

Note

The reason and lp key are for tracking and documentation purposes, the framework won't use those keys.