Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ tests:
EXTRA_FLAGS: --churn-duration=20m --pod-ready-threshold=20s --service-latency
IGNORE_JOB_ITERATIONS: "true"
OUTPUT_FORMAT: JUNIT
RUN_ORION: "true"
RUN_ORION: deferred
Comment thread
mohit-sheth marked this conversation as resolved.
UDN_ITERATION_MULTIPLIER: "12"
VERSION: "4.21"
ZONES_COUNT: "3"
Expand All @@ -46,7 +46,7 @@ tests:
env:
ES_TYPE: qe
OUTPUT_FORMAT: JUNIT
RUN_ORION: "true"
RUN_ORION: deferred
VERSION: "4.21"
test:
- chain: openshift-qe-orion-consolidated
Expand All @@ -55,7 +55,7 @@ tests:
steps:
cluster_profile: aws-perfscale-qe
env:
RUN_ORION: "true"
RUN_ORION: deferred
VERSION: "4.19"
test:
- chain: openshift-qe-orion-consolidated-virt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ tests:
--churn-cycles=2
ND_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 --churn-cycles=2
OUTPUT_FORMAT: JUNIT
RUN_ORION: "true"
RUN_ORION: deferred
UDN_ITERATION_MULTIPLIER: "12"
VERSION: "4.21"
ZONES_COUNT: "3"
Expand Down Expand Up @@ -185,6 +185,7 @@ tests:
COMPUTE_NODE_TYPE: m5.xlarge
ENABLE_LAYER_3: "true"
KB_FLAGS: --local-indexing
RUN_ORION: deferred
UDN_ITERATION_MULTIPLIER: "3"
VERSION: "4.21"
post:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ tests:
--churn-cycles=2
ND_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 --churn-cycles=2
OUTPUT_FORMAT: JUNIT
RUN_ORION: "true"
RUN_ORION: deferred
UDN_ITERATION_MULTIPLIER: "12"
VERSION: "4.22"
ZONES_COUNT: "3"
Expand Down Expand Up @@ -296,6 +296,7 @@ tests:
COMPUTE_NODE_TYPE: m5.xlarge
ENABLE_LAYER_3: "true"
KB_FLAGS: --local-indexing
RUN_ORION: deferred
UDN_ITERATION_MULTIPLIER: "3"
VERSION: "4.22"
post:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ tests:
--churn-cycles=2
ND_EXTRA_FLAGS: --churn-mode=objects --churn-delay=1m --churn-percent=50 --churn-cycles=2
OUTPUT_FORMAT: JUNIT
RUN_ORION: "true"
RUN_ORION: deferred
UDN_ITERATION_MULTIPLIER: "12"
VERSION: "5.0"
ZONES_COUNT: "3"
Expand Down Expand Up @@ -172,6 +172,7 @@ tests:
COMPUTE_NODE_TYPE: m5.xlarge
ENABLE_LAYER_3: "true"
KB_FLAGS: --local-indexing
RUN_ORION: deferred
UDN_ITERATION_MULTIPLIER: "3"
Comment thread
mohit-sheth marked this conversation as resolved.
VERSION: "5.0"
post:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ tests:
CONFIG: config/standard-scalelab.yml
INFRA: "true"
PUBLIC_VLAN: "false"
RUN_ORION: "true"
RUN_ORION: deferred
VERSION: "4.19"
VM: "true"
post:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ tests:
steps:
cluster_profile: metal-perfscale-cpt
env:
RUN_ORION: "true"
RUN_ORION: deferred
VERSION: "4.19"
test:
- chain: openshift-qe-orion-consolidated-virt
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ chain:
- chain: openshift-qe-udn-density-pods
documentation: |-
This chain executes cluster density v2, node density-cni, crd-scale, node-density, and udn density workloads.

Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ chain:
- ref: openshift-qe-orion-virt-data-path
- ref: openshift-qe-orion-virt-density
- ref: openshift-qe-orion-virt-udn-density
- ref: openshift-qe-orion-report
documentation: |-
Chain of all orion virtualization workloads.
Chain of all orion virt workloads with aggregated summary reporting.
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ chain:
- ref: openshift-qe-orion-node-density
- ref: openshift-qe-orion-node-density-cni
- ref: openshift-qe-orion-crd-scale
- ref: openshift-qe-orion-report
documentation: |-
Chain of all orion workloads.
Chain of all orion workloads with aggregated summary reporting.
Original file line number Diff line number Diff line change
Expand Up @@ -305,4 +305,9 @@ if [ $orion_exit_status -eq 3 ]; then
exit 0
fi

if [ "${RUN_ORION}" == "deferred" ]; then
echo "RUN_ORION=deferred. Exit status $orion_exit_status deferred to report step."
exit 0
fi

