+echo "Info: Install pip==$ENGINE_PIP_VERSION ansible==$ENGINE_ANSIBLE_VERSION and ansible-lint==$ENGINE_ANSIBLE_LINT_VERSION"
+echo "----------------------------------------------------"
+
+# install pip, ansible, and ansible-lint in venv
+export ANSIBLE_VENV=$WORKSPACE/.venv
+virtualenv -p python3 --quiet --no-site-packages ${ANSIBLE_VENV}
+source ${ANSIBLE_VENV}/bin/activate
+pip -q install --upgrade pip==$ENGINE_PIP_VERSION
+pip -q install --upgrade virtualenv pip setuptools shade \
+ ansible==$ENGINE_ANSIBLE_VERSION ansible-lint==$ENGINE_ANSIBLE_LINT_VERSION
+
+echo "----------------------------------------------------"
+echo "Info: Done"
+echo "Info: Run ansible-lint on playbooks"
+echo "----------------------------------------------------"
+
+# set exit_code so we exit ourselves rather than ansible-lint bailing out without
+# verifying all the playbooks
+declare -i exit_code=0
+
+# lint the playbooks
+cd $WORKSPACE/engine
+for playbook in $(find . -type f -name *.yml | sort); do
+ echo "--> Checking '${playbook}' playbook..."
+ ansible-lint --nocolor ${playbook}
+ lint_exit_code=$?
+ if [[ $lint_exit_code != 0 ]]; then
+ exit_code=$lint_exit_code
+ else
+ echo [OK]
+ fi
+ echo
+done
+echo "----------------------------------------------------"
+echo "Info: Done"
+exit $exit_code