From 20c791f81507b65d06589b0659b0e899c50eef53 Mon Sep 17 00:00:00 2001 From: Ryan Brady Date: Mon, 20 Jan 2020 17:24:11 -0500 Subject: [PATCH] Adds Search Path Override If you follow the docs for developing validations, you will find you run into an error when attempting to execute your new validation because the code is currently hard coded to search in a path in /usr/share where the packaging installs the validations. For development, you must hack the path in the script to make this work. This patch adds a simple override where a developer can export a path to the VALIDATIONS_BASEDIR environment variable and that will be used as the search path for validations. Example: cd tripleo-validations export VALIDATIONS_BASEDIR=$(pwd) Depends-On: https://review.opendev.org/#/c/706196/ Change-Id: I064c11561af67d284dcf1ab024e0d600e12a8f98 --- doc/source/readme.rst | 8 ++++++++ scripts/run-validations.sh | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/source/readme.rst b/doc/source/readme.rst index 551fca818..a23a2f873 100644 --- a/doc/source/readme.rst +++ b/doc/source/readme.rst @@ -378,6 +378,14 @@ When running it, it should output something like this:: undercloud : ok=2 changed=0 unreachable=0 failed=0 +If you run into an issue where the validation isn't found, it may be because the +run-validations.sh script is searching for it in the path where the packaging +installs validations. For development, export an environment variable named +VALIDATIONS_BASEDIR with the value of base bath of your git repo.:: + + cd /path/to/git/repo + export VALIDATIONS_BASEDIR=$(pwd) + Writing the full validation code is quite easy in this case because Ansible has done all the hard work for us already. We can use the ``ansible_memtotal_mb`` diff --git a/scripts/run-validations.sh b/scripts/run-validations.sh index 333a0c8c6..45ace9901 100755 --- a/scripts/run-validations.sh +++ b/scripts/run-validations.sh @@ -69,7 +69,7 @@ if [ ${DEBUG:-no} == "yes" ]; then ANSIBLE_DEBUG="-vvvv" fi -VALIDATIONS_BASEDIR="/usr/share/openstack-tripleo-validations" +VALIDATIONS_BASEDIR=${VALIDATIONS_BASEDIR:="/usr/share/openstack-tripleo-validations"} VAL=$(find $VALIDATIONS_BASEDIR/playbooks -type f -regex ".*playbooks\/${VALIDATION}\.y[a]?ml") if [[ -z ${VAL} ]]; then