cloud-infra: Enable non-voting yamllint job for yaml files
[infra/cicd.git] / jjb / cloud-infra / scripts / cloud-infra-ansible-lint.sh
index df2c1e707097b1a50f9f228086e2a4aed49bfd2d..03f32ee63eea51737a6fced1c30d6758d0f31914 100644 (file)
@@ -27,6 +27,9 @@ sudo apt update > /dev/null 2>&1
 sudo apt install -y -q=3 gcc libffi-dev libssl-dev lsb-release libpython3-dev \
     python3-minimal python3-pip python3-yaml virtualenv > /dev/null 2>&1
 
+# override ENGINE_ANSIBLE_LINT_VERSION locally while ansible-lint patch is still open
+export ENGINE_ANSIBLE_LINT_VERSION=4.1.0
+
 cd $WORKSPACE
 echo "Info: Install pip==$ENGINE_PIP_VERSION ansible==$ENGINE_ANSIBLE_VERSION and ansible-lint==$ENGINE_ANSIBLE_LINT_VERSION"
 echo "----------------------------------------------------"
@@ -44,27 +47,22 @@ echo "Info: Done"
 echo "Info: Run ansible-lint on playbooks"
 echo "----------------------------------------------------"
 
-# the locations of the engine playbooks
-playbooks_dir=(engine/playbooks engine/provisioner/bifrost/playbooks engine/provisioner/heat/playbooks \
-    engine/installer/kolla/playbooks engine/installer/kubespray/playbooks)
-
 # 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
-for dir in ${playbooks_dir[@]}; do
-  for play in $(ls ${WORKSPACE}/${dir}/*.yml); do
-    echo "--> Checking '${play}' playbook..."
-    ansible-lint --nocolor ${play}
-    lint_exit_code=$?
-    if [[ $lint_exit_code != 0 ]]; then
-        exit_code=$lint_exit_code
-    else
-        echo [OK]
-    fi
-    echo
-  done
+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"