exit $orion_exit_status
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ ref:
default: ""
documentation:
Comma separated list of repositories to monitor before and after change points.

commands: openshift-qe-orion-commands.sh
timeout: 6h
credentials:
Expand Down
4 changes: 4 additions & 0 deletions ci-operator/step-registry/openshift-qe/orion/report/OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
approvers:
- perfscale-ocp-approvers
reviewers:
- perfscale-ocp-reviewers
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
#!/bin/bash
set -x
set -euo pipefail

if [ "${RUN_ORION}" == "false" ]; then
echo "RUN_ORION is false, skipping report."
exit 0
fi

# Fetch deferred JSON results from previous steps' GCS artifacts
GCS_BUCKET="gs://test-platform-results"
GCS_BASE=""

case "${JOB_TYPE:-}" in
presubmit)
if [[ -n "${REPO_OWNER:-}" && -n "${REPO_NAME:-}" && -n "${PULL_NUMBER:-}" && -n "${JOB_NAME:-}" && -n "${BUILD_ID:-}" ]]; then
GCS_BASE="${GCS_BUCKET}/pr-logs/pull/${REPO_OWNER}_${REPO_NAME}/${PULL_NUMBER}/${JOB_NAME}/${BUILD_ID}/artifacts"
fi
;;
periodic)
if [[ -n "${JOB_NAME:-}" && -n "${BUILD_ID:-}" ]]; then
GCS_BASE="${GCS_BUCKET}/logs/${JOB_NAME}/${BUILD_ID}/artifacts"
fi
;;
esac

if [[ -z "$GCS_BASE" ]]; then
echo "Could not determine GCS artifacts path. Skipping report."
exit 0
fi

echo "Fetching deferred orion JSONs from GCS: ${GCS_BASE}"
mkdir -p /tmp/orion-jsons
gsutil -m cp "${GCS_BASE}/*/openshift-qe-orion-*/artifacts/junit_*.json" /tmp/orion-jsons/ 2>/dev/null || true

shopt -s nullglob
json_files=(/tmp/orion-jsons/junit*.json)
shopt -u nullglob

if [ ${#json_files[@]} -eq 0 ]; then
echo "No deferred orion JSON results found in GCS."
exit 0
fi

# Copy JSONs to ARTIFACT_DIR for archival
cp "${json_files[@]}" "${ARTIFACT_DIR}/" 2>/dev/null || true

# Set up Python environment and install orion
python --version
pushd /tmp
python -m virtualenv ./venv_report
source ./venv_report/bin/activate

if [[ $TAG == "latest" ]]; then
LATEST_TAG=$(curl -s "https://api.github.com/repos/cloud-bulldozer/orion/releases/latest" | jq -r '.tag_name')
else
LATEST_TAG=$TAG
fi
git clone --branch "$LATEST_TAG" "$ORION_REPO" --depth 1
pushd orion
pip install -r requirements.txt
pip install .
popd && popd

# Build comma-separated file list for orion --report
json_file_list=""
for f in "${json_files[@]}"; do
json_file_list="${json_file_list:+${json_file_list},}${f}"
done

# Run orion report on all deferred JSONs
# orion --report exits 2 if regressions found, 0 otherwise
set +e
orion --report "$json_file_list" | tee "${ARTIFACT_DIR}/orion-report-summary.txt"
report_exit=$?
set -e

if [ "$report_exit" -eq 2 ]; then
echo "Orion report detected regressions."
exit 1
fi

exit "$report_exit"
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"path": "openshift-qe/orion/report/openshift-qe-orion-report-ref.yaml",
"owners": {
"approvers": [
"perfscale-ocp-approvers"
],
"reviewers": [
"perfscale-ocp-reviewers"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
ref:
as: openshift-qe-orion-report
from_image:
namespace: ci
name: ocp-qe-perfscale-ci
tag: latest
env:
- name: ORION_REPO
default: "https://github.com/cloud-bulldozer/orion.git"
documentation:
Orion github repository to clone for report generation.
- name: TAG
default: "latest"
documentation:
Orion version/tag to clone.
- name: RUN_ORION
default: "false"
documentation:
When false, the report step is skipped. Set to deferred at test level to enable deferred failure reporting.
commands: openshift-qe-orion-report-commands.sh
timeout: 30m
resources:
requests:
cpu: 100m
memory: 100Mi
documentation: >-
Aggregates deferred orion regression results from SHARED_DIR using
orion --report to produce a consolidated regression report. Must be
used as the last step in an orion chain when RUN_ORION is set to deferred.
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ workflow:
steps:
test:
- chain: openshift-qe-udn-density-pods
- ref: openshift-qe-orion-report
documentation: |-
This workflow executes udn-density-pods workload.
This workflow executes udn-density-pods workload and Orion change detection with summary reporting.