Properly handle dependencies when running tests locally
Using run-local-test locally can cause issue depending on your local environment setup. For example, the script assumes you have ansible installed. If you do, you'll hit issues when you start running molecule tests that look like this: original message: template error while templating string: no filter named 'molecule_from_yaml'. String: {{ lookup('file', molecule_file) | molecule_from_yaml }} This is because ansible and/or molecule is installed outside of the virtualenv (${HOME}/test-python). If we remove ansible/molecule, then run-local-test is going to fail because it doesn't have ansible available to it to kick everything off in run-local-test. This isn't a problem with zuul since zuul nodes have ansible installed already (and it doesn't use run-local-test as the test entry point). This commit attempts to work around the problem by installing basic dependencies (molecule-requirements.txt) in run-local-test. This is slightly redundant with zuul.d/playbooks/pre.yml but we need to support both cases for zuul and local development. Change-Id: Ic6b6c3dabd8774827e366d3177c9b6c4f21d13b1
This commit is contained in:
parent
05e402a8d2
commit
5b94e15b6b
@ -1,2 +1,3 @@
|
||||
ansible
|
||||
docker
|
||||
molecule>=3.0,<3.1
|
||||
|
@ -20,6 +20,19 @@ set -xeo
|
||||
|
||||
export ANSIBLE_ROLES_PATH="${ANSIBLE_ROLES_PATH}:${HOME}/zuul-jobs/roles"
|
||||
export PROJECT_DIR="$(dirname $(readlink -f ${BASH_SOURCE[0]}))/../"
|
||||
export UPPER_CONSTRAINTS_FILE=${UPPER_CONSTRAINTS_FILE:-"https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt"}
|
||||
|
||||
function run_pip {
|
||||
"${HOME}/test-python/bin/pip" install \
|
||||
-c "${UPPER_CONSTRAINTS_FILE}" \
|
||||
-r "${PROJECT_DIR}/molecule-requirements.txt" ${@:-}
|
||||
}
|
||||
|
||||
# Create a virtual environment and install dependencies
|
||||
PYTHON_EXEC=$(command -v python3 || command -v python)
|
||||
"${PYTHON_EXEC}" -m virtualenv --system-site-packages "${HOME}/test-python"
|
||||
run_pip
|
||||
|
||||
|
||||
ansible-playbook -i "${PROJECT_DIR}/tests/hosts.ini" \
|
||||
-e "tripleo_src=$(realpath --relative-to="${HOME}" "${PROJECT_DIR}")" \
|
||||
|
Loading…
x
Reference in New Issue
Block a user