CI task for execution of all packaged validations

Task 'execute_full_catalogue' invokes validation command
with list of validations constituting entirety of the existing catalogue.

Validations that are to be executed are listed in the variables
fail of the 'validations' role.

Removal of the validation from the list has to be accompanied by
placement of the aformentioned validation in the commented form
beneath the list. With a concise reasoning as to why was it removed.

Signed-off-by: Jiri Podivin <jpodivin@redhat.com>
Change-Id: Iea16cdc46db53cb290f7d31436864436fd31dd40
This commit is contained in:
Jiri Podivin 2021-11-08 16:52:39 +01:00
parent 7c2026616b
commit 464b70dabe
4 changed files with 109 additions and 0 deletions

View File

@ -16,3 +16,4 @@ validation_component: "{{ job.component|default('validation') }}"
# calls.
cli_command: "validation"
run_validation: true
execute_full_vf_catalogue: "{{ job.execute_full_vf_catalogue|default(false)|bool }}"

View File

@ -0,0 +1,15 @@
---
# Execute entire Validations Framework catalogue as provided
# by the validations-common and tripleo-validations packages.
# This task is intended to be used only by the RDO CI component pipeline.
# Executing it anywhere else might lead to unforseen consequences.
- name: Run validations catalogue
shell:
cmd: >-
{{ validation_command }} run --validation {{ validation_catalogue.full_list | join(",") }}
{{ validation_dir }} {{ ansible_dir }}
--inventory {{ inventory }}
--output-log validation_catalogue_execution.log
{{ validation_catalogue.extra_args }}
{{ validation_catalogue.extra_env_args }}
executable: /bin/bash

View File

@ -92,3 +92,7 @@
- run_validation|default(false)|bool
- validation_component | length > 0
with_dict: "{{ validations_list[validation_component] }}"
- name: Execute entire validations catalogue
include_tasks: execute_full_catalogue.yaml
when: execute_full_vf_catalogue

View File

@ -56,3 +56,92 @@ validation_list_formats:
- table
- value
- yaml
# Entire catalogue of validations to be executed in OVB environment
# extra_env_args and extra_args are shared for the execution
# Included validations will be sorted alphabetically.
validation_catalogue:
extra_args: "--extra-vars minimal_ram_gb=2"
extra_env_args: "{{ extra_env_vars | default('') }}"
full_list:
- 512e
- ceph-dependencies-installed
- check-cpu
- check-disk-space
- check-disk-space-pre-upgrade
- check-for-dangling-images
- check-ftype
- check-network-gateway
- check-ram
- check-selinux-mode
- container-status
- controller-token
- controller-ulimits
- ctlplane-ip-range
- dhcp-introspection
- dhcp-provisioning
- dns
- healthcheck-service-status
- image-serve
- mysql-open-files-limit
- neutron-sanity-check
- no-op
- nova-event-callback
- nova-svirt
- ntp
- openshift-nw-requirements
- openstack-endpoints
- overcloud-service-status
- rabbitmq-limits
- repos
- service-status
- tripleo-latest-packages-version
- undercloud-disk-space
- undercloud-disk-space-pre-upgrade
- undercloud-neutron-sanity-check
- undercloud-process-count
# Following validations are disabled for purposes of catalogue testing
# - ceilometerdb-size # Not present on the OVB deployment
# - system_encoding # Not present on the OVB deployment
# - ceph-ansible-installed # Not present on the OVB deployment
# - haproxy # Not present on the OVB deployment
# - no-op-firewall-nova-driver # Not present on the OVB deployment
# - containerized-undercloud-docker # Not present on the OVB deployment
# Hostname prerequisites are not met
# - ceph-health
# - ovs-dpdk-pmd-cpus-check
# General validation superceded by 'tripleo-latest-packages-version'
# - check-latest-packages-version
# Failing due to bugs
# - ceph-pg
# - check-uc-hostname
# - collect-flavors-and-verify-profiles
# - default-node-count
# - ironic-boot-configuration
# - network-environment
# - node-health
# - nova-status
# - stack-health
# - switch-vlans
# - undercloud-heat-purge-deleted
# - undercloud-tokenflush
# - validate-selinux
# Real issues detedte by validations but not relevant
# - check-rhsm-version
# - check-undercloud-conf
# - node-disks
# - openshift-hw-requirements
# - pacemaker-status
# - stonith-exists
# - tls-everywhere-post-deployment
# - tls-everywhere-pre-deployment
# - tls-everywhere-prep
# - undercloud-debug
# - undercloud-service-status