test-prow-e2e.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/usr/bin/env bash
  2. set -exuo pipefail
  3. ARTIFACT_DIR=${ARTIFACT_DIR:=/tmp/artifacts}
  4. SCREENSHOTS_DIR=integration-tests/screenshots
  5. INSTALLER_DIR=${INSTALLER_DIR:=${ARTIFACT_DIR}/installer}
  6. function copyArtifacts {
  7. oc cluster-info dump > ${ARTIFACT_DIR}/cluster_info.json
  8. oc get secrets -A -o wide > ${ARTIFACT_DIR}/secrets.yaml
  9. oc get secrets -A -o yaml >> ${ARTIFACT_DIR}/secrets.yaml
  10. oc get catalogsource -A -o wide > ${ARTIFACT_DIR}/catalogsource.yaml
  11. oc get catalogsource -A -o yaml >> ${ARTIFACT_DIR}/catalogsource.yaml
  12. oc get subscriptions -n ${NS} -o wide > ${ARTIFACT_DIR}/subscription_details.yaml
  13. oc get subscriptions -n ${NS} -o yaml >> ${ARTIFACT_DIR}/subscription_details.yaml
  14. oc get csvs -n ${NS} -o wide > ${ARTIFACT_DIR}/csvs.yaml
  15. oc get csvs -n ${NS} -o yaml >> ${ARTIFACT_DIR}/csvs.yaml
  16. oc get deployments -n ${NS} -o wide > ${ARTIFACT_DIR}/deployment_details.yaml
  17. oc get deployments -n ${NS} -o yaml >> ${ARTIFACT_DIR}/deployment_details.yaml
  18. oc get installplan -n ${NS} -o wide > ${ARTIFACT_DIR}/installplan.yaml
  19. oc get installplan -n ${NS} -o yaml >> ${ARTIFACT_DIR}/installplan.yaml
  20. oc get nodes -o wide > ${ARTIFACT_DIR}/node.yaml
  21. oc get nodes -o yaml >> ${ARTIFACT_DIR}/node.yaml
  22. for pod in `oc get pods -n ${NS} --no-headers -o custom-columns=":metadata.name"; do
  23. echo $pod
  24. oc logs $pod -n ${NS} > ${ARTIFACT_DIR}/${pod}.logs
  25. done
  26. oc get serviceaccounts -n ${NS} -o wide > ${ARTIFACT_DIR}/serviceaccount.yaml
  27. oc get serviceaccounts -n ${NS} -o yaml >> ${ARTIFACT_DIR}/serviceaccount.yaml
  28. oc get console.v1.operator.openshift.io cluster -o yaml >> ${ARTIFACT_DIR}/cluster.yaml
  29. if [ -d "$ARTIFACT_DIR" ] && [ -d "$SCREENSHOTS_DIR" ]; then
  30. if [[ -z "$(ls -A -- "$SCREENSHOTS_DIR")" ]]; then
  31. echo "No artifacts were copied."
  32. else
  33. echo "Copying artifacts from $(pwd)..."
  34. cp -r "$SCREENSHOTS_DIR" "${ARTIFACT_DIR}/screenshots"
  35. fi
  36. fi
  37. }
  38. trap copyArtifacts EXIT
  39. # don't log kubeadmin-password
  40. set +x
  41. BRIDGE_KUBEADMIN_PASSWORD="$(cat "${KUBEADMIN_PASSWORD_FILE:-${INSTALLER_DIR}/auth/kubeadmin-password}")"
  42. export BRIDGE_KUBEADMIN_PASSWORD
  43. set -x
  44. BRIDGE_BASE_ADDRESS="$(oc get consoles.config.openshift.io cluster -o jsonpath='{.status.consoleURL}')"
  45. export BRIDGE_BASE_ADDRESS
  46. echo "Install dependencies"
  47. if [ ! -d node_modules ]; then
  48. yarn install
  49. fi
  50. echo "Runs Cypress tests in headless mode"
  51. yarn run test-cypress-headless