This patch adds the management of the new `products` metadata key in the validation playbooks. We can now filter the validations by their groups, by their categories or by their products while listing or running them. The `list` sub command has now a new --product argument. When filtering by groups, by categories or by products (see the example below), the `list` sub command will return all the validation playbooks belonging to the 'prep' group OR all the validation playbooks belonging to the 'os' and/or 'system' categories OR all the validation playbooks to the 'tripleo' product: $ validation list -h $ validation list --group prep --category os,system --product tripleo The `run` sub command has also its new --product argument. Note that this new argument is mutually exclusive with the --validation, --group and --category arguments: $ validation run -h $ validation run --product tripleo --inventory /etc/ansible/hosts The `show parameter` sub command has the same new argument which is also mutually exclusive with the --validation, --group and the --category arguments: $ validation show parameter -h $ validation show parameter --product tripleo Change-Id: Ief13e506c2bee18da47b31f1c2d5c0dbb1ad1ecf Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
validations-libs
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.
- Free software: Apache_license
- Documentation: https://docs.openstack.org/validations-libs/latest/
- Source: https://opendev.org/openstack/validations-libs
- Bugs - Upstream: https://bugs.launchpad.net/tripleo/+bugs?field.tag=validations
- Bugs - Downstream: https://bugzilla.redhat.com/buglist.cgi?component=validations-libs&product=Red%20Hat%20OpenStack
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